ARM GAS  /tmp/ccs34gJO.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, 6
  13              		.eabi_attribute 34, 1
  14              		.eabi_attribute 18, 4
  15              		.file	"stm32f3xx_hal_spi.c"
  16              		.text
  17              	.Ltext0:
  18              		.cfi_sections	.debug_frame
  19              		.file 1 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c"
  20              		.section	.text.HAL_SPI_Init,"ax",%progbits
  21              		.align	1
  22              		.global	HAL_SPI_Init
  23              		.syntax unified
  24              		.thumb
  25              		.thumb_func
  27              	HAL_SPI_Init:
  28              	.LFB130:
   1:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
   2:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   ******************************************************************************
   3:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @file    stm32f3xx_hal_spi.c
   4:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @author  MCD Application Team
   5:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief   SPI HAL module driver.
   6:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *          This file provides firmware functions to manage the following
   7:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *          functionalities of the Serial Peripheral Interface (SPI) peripheral:
   8:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *           + Initialization and de-initialization functions
   9:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *           + IO operation functions
  10:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *           + Peripheral Control functions
  11:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *           + Peripheral State functions
  12:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   ******************************************************************************
  13:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @attention
  14:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *
  15:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * Copyright (c) 2016 STMicroelectronics.
  16:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * All rights reserved.
  17:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *
  18:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * This software is licensed under terms that can be found in the LICENSE file
  19:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * in the root directory of this software component.
  20:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * If no LICENSE file comes with this software, it is provided AS-IS.
  21:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *
  22:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   ******************************************************************************
  23:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   @verbatim
  24:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   ==============================================================================
  25:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                         ##### How to use this driver #####
  26:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   ==============================================================================
  27:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     [..]
  28:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       The SPI HAL driver can be used as follows:
  29:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
  30:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       (#) Declare a SPI_HandleTypeDef handle structure, for example:
ARM GAS  /tmp/ccs34gJO.s 			page 2


  31:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           SPI_HandleTypeDef  hspi;
  32:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
  33:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       (#)Initialize the SPI low level resources by implementing the HAL_SPI_MspInit() API:
  34:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           (##) Enable the SPIx interface clock
  35:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           (##) SPI pins configuration
  36:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****               (+++) Enable the clock for the SPI GPIOs
  37:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****               (+++) Configure these SPI pins as alternate function push-pull
  38:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           (##) NVIC configuration if you need to use interrupt process
  39:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****               (+++) Configure the SPIx interrupt priority
  40:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****               (+++) Enable the NVIC SPI IRQ handle
  41:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           (##) DMA Configuration if you need to use DMA process
  42:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****               (+++) Declare a DMA_HandleTypeDef handle structure for the transmit or receive Stream
  43:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****               (+++) Enable the DMAx clock
  44:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****               (+++) Configure the DMA handle parameters
  45:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****               (+++) Configure the DMA Tx or Rx Stream/Channel
  46:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****               (+++) Associate the initialized hdma_tx(or _rx)  handle to the hspi DMA Tx or Rx hand
  47:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****               (+++) Configure the priority and enable the NVIC for the transfer complete interrupt 
  48:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
  49:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       (#) Program the Mode, BidirectionalMode , Data size, Baudrate Prescaler, NSS
  50:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           management, Clock polarity and phase, FirstBit and CRC configuration in the hspi Init str
  51:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
  52:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       (#) Initialize the SPI registers by calling the HAL_SPI_Init() API:
  53:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           (++) This API configures also the low level Hardware GPIO, CLOCK, CORTEX...etc)
  54:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****               by calling the customized HAL_SPI_MspInit() API.
  55:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****      [..]
  56:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        Circular mode restriction:
  57:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       (#) The DMA circular mode cannot be used when the SPI is configured in these modes:
  58:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           (##) Master 2Lines RxOnly
  59:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           (##) Master 1Line Rx
  60:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       (#) The CRC feature is not managed when the DMA circular mode is enabled
  61:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       (#) When the SPI DMA Pause/Stop features are used, we must use the following APIs
  62:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           the HAL_SPI_DMAPause()/ HAL_SPI_DMAStop() only under the SPI callbacks
  63:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****      [..]
  64:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        Master Receive mode restriction:
  65:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       (#) In Master unidirectional receive-only mode (MSTR =1, BIDIMODE=0, RXONLY=1) or
  66:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           bidirectional receive mode (MSTR=1, BIDIMODE=1, BIDIOE=0), to ensure that the SPI
  67:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           does not initiate a new transfer the following procedure has to be respected:
  68:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           (##) HAL_SPI_DeInit()
  69:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           (##) HAL_SPI_Init()
  70:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****      [..]
  71:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        Callback registration:
  72:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
  73:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       (#) The compilation flag USE_HAL_SPI_REGISTER_CALLBACKS when set to 1U
  74:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           allows the user to configure dynamically the driver callbacks.
  75:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           Use Functions HAL_SPI_RegisterCallback() to register an interrupt callback.
  76:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
  77:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           Function HAL_SPI_RegisterCallback() allows to register following callbacks:
  78:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             (++) TxCpltCallback        : SPI Tx Completed callback
  79:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             (++) RxCpltCallback        : SPI Rx Completed callback
  80:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             (++) TxRxCpltCallback      : SPI TxRx Completed callback
  81:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             (++) TxHalfCpltCallback    : SPI Tx Half Completed callback
  82:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             (++) RxHalfCpltCallback    : SPI Rx Half Completed callback
  83:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             (++) TxRxHalfCpltCallback  : SPI TxRx Half Completed callback
  84:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             (++) ErrorCallback         : SPI Error callback
  85:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             (++) AbortCpltCallback     : SPI Abort callback
  86:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             (++) MspInitCallback       : SPI Msp Init callback
  87:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             (++) MspDeInitCallback     : SPI Msp DeInit callback
ARM GAS  /tmp/ccs34gJO.s 			page 3


  88:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           This function takes as parameters the HAL peripheral handle, the Callback ID
  89:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           and a pointer to the user callback function.
  90:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
  91:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
  92:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       (#) Use function HAL_SPI_UnRegisterCallback to reset a callback to the default
  93:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           weak function.
  94:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           HAL_SPI_UnRegisterCallback takes as parameters the HAL peripheral handle,
  95:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           and the Callback ID.
  96:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           This function allows to reset following callbacks:
  97:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             (++) TxCpltCallback        : SPI Tx Completed callback
  98:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             (++) RxCpltCallback        : SPI Rx Completed callback
  99:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             (++) TxRxCpltCallback      : SPI TxRx Completed callback
 100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             (++) TxHalfCpltCallback    : SPI Tx Half Completed callback
 101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             (++) RxHalfCpltCallback    : SPI Rx Half Completed callback
 102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             (++) TxRxHalfCpltCallback  : SPI TxRx Half Completed callback
 103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             (++) ErrorCallback         : SPI Error callback
 104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             (++) AbortCpltCallback     : SPI Abort callback
 105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             (++) MspInitCallback       : SPI Msp Init callback
 106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             (++) MspDeInitCallback     : SPI Msp DeInit callback
 107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        [..]
 109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        By default, after the HAL_SPI_Init() and when the state is HAL_SPI_STATE_RESET
 110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        all callbacks are set to the corresponding weak functions:
 111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        examples HAL_SPI_MasterTxCpltCallback(), HAL_SPI_MasterRxCpltCallback().
 112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        Exception done for MspInit and MspDeInit functions that are
 113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        reset to the legacy weak functions in the HAL_SPI_Init()/ HAL_SPI_DeInit() only when
 114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        these callbacks are null (not registered beforehand).
 115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        If MspInit or MspDeInit are not null, the HAL_SPI_Init()/ HAL_SPI_DeInit()
 116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        keep and use the user MspInit/MspDeInit callbacks (registered beforehand) whatever the state
 117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        [..]
 119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        Callbacks can be registered/unregistered in HAL_SPI_STATE_READY state only.
 120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        Exception done MspInit/MspDeInit functions that can be registered/unregistered
 121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        in HAL_SPI_STATE_READY or HAL_SPI_STATE_RESET state,
 122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit.
 123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        Then, the user first registers the MspInit/MspDeInit user callbacks
 124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        using HAL_SPI_RegisterCallback() before calling HAL_SPI_DeInit()
 125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        or HAL_SPI_Init() function.
 126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        [..]
 128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        When the compilation define USE_HAL_PPP_REGISTER_CALLBACKS is set to 0 or
 129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        not defined, the callback registering feature is not available
 130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        and weak (surcharged) callbacks are used.
 131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****      [..]
 133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        Using the HAL it is not possible to reach all supported SPI frequency with the different SPI
 134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        the following table resume the max SPI frequency reached with data size 8bits/16bits,
 135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****          according to frequency of the APBx Peripheral Clock (fPCLK) used by the SPI instance.
 136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   @endverbatim
 138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   Additional table :
 140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        DataSize = SPI_DATASIZE_8BIT:
 142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        +-------------------------------------------------------------------------------------------
 143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |         |                | 2Lines Fullduplex   |     2Lines RxOnly    |         1Line     
 144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        | Process | Transfer mode  |---------------------|----------------------|-------------------
ARM GAS  /tmp/ccs34gJO.s 			page 4


 145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |         |                |  Master  |  Slave   |  Master   |  Slave   |  Master   |  Slave
 146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |===========================================================================================
 147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |    T    |     Polling    | Fpclk/4  | Fpclk/8  |    NA     |    NA    |    NA     |   NA  
 148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |    X    |----------------|----------|----------|-----------|----------|-----------|-------
 149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |    /    |     Interrupt  | Fpclk/4  | Fpclk/16 |    NA     |    NA    |    NA     |   NA  
 150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |    R    |----------------|----------|----------|-----------|----------|-----------|-------
 151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |    X    |       DMA      | Fpclk/2  | Fpclk/2  |    NA     |    NA    |    NA     |   NA  
 152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |=========|================|==========|==========|===========|==========|===========|=======
 153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |         |     Polling    | Fpclk/4  | Fpclk/8  | Fpclk/16  | Fpclk/8  | Fpclk/8   | Fpclk/
 154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |         |----------------|----------|----------|-----------|----------|-----------|-------
 155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |    R    |     Interrupt  | Fpclk/8  | Fpclk/16 | Fpclk/8   | Fpclk/8  | Fpclk/8   | Fpclk/
 156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |    X    |----------------|----------|----------|-----------|----------|-----------|-------
 157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |         |       DMA      | Fpclk/4  | Fpclk/2  | Fpclk/2   | Fpclk/16 | Fpclk/2   | Fpclk/
 158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |=========|================|==========|==========|===========|==========|===========|=======
 159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |         |     Polling    | Fpclk/8  | Fpclk/2  |     NA    |    NA    | Fpclk/8   | Fpclk/
 160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |         |----------------|----------|----------|-----------|----------|-----------|-------
 161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |    T    |     Interrupt  | Fpclk/2  | Fpclk/4  |     NA    |    NA    | Fpclk/16  | Fpclk/
 162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |    X    |----------------|----------|----------|-----------|----------|-----------|-------
 163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |         |       DMA      | Fpclk/2  | Fpclk/2  |     NA    |    NA    | Fpclk/8   | Fpclk/
 164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        +-------------------------------------------------------------------------------------------
 165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        DataSize = SPI_DATASIZE_16BIT:
 167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        +-------------------------------------------------------------------------------------------
 168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |         |                | 2Lines Fullduplex   |     2Lines RxOnly    |         1Line     
 169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        | Process | Transfer mode  |---------------------|----------------------|-------------------
 170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |         |                |  Master  |  Slave   |  Master   |  Slave   |  Master   |  Slave
 171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |===========================================================================================
 172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |    T    |     Polling    | Fpclk/4  | Fpclk/8  |    NA     |    NA    |    NA     |   NA  
 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |    X    |----------------|----------|----------|-----------|----------|-----------|-------
 174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |    /    |     Interrupt  | Fpclk/4  | Fpclk/16 |    NA     |    NA    |    NA     |   NA  
 175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |    R    |----------------|----------|----------|-----------|----------|-----------|-------
 176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |    X    |       DMA      | Fpclk/2  | Fpclk/2  |    NA     |    NA    |    NA     |   NA  
 177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |=========|================|==========|==========|===========|==========|===========|=======
 178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |         |     Polling    | Fpclk/4  | Fpclk/8  | Fpclk/16  | Fpclk/8  | Fpclk/8   | Fpclk/
 179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |         |----------------|----------|----------|-----------|----------|-----------|-------
 180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |    R    |     Interrupt  | Fpclk/8  | Fpclk/16 | Fpclk/8   | Fpclk/8  | Fpclk/8   | Fpclk/
 181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |    X    |----------------|----------|----------|-----------|----------|-----------|-------
 182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |         |       DMA      | Fpclk/4  | Fpclk/2  | Fpclk/2   | Fpclk/16 | Fpclk/2   | Fpclk/
 183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |=========|================|==========|==========|===========|==========|===========|=======
 184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |         |     Polling    | Fpclk/8  | Fpclk/2  |     NA    |    NA    | Fpclk/8   | Fpclk/
 185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |         |----------------|----------|----------|-----------|----------|-----------|-------
 186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |    T    |     Interrupt  | Fpclk/2  | Fpclk/4  |     NA    |    NA    | Fpclk/16  | Fpclk/
 187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |    X    |----------------|----------|----------|-----------|----------|-----------|-------
 188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        |         |       DMA      | Fpclk/2  | Fpclk/2  |     NA    |    NA    | Fpclk/8   | Fpclk/
 189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        +-------------------------------------------------------------------------------------------
 190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        @note The max SPI frequency depend on SPI data size (4bits, 5bits,..., 8bits,...15bits, 16bi
 191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****              SPI mode(2 Lines fullduplex, 2 lines RxOnly, 1 line TX/RX) and Process mode (Polling, 
 192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        @note
 193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             (#) TX/RX processes are HAL_SPI_TransmitReceive(), HAL_SPI_TransmitReceive_IT() and HAL
 194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             (#) RX processes are HAL_SPI_Receive(), HAL_SPI_Receive_IT() and HAL_SPI_Receive_DMA()
 195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             (#) TX processes are HAL_SPI_Transmit(), HAL_SPI_Transmit_IT() and HAL_SPI_Transmit_DMA
 196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
 198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Includes ------------------------------------------------------------------*/
 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #include "stm32f3xx_hal.h"
 201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
ARM GAS  /tmp/ccs34gJO.s 			page 5


 202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /** @addtogroup STM32F3xx_HAL_Driver
 203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @{
 204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
 205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /** @defgroup SPI SPI
 207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief SPI HAL module driver
 208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @{
 209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
 210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #ifdef HAL_SPI_MODULE_ENABLED
 211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Private typedef -----------------------------------------------------------*/
 213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Private defines -----------------------------------------------------------*/
 214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /** @defgroup SPI_Private_Constants SPI Private Constants
 215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @{
 216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
 217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #define SPI_DEFAULT_TIMEOUT 100U
 218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
 219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @}
 220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
 221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Private macros ------------------------------------------------------------*/
 223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Private variables ---------------------------------------------------------*/
 224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Private function prototypes -----------------------------------------------*/
 225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /** @defgroup SPI_Private_Functions SPI Private Functions
 226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @{
 227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
 228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMATransmitCplt(DMA_HandleTypeDef *hdma);
 229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAReceiveCplt(DMA_HandleTypeDef *hdma);
 230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMATransmitReceiveCplt(DMA_HandleTypeDef *hdma);
 231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAHalfTransmitCplt(DMA_HandleTypeDef *hdma);
 232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAHalfReceiveCplt(DMA_HandleTypeDef *hdma);
 233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAHalfTransmitReceiveCplt(DMA_HandleTypeDef *hdma);
 234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAError(DMA_HandleTypeDef *hdma);
 235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAAbortOnError(DMA_HandleTypeDef *hdma);
 236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMATxAbortCallback(DMA_HandleTypeDef *hdma);
 237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMARxAbortCallback(DMA_HandleTypeDef *hdma);
 238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static HAL_StatusTypeDef SPI_WaitFlagStateUntilTimeout(SPI_HandleTypeDef *hspi, uint32_t Flag, Flag
 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                                        uint32_t Timeout, uint32_t Tickstart);
 240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static HAL_StatusTypeDef SPI_WaitFifoStateUntilTimeout(SPI_HandleTypeDef *hspi, uint32_t Fifo, uint
 241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                                        uint32_t Timeout, uint32_t Tickstart);
 242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_TxISR_8BIT(struct __SPI_HandleTypeDef *hspi);
 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_TxISR_16BIT(struct __SPI_HandleTypeDef *hspi);
 244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_RxISR_8BIT(struct __SPI_HandleTypeDef *hspi);
 245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_RxISR_16BIT(struct __SPI_HandleTypeDef *hspi);
 246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesRxISR_8BIT(struct __SPI_HandleTypeDef *hspi);
 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesTxISR_8BIT(struct __SPI_HandleTypeDef *hspi);
 248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesTxISR_16BIT(struct __SPI_HandleTypeDef *hspi);
 249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesRxISR_16BIT(struct __SPI_HandleTypeDef *hspi);
 250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_RxISR_8BITCRC(struct __SPI_HandleTypeDef *hspi);
 252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_RxISR_16BITCRC(struct __SPI_HandleTypeDef *hspi);
 253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesRxISR_8BITCRC(struct __SPI_HandleTypeDef *hspi);
 254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesRxISR_16BITCRC(struct __SPI_HandleTypeDef *hspi);
 255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
 256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_AbortRx_ISR(SPI_HandleTypeDef *hspi);
 257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_AbortTx_ISR(SPI_HandleTypeDef *hspi);
 258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_CloseRxTx_ISR(SPI_HandleTypeDef *hspi);
ARM GAS  /tmp/ccs34gJO.s 			page 6


 259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_CloseRx_ISR(SPI_HandleTypeDef *hspi);
 260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_CloseTx_ISR(SPI_HandleTypeDef *hspi);
 261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static HAL_StatusTypeDef SPI_EndRxTransaction(SPI_HandleTypeDef *hspi, uint32_t Timeout, uint32_t T
 262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static HAL_StatusTypeDef SPI_EndRxTxTransaction(SPI_HandleTypeDef *hspi, uint32_t Timeout, uint32_t
 263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
 264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @}
 265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
 266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Exported functions --------------------------------------------------------*/
 268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /** @defgroup SPI_Exported_Functions SPI Exported Functions
 269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @{
 270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
 271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /** @defgroup SPI_Exported_Functions_Group1 Initialization and de-initialization functions
 273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *  @brief    Initialization and Configuration functions
 274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *
 275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** @verbatim
 276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****  ===============================================================================
 277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****               ##### Initialization and de-initialization functions #####
 278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****  ===============================================================================
 279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     [..]  This subsection provides a set of functions allowing to initialize and
 280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           de-initialize the SPIx peripheral:
 281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       (+) User must implement HAL_SPI_MspInit() function in which he configures
 283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           all related peripherals resources (CLOCK, GPIO, DMA, IT and NVIC ).
 284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       (+) Call the function HAL_SPI_Init() to configure the selected device with
 286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           the selected configuration:
 287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         (++) Mode
 288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         (++) Direction
 289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         (++) Data Size
 290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         (++) Clock Polarity and Phase
 291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         (++) NSS Management
 292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         (++) BaudRate Prescaler
 293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         (++) FirstBit
 294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         (++) TIMode
 295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         (++) CRC Calculation
 296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         (++) CRC Polynomial if CRC enabled
 297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         (++) CRC Length, used only with Data8 and Data16
 298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         (++) FIFO reception threshold
 299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       (+) Call the function HAL_SPI_DeInit() to restore the default configuration
 301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           of the selected SPIx peripheral.
 302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** @endverbatim
 304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @{
 305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
 306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
 308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Initialize the SPI according to the specified parameters
 309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *         in the SPI_InitTypeDef and initialize the associated handle.
 310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
 311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
 312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval HAL status
 313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
 314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Init(SPI_HandleTypeDef *hspi)
 315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS  /tmp/ccs34gJO.s 			page 7


  29              		.loc 1 315 1
  30              		.cfi_startproc
  31              		@ args = 0, pretend = 0, frame = 16
  32              		@ frame_needed = 1, uses_anonymous_args = 0
  33 0000 80B5     		push	{r7, lr}
  34              		.cfi_def_cfa_offset 8
  35              		.cfi_offset 7, -8
  36              		.cfi_offset 14, -4
  37 0002 84B0     		sub	sp, sp, #16
  38              		.cfi_def_cfa_offset 24
  39 0004 00AF     		add	r7, sp, #0
  40              		.cfi_def_cfa_register 7
  41 0006 7860     		str	r0, [r7, #4]
 316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   uint32_t frxth;
 317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check the SPI handle allocation */
 319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi == NULL)
  42              		.loc 1 319 6
  43 0008 7B68     		ldr	r3, [r7, #4]
  44 000a 002B     		cmp	r3, #0
  45 000c 01D1     		bne	.L2
 320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     return HAL_ERROR;
  46              		.loc 1 321 12
  47 000e 0123     		movs	r3, #1
  48 0010 9DE0     		b	.L3
  49              	.L2:
 322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check the parameters */
 325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   assert_param(IS_SPI_ALL_INSTANCE(hspi->Instance));
 326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   assert_param(IS_SPI_MODE(hspi->Init.Mode));
 327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   assert_param(IS_SPI_DIRECTION(hspi->Init.Direction));
 328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   assert_param(IS_SPI_DATASIZE(hspi->Init.DataSize));
 329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   assert_param(IS_SPI_NSS(hspi->Init.NSS));
 330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   assert_param(IS_SPI_NSSP(hspi->Init.NSSPMode));
 331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   assert_param(IS_SPI_BAUDRATE_PRESCALER(hspi->Init.BaudRatePrescaler));
 332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   assert_param(IS_SPI_FIRST_BIT(hspi->Init.FirstBit));
 333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   assert_param(IS_SPI_TIMODE(hspi->Init.TIMode));
 334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.TIMode == SPI_TIMODE_DISABLE)
  50              		.loc 1 334 17
  51 0012 7B68     		ldr	r3, [r7, #4]
  52 0014 5B6A     		ldr	r3, [r3, #36]
  53              		.loc 1 334 6
  54 0016 002B     		cmp	r3, #0
  55 0018 08D1     		bne	.L4
 335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     assert_param(IS_SPI_CPOL(hspi->Init.CLKPolarity));
 337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     assert_param(IS_SPI_CPHA(hspi->Init.CLKPhase));
 338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->Init.Mode == SPI_MODE_MASTER)
  56              		.loc 1 339 19
  57 001a 7B68     		ldr	r3, [r7, #4]
  58 001c 5B68     		ldr	r3, [r3, #4]
  59              		.loc 1 339 8
  60 001e B3F5827F 		cmp	r3, #260
  61 0022 09D0     		beq	.L5
ARM GAS  /tmp/ccs34gJO.s 			page 8


 340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       assert_param(IS_SPI_BAUDRATE_PRESCALER(hspi->Init.BaudRatePrescaler));
 342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
 343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     else
 344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
 345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Baudrate prescaler not use in Motoraola Slave mode. force to default value */
 346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2;
  62              		.loc 1 346 36
  63 0024 7B68     		ldr	r3, [r7, #4]
  64 0026 0022     		movs	r2, #0
  65 0028 DA61     		str	r2, [r3, #28]
  66 002a 05E0     		b	.L5
  67              	.L4:
 347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
 348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
 349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   else
 350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     assert_param(IS_SPI_BAUDRATE_PRESCALER(hspi->Init.BaudRatePrescaler));
 352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Force polarity and phase to TI protocaol requirements */
 354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->Init.CLKPolarity = SPI_POLARITY_LOW;
  68              		.loc 1 354 28
  69 002c 7B68     		ldr	r3, [r7, #4]
  70 002e 0022     		movs	r2, #0
  71 0030 1A61     		str	r2, [r3, #16]
 355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->Init.CLKPhase    = SPI_PHASE_1EDGE;
  72              		.loc 1 355 28
  73 0032 7B68     		ldr	r3, [r7, #4]
  74 0034 0022     		movs	r2, #0
  75 0036 5A61     		str	r2, [r3, #20]
  76              	.L5:
 356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
 357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
 358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   assert_param(IS_SPI_CRC_CALCULATION(hspi->Init.CRCCalculation));
 359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
 360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     assert_param(IS_SPI_CRC_POLYNOMIAL(hspi->Init.CRCPolynomial));
 362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     assert_param(IS_SPI_CRC_LENGTH(hspi->Init.CRCLength));
 363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
 364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
 365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
  77              		.loc 1 365 29
  78 0038 7B68     		ldr	r3, [r7, #4]
  79 003a 0022     		movs	r2, #0
  80 003c 9A62     		str	r2, [r3, #40]
 366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
 367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->State == HAL_SPI_STATE_RESET)
  81              		.loc 1 368 11
  82 003e 7B68     		ldr	r3, [r7, #4]
  83 0040 93F85D30 		ldrb	r3, [r3, #93]
  84 0044 DBB2     		uxtb	r3, r3
  85              		.loc 1 368 6
  86 0046 002B     		cmp	r3, #0
  87 0048 06D1     		bne	.L6
 369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Allocate lock resource and initialize it */
ARM GAS  /tmp/ccs34gJO.s 			page 9


 371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->Lock = HAL_UNLOCKED;
  88              		.loc 1 371 16
  89 004a 7B68     		ldr	r3, [r7, #4]
  90 004c 0022     		movs	r2, #0
  91 004e 83F85C20 		strb	r2, [r3, #92]
 372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
 374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Init the SPI Callback settings */
 375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->TxCpltCallback       = HAL_SPI_TxCpltCallback;       /* Legacy weak TxCpltCallback       
 376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->RxCpltCallback       = HAL_SPI_RxCpltCallback;       /* Legacy weak RxCpltCallback       
 377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->TxRxCpltCallback     = HAL_SPI_TxRxCpltCallback;     /* Legacy weak TxRxCpltCallback     
 378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->TxHalfCpltCallback   = HAL_SPI_TxHalfCpltCallback;   /* Legacy weak TxHalfCpltCallback   
 379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->RxHalfCpltCallback   = HAL_SPI_RxHalfCpltCallback;   /* Legacy weak RxHalfCpltCallback   
 380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->TxRxHalfCpltCallback = HAL_SPI_TxRxHalfCpltCallback; /* Legacy weak TxRxHalfCpltCallback 
 381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->ErrorCallback        = HAL_SPI_ErrorCallback;        /* Legacy weak ErrorCallback        
 382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->AbortCpltCallback    = HAL_SPI_AbortCpltCallback;    /* Legacy weak AbortCpltCallback    
 383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->MspInitCallback == NULL)
 385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
 386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->MspInitCallback = HAL_SPI_MspInit; /* Legacy weak MspInit  */
 387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
 388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Init the low level hardware : GPIO, CLOCK, NVIC... */
 390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->MspInitCallback(hspi);
 391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
 392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Init the low level hardware : GPIO, CLOCK, NVIC... */
 393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     HAL_SPI_MspInit(hspi);
  92              		.loc 1 393 5
  93 0052 7868     		ldr	r0, [r7, #4]
  94 0054 FFF7FEFF 		bl	HAL_SPI_MspInit
  95              	.L6:
 394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
 395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
 396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->State = HAL_SPI_STATE_BUSY;
  96              		.loc 1 397 15
  97 0058 7B68     		ldr	r3, [r7, #4]
  98 005a 0222     		movs	r2, #2
  99 005c 83F85D20 		strb	r2, [r3, #93]
 398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Disable the selected SPI peripheral */
 400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_SPI_DISABLE(hspi);
 100              		.loc 1 400 3
 101 0060 7B68     		ldr	r3, [r7, #4]
 102 0062 1B68     		ldr	r3, [r3]
 103 0064 1A68     		ldr	r2, [r3]
 104 0066 7B68     		ldr	r3, [r7, #4]
 105 0068 1B68     		ldr	r3, [r3]
 106 006a 22F04002 		bic	r2, r2, #64
 107 006e 1A60     		str	r2, [r3]
 401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Align by default the rs fifo threshold on the data size */
 403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
 108              		.loc 1 403 17
 109 0070 7B68     		ldr	r3, [r7, #4]
 110 0072 DB68     		ldr	r3, [r3, #12]
 111              		.loc 1 403 6
ARM GAS  /tmp/ccs34gJO.s 			page 10


 112 0074 B3F5E06F 		cmp	r3, #1792
 113 0078 02D9     		bls	.L7
 404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     frxth = SPI_RXFIFO_THRESHOLD_HF;
 114              		.loc 1 405 11
 115 007a 0023     		movs	r3, #0
 116 007c FB60     		str	r3, [r7, #12]
 117 007e 02E0     		b	.L8
 118              	.L7:
 406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
 407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   else
 408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     frxth = SPI_RXFIFO_THRESHOLD_QF;
 119              		.loc 1 409 11
 120 0080 4FF48053 		mov	r3, #4096
 121 0084 FB60     		str	r3, [r7, #12]
 122              	.L8:
 410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
 411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* CRC calculation is valid only for 16Bit and 8 Bit */
 413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((hspi->Init.DataSize != SPI_DATASIZE_16BIT) && (hspi->Init.DataSize != SPI_DATASIZE_8BIT))
 123              		.loc 1 413 18
 124 0086 7B68     		ldr	r3, [r7, #4]
 125 0088 DB68     		ldr	r3, [r3, #12]
 126              		.loc 1 413 6
 127 008a B3F5706F 		cmp	r3, #3840
 128 008e 07D0     		beq	.L9
 129              		.loc 1 413 65 discriminator 1
 130 0090 7B68     		ldr	r3, [r7, #4]
 131 0092 DB68     		ldr	r3, [r3, #12]
 132              		.loc 1 413 51 discriminator 1
 133 0094 B3F5E06F 		cmp	r3, #1792
 134 0098 02D0     		beq	.L9
 414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* CRC must be disabled */
 416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
 135              		.loc 1 416 31
 136 009a 7B68     		ldr	r3, [r7, #4]
 137 009c 0022     		movs	r2, #0
 138 009e 9A62     		str	r2, [r3, #40]
 139              	.L9:
 417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
 418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /*----------------------- SPIx CR1 & CR2 Configuration ---------------------*/
 420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Configure : SPI Mode, Communication Mode, Clock polarity and phase, NSS management,
 421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   Communication speed, First bit and CRC calculation state */
 422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   WRITE_REG(hspi->Instance->CR1, ((hspi->Init.Mode & (SPI_CR1_MSTR | SPI_CR1_SSI)) |
 140              		.loc 1 422 3
 141 00a0 7B68     		ldr	r3, [r7, #4]
 142 00a2 5B68     		ldr	r3, [r3, #4]
 143 00a4 03F48272 		and	r2, r3, #260
 144 00a8 7B68     		ldr	r3, [r7, #4]
 145 00aa 9B68     		ldr	r3, [r3, #8]
 146 00ac 03F40443 		and	r3, r3, #33792
 147 00b0 1A43     		orrs	r2, r2, r3
 148 00b2 7B68     		ldr	r3, [r7, #4]
 149 00b4 1B69     		ldr	r3, [r3, #16]
ARM GAS  /tmp/ccs34gJO.s 			page 11


 150 00b6 03F00203 		and	r3, r3, #2
 151 00ba 1A43     		orrs	r2, r2, r3
 152 00bc 7B68     		ldr	r3, [r7, #4]
 153 00be 5B69     		ldr	r3, [r3, #20]
 154 00c0 03F00103 		and	r3, r3, #1
 155 00c4 1A43     		orrs	r2, r2, r3
 156 00c6 7B68     		ldr	r3, [r7, #4]
 157 00c8 9B69     		ldr	r3, [r3, #24]
 158 00ca 03F40073 		and	r3, r3, #512
 159 00ce 1A43     		orrs	r2, r2, r3
 160 00d0 7B68     		ldr	r3, [r7, #4]
 161 00d2 DB69     		ldr	r3, [r3, #28]
 162 00d4 03F03803 		and	r3, r3, #56
 163 00d8 1A43     		orrs	r2, r2, r3
 164 00da 7B68     		ldr	r3, [r7, #4]
 165 00dc 1B6A     		ldr	r3, [r3, #32]
 166 00de 03F08003 		and	r3, r3, #128
 167 00e2 42EA0301 		orr	r1, r2, r3
 168 00e6 7B68     		ldr	r3, [r7, #4]
 169 00e8 9B6A     		ldr	r3, [r3, #40]
 170 00ea 03F40052 		and	r2, r3, #8192
 171 00ee 7B68     		ldr	r3, [r7, #4]
 172 00f0 1B68     		ldr	r3, [r3]
 173 00f2 0A43     		orrs	r2, r2, r1
 174 00f4 1A60     		str	r2, [r3]
 423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                   (hspi->Init.Direction & (SPI_CR1_RXONLY | SPI_CR1_BIDIMODE)) |
 424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                   (hspi->Init.CLKPolarity & SPI_CR1_CPOL) |
 425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                   (hspi->Init.CLKPhase & SPI_CR1_CPHA) |
 426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                   (hspi->Init.NSS & SPI_CR1_SSM) |
 427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                   (hspi->Init.BaudRatePrescaler & SPI_CR1_BR_Msk) |
 428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                   (hspi->Init.FirstBit  & SPI_CR1_LSBFIRST) |
 429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                   (hspi->Init.CRCCalculation & SPI_CR1_CRCEN)));
 430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
 431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /*---------------------------- SPIx CRCL Configuration -------------------*/
 432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
 433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Align the CRC Length on the data size */
 435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->Init.CRCLength == SPI_CRC_LENGTH_DATASIZE)
 436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
 437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* CRC Length aligned on the data size : value set by default */
 438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
 439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
 440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->Init.CRCLength = SPI_CRC_LENGTH_16BIT;
 441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
 442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       else
 443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
 444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->Init.CRCLength = SPI_CRC_LENGTH_8BIT;
 445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
 446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
 447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Configure : CRC Length */
 449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->Init.CRCLength == SPI_CRC_LENGTH_16BIT)
 450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
 451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCL);
 452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
 453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
 454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
ARM GAS  /tmp/ccs34gJO.s 			page 12


 455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Configure : NSS management, TI Mode, NSS Pulse, Data size and Rx Fifo threshold */
 457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   WRITE_REG(hspi->Instance->CR2, (((hspi->Init.NSS >> 16U) & SPI_CR2_SSOE) |
 175              		.loc 1 457 3
 176 00f6 7B68     		ldr	r3, [r7, #4]
 177 00f8 9B69     		ldr	r3, [r3, #24]
 178 00fa 1B0C     		lsrs	r3, r3, #16
 179 00fc 03F00402 		and	r2, r3, #4
 180 0100 7B68     		ldr	r3, [r7, #4]
 181 0102 5B6A     		ldr	r3, [r3, #36]
 182 0104 03F01003 		and	r3, r3, #16
 183 0108 1A43     		orrs	r2, r2, r3
 184 010a 7B68     		ldr	r3, [r7, #4]
 185 010c 5B6B     		ldr	r3, [r3, #52]
 186 010e 03F00803 		and	r3, r3, #8
 187 0112 1A43     		orrs	r2, r2, r3
 188 0114 7B68     		ldr	r3, [r7, #4]
 189 0116 DB68     		ldr	r3, [r3, #12]
 190 0118 03F47063 		and	r3, r3, #3840
 191 011c 42EA0301 		orr	r1, r2, r3
 192 0120 FB68     		ldr	r3, [r7, #12]
 193 0122 03F48052 		and	r2, r3, #4096
 194 0126 7B68     		ldr	r3, [r7, #4]
 195 0128 1B68     		ldr	r3, [r3]
 196 012a 0A43     		orrs	r2, r2, r1
 197 012c 5A60     		str	r2, [r3, #4]
 458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                   (hspi->Init.TIMode & SPI_CR2_FRF) |
 459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                   (hspi->Init.NSSPMode & SPI_CR2_NSSP) |
 460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                   (hspi->Init.DataSize & SPI_CR2_DS_Msk) |
 461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                   (frxth & SPI_CR2_FRXTH)));
 462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
 464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /*---------------------------- SPIx CRCPOLY Configuration ------------------*/
 465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Configure : CRC Polynomial */
 466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
 467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     WRITE_REG(hspi->Instance->CRCPR, (hspi->Init.CRCPolynomial & SPI_CRCPR_CRCPOLY_Msk));
 469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
 470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
 471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if defined(SPI_I2SCFGR_I2SMOD)
 473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Activate the SPI mode (Make sure that I2SMOD bit in I2SCFGR register is reset) */
 474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   CLEAR_BIT(hspi->Instance->I2SCFGR, SPI_I2SCFGR_I2SMOD);
 198              		.loc 1 474 3
 199 012e 7B68     		ldr	r3, [r7, #4]
 200 0130 1B68     		ldr	r3, [r3]
 201 0132 DA69     		ldr	r2, [r3, #28]
 202 0134 7B68     		ldr	r3, [r7, #4]
 203 0136 1B68     		ldr	r3, [r3]
 204 0138 22F40062 		bic	r2, r2, #2048
 205 013c DA61     		str	r2, [r3, #28]
 475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* SPI_I2SCFGR_I2SMOD */
 476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->ErrorCode = HAL_SPI_ERROR_NONE;
 206              		.loc 1 477 19
 207 013e 7B68     		ldr	r3, [r7, #4]
 208 0140 0022     		movs	r2, #0
ARM GAS  /tmp/ccs34gJO.s 			page 13


 209 0142 1A66     		str	r2, [r3, #96]
 478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->State     = HAL_SPI_STATE_READY;
 210              		.loc 1 478 19
 211 0144 7B68     		ldr	r3, [r7, #4]
 212 0146 0122     		movs	r2, #1
 213 0148 83F85D20 		strb	r2, [r3, #93]
 479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   return HAL_OK;
 214              		.loc 1 480 10
 215 014c 0023     		movs	r3, #0
 216              	.L3:
 481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 217              		.loc 1 481 1
 218 014e 1846     		mov	r0, r3
 219 0150 1037     		adds	r7, r7, #16
 220              		.cfi_def_cfa_offset 8
 221 0152 BD46     		mov	sp, r7
 222              		.cfi_def_cfa_register 13
 223              		@ sp needed
 224 0154 80BD     		pop	{r7, pc}
 225              		.cfi_endproc
 226              	.LFE130:
 228              		.section	.text.HAL_SPI_DeInit,"ax",%progbits
 229              		.align	1
 230              		.global	HAL_SPI_DeInit
 231              		.syntax unified
 232              		.thumb
 233              		.thumb_func
 235              	HAL_SPI_DeInit:
 236              	.LFB131:
 482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
 484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  De-Initialize the SPI peripheral.
 485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
 486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
 487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval HAL status
 488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
 489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_DeInit(SPI_HandleTypeDef *hspi)
 490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 237              		.loc 1 490 1
 238              		.cfi_startproc
 239              		@ args = 0, pretend = 0, frame = 8
 240              		@ frame_needed = 1, uses_anonymous_args = 0
 241 0000 80B5     		push	{r7, lr}
 242              		.cfi_def_cfa_offset 8
 243              		.cfi_offset 7, -8
 244              		.cfi_offset 14, -4
 245 0002 82B0     		sub	sp, sp, #8
 246              		.cfi_def_cfa_offset 16
 247 0004 00AF     		add	r7, sp, #0
 248              		.cfi_def_cfa_register 7
 249 0006 7860     		str	r0, [r7, #4]
 491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check the SPI handle allocation */
 492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi == NULL)
 250              		.loc 1 492 6
 251 0008 7B68     		ldr	r3, [r7, #4]
 252 000a 002B     		cmp	r3, #0
ARM GAS  /tmp/ccs34gJO.s 			page 14


 253 000c 01D1     		bne	.L11
 493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     return HAL_ERROR;
 254              		.loc 1 494 12
 255 000e 0123     		movs	r3, #1
 256 0010 1AE0     		b	.L12
 257              	.L11:
 495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
 496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check SPI Instance parameter */
 498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   assert_param(IS_SPI_ALL_INSTANCE(hspi->Instance));
 499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->State = HAL_SPI_STATE_BUSY;
 258              		.loc 1 500 15
 259 0012 7B68     		ldr	r3, [r7, #4]
 260 0014 0222     		movs	r2, #2
 261 0016 83F85D20 		strb	r2, [r3, #93]
 501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Disable the SPI Peripheral Clock */
 503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_SPI_DISABLE(hspi);
 262              		.loc 1 503 3
 263 001a 7B68     		ldr	r3, [r7, #4]
 264 001c 1B68     		ldr	r3, [r3]
 265 001e 1A68     		ldr	r2, [r3]
 266 0020 7B68     		ldr	r3, [r7, #4]
 267 0022 1B68     		ldr	r3, [r3]
 268 0024 22F04002 		bic	r2, r2, #64
 269 0028 1A60     		str	r2, [r3]
 504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
 506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->MspDeInitCallback == NULL)
 507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->MspDeInitCallback = HAL_SPI_MspDeInit; /* Legacy weak MspDeInit  */
 509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
 510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* DeInit the low level hardware: GPIO, CLOCK, NVIC... */
 512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->MspDeInitCallback(hspi);
 513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
 514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* DeInit the low level hardware: GPIO, CLOCK, NVIC... */
 515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   HAL_SPI_MspDeInit(hspi);
 270              		.loc 1 515 3
 271 002a 7868     		ldr	r0, [r7, #4]
 272 002c FFF7FEFF 		bl	HAL_SPI_MspDeInit
 516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
 517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->ErrorCode = HAL_SPI_ERROR_NONE;
 273              		.loc 1 518 19
 274 0030 7B68     		ldr	r3, [r7, #4]
 275 0032 0022     		movs	r2, #0
 276 0034 1A66     		str	r2, [r3, #96]
 519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->State = HAL_SPI_STATE_RESET;
 277              		.loc 1 519 15
 278 0036 7B68     		ldr	r3, [r7, #4]
 279 0038 0022     		movs	r2, #0
 280 003a 83F85D20 		strb	r2, [r3, #93]
 520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Release Lock */
ARM GAS  /tmp/ccs34gJO.s 			page 15


 522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_UNLOCK(hspi);
 281              		.loc 1 522 3
 282 003e 7B68     		ldr	r3, [r7, #4]
 283 0040 0022     		movs	r2, #0
 284 0042 83F85C20 		strb	r2, [r3, #92]
 523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   return HAL_OK;
 285              		.loc 1 524 10
 286 0046 0023     		movs	r3, #0
 287              	.L12:
 525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 288              		.loc 1 525 1
 289 0048 1846     		mov	r0, r3
 290 004a 0837     		adds	r7, r7, #8
 291              		.cfi_def_cfa_offset 8
 292 004c BD46     		mov	sp, r7
 293              		.cfi_def_cfa_register 13
 294              		@ sp needed
 295 004e 80BD     		pop	{r7, pc}
 296              		.cfi_endproc
 297              	.LFE131:
 299              		.section	.text.HAL_SPI_MspInit,"ax",%progbits
 300              		.align	1
 301              		.weak	HAL_SPI_MspInit
 302              		.syntax unified
 303              		.thumb
 304              		.thumb_func
 306              	HAL_SPI_MspInit:
 307              	.LFB132:
 526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
 528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Initialize the SPI MSP.
 529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
 530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
 531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
 532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
 533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __weak void HAL_SPI_MspInit(SPI_HandleTypeDef *hspi)
 534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 308              		.loc 1 534 1
 309              		.cfi_startproc
 310              		@ args = 0, pretend = 0, frame = 8
 311              		@ frame_needed = 1, uses_anonymous_args = 0
 312              		@ link register save eliminated.
 313 0000 80B4     		push	{r7}
 314              		.cfi_def_cfa_offset 4
 315              		.cfi_offset 7, -4
 316 0002 83B0     		sub	sp, sp, #12
 317              		.cfi_def_cfa_offset 16
 318 0004 00AF     		add	r7, sp, #0
 319              		.cfi_def_cfa_register 7
 320 0006 7860     		str	r0, [r7, #4]
 535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Prevent unused argument(s) compilation warning */
 536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   UNUSED(hspi);
 537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* NOTE : This function should not be modified, when the callback is needed,
 539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             the HAL_SPI_MspInit should be implemented in the user file
 540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****    */
ARM GAS  /tmp/ccs34gJO.s 			page 16


 541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 321              		.loc 1 541 1
 322 0008 00BF     		nop
 323 000a 0C37     		adds	r7, r7, #12
 324              		.cfi_def_cfa_offset 4
 325 000c BD46     		mov	sp, r7
 326              		.cfi_def_cfa_register 13
 327              		@ sp needed
 328 000e 5DF8047B 		ldr	r7, [sp], #4
 329              		.cfi_restore 7
 330              		.cfi_def_cfa_offset 0
 331 0012 7047     		bx	lr
 332              		.cfi_endproc
 333              	.LFE132:
 335              		.section	.text.HAL_SPI_MspDeInit,"ax",%progbits
 336              		.align	1
 337              		.weak	HAL_SPI_MspDeInit
 338              		.syntax unified
 339              		.thumb
 340              		.thumb_func
 342              	HAL_SPI_MspDeInit:
 343              	.LFB133:
 542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
 544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  De-Initialize the SPI MSP.
 545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
 546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
 547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
 548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
 549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __weak void HAL_SPI_MspDeInit(SPI_HandleTypeDef *hspi)
 550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 344              		.loc 1 550 1
 345              		.cfi_startproc
 346              		@ args = 0, pretend = 0, frame = 8
 347              		@ frame_needed = 1, uses_anonymous_args = 0
 348              		@ link register save eliminated.
 349 0000 80B4     		push	{r7}
 350              		.cfi_def_cfa_offset 4
 351              		.cfi_offset 7, -4
 352 0002 83B0     		sub	sp, sp, #12
 353              		.cfi_def_cfa_offset 16
 354 0004 00AF     		add	r7, sp, #0
 355              		.cfi_def_cfa_register 7
 356 0006 7860     		str	r0, [r7, #4]
 551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Prevent unused argument(s) compilation warning */
 552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   UNUSED(hspi);
 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* NOTE : This function should not be modified, when the callback is needed,
 555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             the HAL_SPI_MspDeInit should be implemented in the user file
 556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****    */
 557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 357              		.loc 1 557 1
 358 0008 00BF     		nop
 359 000a 0C37     		adds	r7, r7, #12
 360              		.cfi_def_cfa_offset 4
 361 000c BD46     		mov	sp, r7
 362              		.cfi_def_cfa_register 13
ARM GAS  /tmp/ccs34gJO.s 			page 17


 363              		@ sp needed
 364 000e 5DF8047B 		ldr	r7, [sp], #4
 365              		.cfi_restore 7
 366              		.cfi_def_cfa_offset 0
 367 0012 7047     		bx	lr
 368              		.cfi_endproc
 369              	.LFE133:
 371              		.section	.text.HAL_SPI_Transmit,"ax",%progbits
 372              		.align	1
 373              		.global	HAL_SPI_Transmit
 374              		.syntax unified
 375              		.thumb
 376              		.thumb_func
 378              	HAL_SPI_Transmit:
 379              	.LFB134:
 558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
 560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
 561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Register a User SPI Callback
 562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *         To be used instead of the weak predefined callback
 563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi Pointer to a SPI_HandleTypeDef structure that contains
 564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *                the configuration information for the specified SPI.
 565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  CallbackID ID of the callback to be registered
 566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  pCallback pointer to the Callback function
 567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval HAL status
 568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
 569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_RegisterCallback(SPI_HandleTypeDef *hspi, HAL_SPI_CallbackIDTypeDef Callb
 570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                            pSPI_CallbackTypeDef pCallback)
 571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   HAL_StatusTypeDef status = HAL_OK;
 573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (pCallback == NULL)
 575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Update the error code */
 577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->ErrorCode |= HAL_SPI_ERROR_INVALID_CALLBACK;
 578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     return HAL_ERROR;
 580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
 581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Process locked */
 582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_LOCK(hspi);
 583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (HAL_SPI_STATE_READY == hspi->State)
 585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     switch (CallbackID)
 587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
 588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       case HAL_SPI_TX_COMPLETE_CB_ID :
 589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->TxCpltCallback = pCallback;
 590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
 591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       case HAL_SPI_RX_COMPLETE_CB_ID :
 593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->RxCpltCallback = pCallback;
 594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
 595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       case HAL_SPI_TX_RX_COMPLETE_CB_ID :
 597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->TxRxCpltCallback = pCallback;
 598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
 599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
ARM GAS  /tmp/ccs34gJO.s 			page 18


 600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       case HAL_SPI_TX_HALF_COMPLETE_CB_ID :
 601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->TxHalfCpltCallback = pCallback;
 602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
 603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       case HAL_SPI_RX_HALF_COMPLETE_CB_ID :
 605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->RxHalfCpltCallback = pCallback;
 606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
 607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       case HAL_SPI_TX_RX_HALF_COMPLETE_CB_ID :
 609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->TxRxHalfCpltCallback = pCallback;
 610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
 611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       case HAL_SPI_ERROR_CB_ID :
 613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->ErrorCallback = pCallback;
 614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
 615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       case HAL_SPI_ABORT_CB_ID :
 617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->AbortCpltCallback = pCallback;
 618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
 619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       case HAL_SPI_MSPINIT_CB_ID :
 621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->MspInitCallback = pCallback;
 622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       case HAL_SPI_MSPDEINIT_CB_ID :
 625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->MspDeInitCallback = pCallback;
 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       default :
 629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Update the error code */
 630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK);
 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Return error status */
 633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         status =  HAL_ERROR;
 634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
 635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
 636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
 637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   else if (HAL_SPI_STATE_RESET == hspi->State)
 638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     switch (CallbackID)
 640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
 641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       case HAL_SPI_MSPINIT_CB_ID :
 642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->MspInitCallback = pCallback;
 643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
 644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       case HAL_SPI_MSPDEINIT_CB_ID :
 646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->MspDeInitCallback = pCallback;
 647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
 648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       default :
 650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Update the error code */
 651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK);
 652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Return error status */
 654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         status =  HAL_ERROR;
 655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
 656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
ARM GAS  /tmp/ccs34gJO.s 			page 19


 657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
 658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   else
 659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Update the error code */
 661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK);
 662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Return error status */
 664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     status =  HAL_ERROR;
 665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
 666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Release Lock */
 668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_UNLOCK(hspi);
 669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   return status;
 670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
 673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Unregister an SPI Callback
 674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *         SPI callback is redirected to the weak predefined callback
 675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi Pointer to a SPI_HandleTypeDef structure that contains
 676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *                the configuration information for the specified SPI.
 677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  CallbackID ID of the callback to be unregistered
 678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval HAL status
 679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
 680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_UnRegisterCallback(SPI_HandleTypeDef *hspi, HAL_SPI_CallbackIDTypeDef Cal
 681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   HAL_StatusTypeDef status = HAL_OK;
 683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Process locked */
 685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_LOCK(hspi);
 686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (HAL_SPI_STATE_READY == hspi->State)
 688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     switch (CallbackID)
 690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
 691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       case HAL_SPI_TX_COMPLETE_CB_ID :
 692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->TxCpltCallback = HAL_SPI_TxCpltCallback;             /* Legacy weak TxCpltCallback   
 693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
 694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       case HAL_SPI_RX_COMPLETE_CB_ID :
 696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->RxCpltCallback = HAL_SPI_RxCpltCallback;             /* Legacy weak RxCpltCallback   
 697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
 698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       case HAL_SPI_TX_RX_COMPLETE_CB_ID :
 700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->TxRxCpltCallback = HAL_SPI_TxRxCpltCallback;         /* Legacy weak TxRxCpltCallback 
 701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
 702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       case HAL_SPI_TX_HALF_COMPLETE_CB_ID :
 704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->TxHalfCpltCallback = HAL_SPI_TxHalfCpltCallback;     /* Legacy weak TxHalfCpltCallbac
 705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
 706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       case HAL_SPI_RX_HALF_COMPLETE_CB_ID :
 708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->RxHalfCpltCallback = HAL_SPI_RxHalfCpltCallback;     /* Legacy weak RxHalfCpltCallbac
 709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
 710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       case HAL_SPI_TX_RX_HALF_COMPLETE_CB_ID :
 712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->TxRxHalfCpltCallback = HAL_SPI_TxRxHalfCpltCallback; /* Legacy weak TxRxHalfCpltCallb
 713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
ARM GAS  /tmp/ccs34gJO.s 			page 20


 714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       case HAL_SPI_ERROR_CB_ID :
 716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->ErrorCallback = HAL_SPI_ErrorCallback;               /* Legacy weak ErrorCallback    
 717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
 718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       case HAL_SPI_ABORT_CB_ID :
 720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->AbortCpltCallback = HAL_SPI_AbortCpltCallback;       /* Legacy weak AbortCpltCallback
 721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
 722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       case HAL_SPI_MSPINIT_CB_ID :
 724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->MspInitCallback = HAL_SPI_MspInit;                   /* Legacy weak MspInit          
 725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
 726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       case HAL_SPI_MSPDEINIT_CB_ID :
 728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->MspDeInitCallback = HAL_SPI_MspDeInit;               /* Legacy weak MspDeInit        
 729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
 730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       default :
 732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Update the error code */
 733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK);
 734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Return error status */
 736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         status =  HAL_ERROR;
 737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
 738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
 739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
 740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   else if (HAL_SPI_STATE_RESET == hspi->State)
 741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     switch (CallbackID)
 743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
 744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       case HAL_SPI_MSPINIT_CB_ID :
 745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->MspInitCallback = HAL_SPI_MspInit;                   /* Legacy weak MspInit          
 746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
 747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       case HAL_SPI_MSPDEINIT_CB_ID :
 749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->MspDeInitCallback = HAL_SPI_MspDeInit;               /* Legacy weak MspDeInit        
 750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
 751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       default :
 753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Update the error code */
 754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK);
 755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Return error status */
 757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         status =  HAL_ERROR;
 758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
 759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
 760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
 761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   else
 762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Update the error code */
 764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK);
 765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Return error status */
 767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     status =  HAL_ERROR;
 768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
 769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Release Lock */
ARM GAS  /tmp/ccs34gJO.s 			page 21


 771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_UNLOCK(hspi);
 772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   return status;
 773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
 775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
 776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @}
 777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
 778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /** @defgroup SPI_Exported_Functions_Group2 IO operation functions
 780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *  @brief   Data transfers functions
 781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *
 782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** @verbatim
 783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   ==============================================================================
 784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                       ##### IO operation functions #####
 785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****  ===============================================================================
 786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****  [..]
 787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     This subsection provides a set of functions allowing to manage the SPI
 788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     data transfers.
 789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     [..] The SPI supports master and slave mode :
 791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     (#) There are two modes of transfer:
 793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        (++) Blocking mode: The communication is performed in polling mode.
 794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             The HAL status of all data processing is returned by the same function
 795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             after finishing transfer.
 796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        (++) No-Blocking mode: The communication is performed using Interrupts
 797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             or DMA, These APIs return the HAL status.
 798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             The end of the data processing will be indicated through the
 799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             dedicated SPI IRQ when using Interrupt mode or the DMA IRQ when
 800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             using DMA mode.
 801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             The HAL_SPI_TxCpltCallback(), HAL_SPI_RxCpltCallback() and HAL_SPI_TxRxCpltCallback() u
 802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             will be executed respectively at the end of the transmit or Receive process
 803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             The HAL_SPI_ErrorCallback()user callback will be executed when a communication error is
 804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     (#) APIs provided for these 2 transfer modes (Blocking mode or Non blocking mode using either I
 806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         exist for 1Line (simplex) and 2Lines (full duplex) modes.
 807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** @endverbatim
 809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @{
 810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
 811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
 813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Transmit an amount of data in blocking mode.
 814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
 815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
 816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  pData pointer to data buffer
 817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  Size amount of data to be sent
 818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  Timeout Timeout duration
 819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval HAL status
 820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
 821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Transmit(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size, uint32_t
 822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 380              		.loc 1 822 1
 381              		.cfi_startproc
 382              		@ args = 0, pretend = 0, frame = 32
 383              		@ frame_needed = 1, uses_anonymous_args = 0
 384 0000 80B5     		push	{r7, lr}
ARM GAS  /tmp/ccs34gJO.s 			page 22


 385              		.cfi_def_cfa_offset 8
 386              		.cfi_offset 7, -8
 387              		.cfi_offset 14, -4
 388 0002 88B0     		sub	sp, sp, #32
 389              		.cfi_def_cfa_offset 40
 390 0004 00AF     		add	r7, sp, #0
 391              		.cfi_def_cfa_register 7
 392 0006 F860     		str	r0, [r7, #12]
 393 0008 B960     		str	r1, [r7, #8]
 394 000a 3B60     		str	r3, [r7]
 395 000c 1346     		mov	r3, r2	@ movhi
 396 000e FB80     		strh	r3, [r7, #6]	@ movhi
 823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   uint32_t tickstart;
 824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   HAL_StatusTypeDef errorcode = HAL_OK;
 397              		.loc 1 824 21
 398 0010 0023     		movs	r3, #0
 399 0012 FB77     		strb	r3, [r7, #31]
 825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   uint16_t initial_TxXferCount;
 826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check Direction parameter */
 828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   assert_param(IS_SPI_DIRECTION_2LINES_OR_1LINE(hspi->Init.Direction));
 829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Process Locked */
 831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_LOCK(hspi);
 400              		.loc 1 831 3
 401 0014 FB68     		ldr	r3, [r7, #12]
 402 0016 93F85C30 		ldrb	r3, [r3, #92]	@ zero_extendqisi2
 403 001a 012B     		cmp	r3, #1
 404 001c 01D1     		bne	.L16
 405              		.loc 1 831 3 is_stmt 0 discriminator 1
 406 001e 0223     		movs	r3, #2
 407              		.loc 1 831 3
 408 0020 5FE1     		b	.L17
 409              	.L16:
 410              		.loc 1 831 3 discriminator 2
 411 0022 FB68     		ldr	r3, [r7, #12]
 412 0024 0122     		movs	r2, #1
 413 0026 83F85C20 		strb	r2, [r3, #92]
 832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Init tickstart for timeout management*/
 834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   tickstart = HAL_GetTick();
 414              		.loc 1 834 15 is_stmt 1
 415 002a FFF7FEFF 		bl	HAL_GetTick
 416 002e B861     		str	r0, [r7, #24]
 835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   initial_TxXferCount = Size;
 417              		.loc 1 835 23
 418 0030 FB88     		ldrh	r3, [r7, #6]	@ movhi
 419 0032 FB82     		strh	r3, [r7, #22]	@ movhi
 836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->State != HAL_SPI_STATE_READY)
 420              		.loc 1 837 11
 421 0034 FB68     		ldr	r3, [r7, #12]
 422 0036 93F85D30 		ldrb	r3, [r3, #93]
 423 003a DBB2     		uxtb	r3, r3
 424              		.loc 1 837 6
 425 003c 012B     		cmp	r3, #1
 426 003e 02D0     		beq	.L18
ARM GAS  /tmp/ccs34gJO.s 			page 23


 838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     errorcode = HAL_BUSY;
 427              		.loc 1 839 15
 428 0040 0223     		movs	r3, #2
 429 0042 FB77     		strb	r3, [r7, #31]
 840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     goto error;
 430              		.loc 1 840 5
 431 0044 48E1     		b	.L19
 432              	.L18:
 841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
 842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((pData == NULL) || (Size == 0U))
 433              		.loc 1 843 6
 434 0046 BB68     		ldr	r3, [r7, #8]
 435 0048 002B     		cmp	r3, #0
 436 004a 02D0     		beq	.L20
 437              		.loc 1 843 23 discriminator 1
 438 004c FB88     		ldrh	r3, [r7, #6]
 439 004e 002B     		cmp	r3, #0
 440 0050 02D1     		bne	.L21
 441              	.L20:
 844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     errorcode = HAL_ERROR;
 442              		.loc 1 845 15
 443 0052 0123     		movs	r3, #1
 444 0054 FB77     		strb	r3, [r7, #31]
 846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     goto error;
 445              		.loc 1 846 5
 446 0056 3FE1     		b	.L19
 447              	.L21:
 847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
 848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Set the transaction information */
 850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->State       = HAL_SPI_STATE_BUSY_TX;
 448              		.loc 1 850 21
 449 0058 FB68     		ldr	r3, [r7, #12]
 450 005a 0322     		movs	r2, #3
 451 005c 83F85D20 		strb	r2, [r3, #93]
 851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->ErrorCode   = HAL_SPI_ERROR_NONE;
 452              		.loc 1 851 21
 453 0060 FB68     		ldr	r3, [r7, #12]
 454 0062 0022     		movs	r2, #0
 455 0064 1A66     		str	r2, [r3, #96]
 852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->pTxBuffPtr  = (uint8_t *)pData;
 456              		.loc 1 852 21
 457 0066 FB68     		ldr	r3, [r7, #12]
 458 0068 BA68     		ldr	r2, [r7, #8]
 459 006a 9A63     		str	r2, [r3, #56]
 853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxXferSize  = Size;
 460              		.loc 1 853 21
 461 006c FB68     		ldr	r3, [r7, #12]
 462 006e FA88     		ldrh	r2, [r7, #6]	@ movhi
 463 0070 9A87     		strh	r2, [r3, #60]	@ movhi
 854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxXferCount = Size;
 464              		.loc 1 854 21
 465 0072 FB68     		ldr	r3, [r7, #12]
 466 0074 FA88     		ldrh	r2, [r7, #6]	@ movhi
ARM GAS  /tmp/ccs34gJO.s 			page 24


 467 0076 DA87     		strh	r2, [r3, #62]	@ movhi
 855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /*Init field not used in handle to zero */
 857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->pRxBuffPtr  = (uint8_t *)NULL;
 468              		.loc 1 857 21
 469 0078 FB68     		ldr	r3, [r7, #12]
 470 007a 0022     		movs	r2, #0
 471 007c 1A64     		str	r2, [r3, #64]
 858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxXferSize  = 0U;
 472              		.loc 1 858 21
 473 007e FB68     		ldr	r3, [r7, #12]
 474 0080 0022     		movs	r2, #0
 475 0082 A3F84420 		strh	r2, [r3, #68]	@ movhi
 859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxXferCount = 0U;
 476              		.loc 1 859 21
 477 0086 FB68     		ldr	r3, [r7, #12]
 478 0088 0022     		movs	r2, #0
 479 008a A3F84620 		strh	r2, [r3, #70]	@ movhi
 860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxISR       = NULL;
 480              		.loc 1 860 21
 481 008e FB68     		ldr	r3, [r7, #12]
 482 0090 0022     		movs	r2, #0
 483 0092 1A65     		str	r2, [r3, #80]
 861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxISR       = NULL;
 484              		.loc 1 861 21
 485 0094 FB68     		ldr	r3, [r7, #12]
 486 0096 0022     		movs	r2, #0
 487 0098 DA64     		str	r2, [r3, #76]
 862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Configure communication direction : 1Line */
 864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.Direction == SPI_DIRECTION_1LINE)
 488              		.loc 1 864 17
 489 009a FB68     		ldr	r3, [r7, #12]
 490 009c 9B68     		ldr	r3, [r3, #8]
 491              		.loc 1 864 6
 492 009e B3F5004F 		cmp	r3, #32768
 493 00a2 0FD1     		bne	.L22
 865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Disable SPI Peripheral before set 1Line direction (BIDIOE bit) */
 867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     __HAL_SPI_DISABLE(hspi);
 494              		.loc 1 867 5
 495 00a4 FB68     		ldr	r3, [r7, #12]
 496 00a6 1B68     		ldr	r3, [r3]
 497 00a8 1A68     		ldr	r2, [r3]
 498 00aa FB68     		ldr	r3, [r7, #12]
 499 00ac 1B68     		ldr	r3, [r3]
 500 00ae 22F04002 		bic	r2, r2, #64
 501 00b2 1A60     		str	r2, [r3]
 868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SPI_1LINE_TX(hspi);
 502              		.loc 1 868 5
 503 00b4 FB68     		ldr	r3, [r7, #12]
 504 00b6 1B68     		ldr	r3, [r3]
 505 00b8 1A68     		ldr	r2, [r3]
 506 00ba FB68     		ldr	r3, [r7, #12]
 507 00bc 1B68     		ldr	r3, [r3]
 508 00be 42F48042 		orr	r2, r2, #16384
 509 00c2 1A60     		str	r2, [r3]
ARM GAS  /tmp/ccs34gJO.s 			page 25


 510              	.L22:
 869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
 870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
 872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Reset CRC Calculation */
 873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
 874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SPI_RESET_CRC(hspi);
 876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
 877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
 878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check if the SPI is already enabled */
 880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
 511              		.loc 1 880 12
 512 00c4 FB68     		ldr	r3, [r7, #12]
 513 00c6 1B68     		ldr	r3, [r3]
 514              		.loc 1 880 22
 515 00c8 1B68     		ldr	r3, [r3]
 516              		.loc 1 880 28
 517 00ca 03F04003 		and	r3, r3, #64
 518              		.loc 1 880 6
 519 00ce 402B     		cmp	r3, #64
 520 00d0 07D0     		beq	.L23
 881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Enable SPI peripheral */
 883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     __HAL_SPI_ENABLE(hspi);
 521              		.loc 1 883 5
 522 00d2 FB68     		ldr	r3, [r7, #12]
 523 00d4 1B68     		ldr	r3, [r3]
 524 00d6 1A68     		ldr	r2, [r3]
 525 00d8 FB68     		ldr	r3, [r7, #12]
 526 00da 1B68     		ldr	r3, [r3]
 527 00dc 42F04002 		orr	r2, r2, #64
 528 00e0 1A60     		str	r2, [r3]
 529              	.L23:
 884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
 885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Transmit data in 16 Bit mode */
 887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
 530              		.loc 1 887 17
 531 00e2 FB68     		ldr	r3, [r7, #12]
 532 00e4 DB68     		ldr	r3, [r3, #12]
 533              		.loc 1 887 6
 534 00e6 B3F5E06F 		cmp	r3, #1792
 535 00ea 4FD9     		bls	.L24
 888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U))
 536              		.loc 1 889 20
 537 00ec FB68     		ldr	r3, [r7, #12]
 538 00ee 5B68     		ldr	r3, [r3, #4]
 539              		.loc 1 889 8
 540 00f0 002B     		cmp	r3, #0
 541 00f2 02D0     		beq	.L25
 542              		.loc 1 889 45 discriminator 1
 543 00f4 FB8A     		ldrh	r3, [r7, #22]
 544 00f6 012B     		cmp	r3, #1
 545 00f8 42D1     		bne	.L27
ARM GAS  /tmp/ccs34gJO.s 			page 26


 546              	.L25:
 890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
 891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
 547              		.loc 1 891 46
 548 00fa FB68     		ldr	r3, [r7, #12]
 549 00fc 9B6B     		ldr	r3, [r3, #56]
 550              		.loc 1 891 28
 551 00fe 1A88     		ldrh	r2, [r3]
 552              		.loc 1 891 11
 553 0100 FB68     		ldr	r3, [r7, #12]
 554 0102 1B68     		ldr	r3, [r3]
 555              		.loc 1 891 26
 556 0104 DA60     		str	r2, [r3, #12]
 892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->pTxBuffPtr += sizeof(uint16_t);
 557              		.loc 1 892 11
 558 0106 FB68     		ldr	r3, [r7, #12]
 559 0108 9B6B     		ldr	r3, [r3, #56]
 560              		.loc 1 892 24
 561 010a 9A1C     		adds	r2, r3, #2
 562 010c FB68     		ldr	r3, [r7, #12]
 563 010e 9A63     		str	r2, [r3, #56]
 893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->TxXferCount--;
 564              		.loc 1 893 11
 565 0110 FB68     		ldr	r3, [r7, #12]
 566 0112 DB8F     		ldrh	r3, [r3, #62]	@ movhi
 567 0114 9BB2     		uxth	r3, r3
 568              		.loc 1 893 24
 569 0116 013B     		subs	r3, r3, #1
 570 0118 9AB2     		uxth	r2, r3
 571 011a FB68     		ldr	r3, [r7, #12]
 572 011c DA87     		strh	r2, [r3, #62]	@ movhi
 894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
 895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Transmit data in 16 Bit mode */
 896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     while (hspi->TxXferCount > 0U)
 573              		.loc 1 896 11
 574 011e 2FE0     		b	.L27
 575              	.L32:
 897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
 898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Wait until TXE flag is set to send data */
 899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE))
 576              		.loc 1 899 11
 577 0120 FB68     		ldr	r3, [r7, #12]
 578 0122 1B68     		ldr	r3, [r3]
 579 0124 9B68     		ldr	r3, [r3, #8]
 580 0126 03F00203 		and	r3, r3, #2
 581              		.loc 1 899 10
 582 012a 022B     		cmp	r3, #2
 583 012c 12D1     		bne	.L28
 900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
 901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
 584              		.loc 1 901 48
 585 012e FB68     		ldr	r3, [r7, #12]
 586 0130 9B6B     		ldr	r3, [r3, #56]
 587              		.loc 1 901 30
 588 0132 1A88     		ldrh	r2, [r3]
 589              		.loc 1 901 13
 590 0134 FB68     		ldr	r3, [r7, #12]
ARM GAS  /tmp/ccs34gJO.s 			page 27


 591 0136 1B68     		ldr	r3, [r3]
 592              		.loc 1 901 28
 593 0138 DA60     		str	r2, [r3, #12]
 902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->pTxBuffPtr += sizeof(uint16_t);
 594              		.loc 1 902 13
 595 013a FB68     		ldr	r3, [r7, #12]
 596 013c 9B6B     		ldr	r3, [r3, #56]
 597              		.loc 1 902 26
 598 013e 9A1C     		adds	r2, r3, #2
 599 0140 FB68     		ldr	r3, [r7, #12]
 600 0142 9A63     		str	r2, [r3, #56]
 903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->TxXferCount--;
 601              		.loc 1 903 13
 602 0144 FB68     		ldr	r3, [r7, #12]
 603 0146 DB8F     		ldrh	r3, [r3, #62]	@ movhi
 604 0148 9BB2     		uxth	r3, r3
 605              		.loc 1 903 26
 606 014a 013B     		subs	r3, r3, #1
 607 014c 9AB2     		uxth	r2, r3
 608 014e FB68     		ldr	r3, [r7, #12]
 609 0150 DA87     		strh	r2, [r3, #62]	@ movhi
 610 0152 15E0     		b	.L27
 611              	.L28:
 904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
 905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       else
 906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
 907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Timeout management */
 908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         if ((((HAL_GetTick() - tickstart) >=  Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout =
 612              		.loc 1 908 16
 613 0154 FFF7FEFF 		bl	HAL_GetTick
 614 0158 0246     		mov	r2, r0
 615              		.loc 1 908 30 discriminator 1
 616 015a BB69     		ldr	r3, [r7, #24]
 617 015c D31A     		subs	r3, r2, r3
 618              		.loc 1 908 12 discriminator 1
 619 015e 3A68     		ldr	r2, [r7]
 620 0160 9A42     		cmp	r2, r3
 621 0162 03D8     		bhi	.L30
 622              		.loc 1 908 56 discriminator 1
 623 0164 3B68     		ldr	r3, [r7]
 624 0166 B3F1FF3F 		cmp	r3, #-1
 625 016a 02D1     		bne	.L31
 626              	.L30:
 627              		.loc 1 908 87 discriminator 3
 628 016c 3B68     		ldr	r3, [r7]
 629 016e 002B     		cmp	r3, #0
 630 0170 06D1     		bne	.L27
 631              	.L31:
 909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         {
 910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           errorcode = HAL_TIMEOUT;
 632              		.loc 1 910 21
 633 0172 0323     		movs	r3, #3
 634 0174 FB77     		strb	r3, [r7, #31]
 911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           hspi->State = HAL_SPI_STATE_READY;
 635              		.loc 1 911 23
 636 0176 FB68     		ldr	r3, [r7, #12]
 637 0178 0122     		movs	r2, #1
ARM GAS  /tmp/ccs34gJO.s 			page 28


 638 017a 83F85D20 		strb	r2, [r3, #93]
 912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           goto error;
 639              		.loc 1 912 11
 640 017e ABE0     		b	.L19
 641              	.L27:
 896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
 642              		.loc 1 896 16
 643 0180 FB68     		ldr	r3, [r7, #12]
 644 0182 DB8F     		ldrh	r3, [r3, #62]	@ movhi
 645 0184 9BB2     		uxth	r3, r3
 896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
 646              		.loc 1 896 30
 647 0186 002B     		cmp	r3, #0
 648 0188 CAD1     		bne	.L32
 649 018a 80E0     		b	.L33
 650              	.L24:
 913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         }
 914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
 915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
 916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
 917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Transmit data in 8 Bit mode */
 918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   else
 919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U))
 651              		.loc 1 920 20
 652 018c FB68     		ldr	r3, [r7, #12]
 653 018e 5B68     		ldr	r3, [r3, #4]
 654              		.loc 1 920 8
 655 0190 002B     		cmp	r3, #0
 656 0192 02D0     		beq	.L34
 657              		.loc 1 920 45 discriminator 1
 658 0194 FB8A     		ldrh	r3, [r7, #22]
 659 0196 012B     		cmp	r3, #1
 660 0198 74D1     		bne	.L37
 661              	.L34:
 921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
 922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if (hspi->TxXferCount > 1U)
 662              		.loc 1 922 15
 663 019a FB68     		ldr	r3, [r7, #12]
 664 019c DB8F     		ldrh	r3, [r3, #62]	@ movhi
 665 019e 9BB2     		uxth	r3, r3
 666              		.loc 1 922 10
 667 01a0 012B     		cmp	r3, #1
 668 01a2 12D9     		bls	.L36
 923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
 924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* write on the data register in packing mode */
 925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
 669              		.loc 1 925 48
 670 01a4 FB68     		ldr	r3, [r7, #12]
 671 01a6 9B6B     		ldr	r3, [r3, #56]
 672              		.loc 1 925 30
 673 01a8 1A88     		ldrh	r2, [r3]
 674              		.loc 1 925 13
 675 01aa FB68     		ldr	r3, [r7, #12]
 676 01ac 1B68     		ldr	r3, [r3]
 677              		.loc 1 925 28
 678 01ae DA60     		str	r2, [r3, #12]
ARM GAS  /tmp/ccs34gJO.s 			page 29


 926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->pTxBuffPtr += sizeof(uint16_t);
 679              		.loc 1 926 13
 680 01b0 FB68     		ldr	r3, [r7, #12]
 681 01b2 9B6B     		ldr	r3, [r3, #56]
 682              		.loc 1 926 26
 683 01b4 9A1C     		adds	r2, r3, #2
 684 01b6 FB68     		ldr	r3, [r7, #12]
 685 01b8 9A63     		str	r2, [r3, #56]
 927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->TxXferCount -= 2U;
 686              		.loc 1 927 13
 687 01ba FB68     		ldr	r3, [r7, #12]
 688 01bc DB8F     		ldrh	r3, [r3, #62]	@ movhi
 689 01be 9BB2     		uxth	r3, r3
 690              		.loc 1 927 27
 691 01c0 023B     		subs	r3, r3, #2
 692 01c2 9AB2     		uxth	r2, r3
 693 01c4 FB68     		ldr	r3, [r7, #12]
 694 01c6 DA87     		strh	r2, [r3, #62]	@ movhi
 695 01c8 5CE0     		b	.L37
 696              	.L36:
 928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
 929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       else
 930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
 931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         *((__IO uint8_t *)&hspi->Instance->DR) = (*hspi->pTxBuffPtr);
 697              		.loc 1 931 56
 698 01ca FB68     		ldr	r3, [r7, #12]
 699 01cc 9A6B     		ldr	r2, [r3, #56]
 700              		.loc 1 931 32
 701 01ce FB68     		ldr	r3, [r7, #12]
 702 01d0 1B68     		ldr	r3, [r3]
 703              		.loc 1 931 27
 704 01d2 0C33     		adds	r3, r3, #12
 705              		.loc 1 931 51
 706 01d4 1278     		ldrb	r2, [r2]	@ zero_extendqisi2
 707              		.loc 1 931 48
 708 01d6 1A70     		strb	r2, [r3]
 932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->pTxBuffPtr ++;
 709              		.loc 1 932 13
 710 01d8 FB68     		ldr	r3, [r7, #12]
 711 01da 9B6B     		ldr	r3, [r3, #56]
 712              		.loc 1 932 26
 713 01dc 5A1C     		adds	r2, r3, #1
 714 01de FB68     		ldr	r3, [r7, #12]
 715 01e0 9A63     		str	r2, [r3, #56]
 933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->TxXferCount--;
 716              		.loc 1 933 13
 717 01e2 FB68     		ldr	r3, [r7, #12]
 718 01e4 DB8F     		ldrh	r3, [r3, #62]	@ movhi
 719 01e6 9BB2     		uxth	r3, r3
 720              		.loc 1 933 26
 721 01e8 013B     		subs	r3, r3, #1
 722 01ea 9AB2     		uxth	r2, r3
 723 01ec FB68     		ldr	r3, [r7, #12]
 724 01ee DA87     		strh	r2, [r3, #62]	@ movhi
 934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
 935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
 936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     while (hspi->TxXferCount > 0U)
ARM GAS  /tmp/ccs34gJO.s 			page 30


 725              		.loc 1 936 11
 726 01f0 48E0     		b	.L37
 727              	.L43:
 937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
 938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Wait until TXE flag is set to send data */
 939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE))
 728              		.loc 1 939 11
 729 01f2 FB68     		ldr	r3, [r7, #12]
 730 01f4 1B68     		ldr	r3, [r3]
 731 01f6 9B68     		ldr	r3, [r3, #8]
 732 01f8 03F00203 		and	r3, r3, #2
 733              		.loc 1 939 10
 734 01fc 022B     		cmp	r3, #2
 735 01fe 2BD1     		bne	.L38
 940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
 941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         if (hspi->TxXferCount > 1U)
 736              		.loc 1 941 17
 737 0200 FB68     		ldr	r3, [r7, #12]
 738 0202 DB8F     		ldrh	r3, [r3, #62]	@ movhi
 739 0204 9BB2     		uxth	r3, r3
 740              		.loc 1 941 12
 741 0206 012B     		cmp	r3, #1
 742 0208 12D9     		bls	.L39
 942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         {
 943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           /* write on the data register in packing mode */
 944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
 743              		.loc 1 944 50
 744 020a FB68     		ldr	r3, [r7, #12]
 745 020c 9B6B     		ldr	r3, [r3, #56]
 746              		.loc 1 944 32
 747 020e 1A88     		ldrh	r2, [r3]
 748              		.loc 1 944 15
 749 0210 FB68     		ldr	r3, [r7, #12]
 750 0212 1B68     		ldr	r3, [r3]
 751              		.loc 1 944 30
 752 0214 DA60     		str	r2, [r3, #12]
 945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           hspi->pTxBuffPtr += sizeof(uint16_t);
 753              		.loc 1 945 15
 754 0216 FB68     		ldr	r3, [r7, #12]
 755 0218 9B6B     		ldr	r3, [r3, #56]
 756              		.loc 1 945 28
 757 021a 9A1C     		adds	r2, r3, #2
 758 021c FB68     		ldr	r3, [r7, #12]
 759 021e 9A63     		str	r2, [r3, #56]
 946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           hspi->TxXferCount -= 2U;
 760              		.loc 1 946 15
 761 0220 FB68     		ldr	r3, [r7, #12]
 762 0222 DB8F     		ldrh	r3, [r3, #62]	@ movhi
 763 0224 9BB2     		uxth	r3, r3
 764              		.loc 1 946 29
 765 0226 023B     		subs	r3, r3, #2
 766 0228 9AB2     		uxth	r2, r3
 767 022a FB68     		ldr	r3, [r7, #12]
 768 022c DA87     		strh	r2, [r3, #62]	@ movhi
 769 022e 29E0     		b	.L37
 770              	.L39:
 947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         }
ARM GAS  /tmp/ccs34gJO.s 			page 31


 948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         else
 949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         {
 950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           *((__IO uint8_t *)&hspi->Instance->DR) = (*hspi->pTxBuffPtr);
 771              		.loc 1 950 58
 772 0230 FB68     		ldr	r3, [r7, #12]
 773 0232 9A6B     		ldr	r2, [r3, #56]
 774              		.loc 1 950 34
 775 0234 FB68     		ldr	r3, [r7, #12]
 776 0236 1B68     		ldr	r3, [r3]
 777              		.loc 1 950 29
 778 0238 0C33     		adds	r3, r3, #12
 779              		.loc 1 950 53
 780 023a 1278     		ldrb	r2, [r2]	@ zero_extendqisi2
 781              		.loc 1 950 50
 782 023c 1A70     		strb	r2, [r3]
 951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           hspi->pTxBuffPtr++;
 783              		.loc 1 951 15
 784 023e FB68     		ldr	r3, [r7, #12]
 785 0240 9B6B     		ldr	r3, [r3, #56]
 786              		.loc 1 951 27
 787 0242 5A1C     		adds	r2, r3, #1
 788 0244 FB68     		ldr	r3, [r7, #12]
 789 0246 9A63     		str	r2, [r3, #56]
 952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           hspi->TxXferCount--;
 790              		.loc 1 952 15
 791 0248 FB68     		ldr	r3, [r7, #12]
 792 024a DB8F     		ldrh	r3, [r3, #62]	@ movhi
 793 024c 9BB2     		uxth	r3, r3
 794              		.loc 1 952 28
 795 024e 013B     		subs	r3, r3, #1
 796 0250 9AB2     		uxth	r2, r3
 797 0252 FB68     		ldr	r3, [r7, #12]
 798 0254 DA87     		strh	r2, [r3, #62]	@ movhi
 799 0256 15E0     		b	.L37
 800              	.L38:
 953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         }
 954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
 955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       else
 956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
 957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Timeout management */
 958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         if ((((HAL_GetTick() - tickstart) >=  Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout =
 801              		.loc 1 958 16
 802 0258 FFF7FEFF 		bl	HAL_GetTick
 803 025c 0246     		mov	r2, r0
 804              		.loc 1 958 30 discriminator 1
 805 025e BB69     		ldr	r3, [r7, #24]
 806 0260 D31A     		subs	r3, r2, r3
 807              		.loc 1 958 12 discriminator 1
 808 0262 3A68     		ldr	r2, [r7]
 809 0264 9A42     		cmp	r2, r3
 810 0266 03D8     		bhi	.L41
 811              		.loc 1 958 56 discriminator 1
 812 0268 3B68     		ldr	r3, [r7]
 813 026a B3F1FF3F 		cmp	r3, #-1
 814 026e 02D1     		bne	.L42
 815              	.L41:
 816              		.loc 1 958 87 discriminator 3
ARM GAS  /tmp/ccs34gJO.s 			page 32


 817 0270 3B68     		ldr	r3, [r7]
 818 0272 002B     		cmp	r3, #0
 819 0274 06D1     		bne	.L37
 820              	.L42:
 959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         {
 960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           errorcode = HAL_TIMEOUT;
 821              		.loc 1 960 21
 822 0276 0323     		movs	r3, #3
 823 0278 FB77     		strb	r3, [r7, #31]
 961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           hspi->State = HAL_SPI_STATE_READY;
 824              		.loc 1 961 23
 825 027a FB68     		ldr	r3, [r7, #12]
 826 027c 0122     		movs	r2, #1
 827 027e 83F85D20 		strb	r2, [r3, #93]
 962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           goto error;
 828              		.loc 1 962 11
 829 0282 29E0     		b	.L19
 830              	.L37:
 936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
 831              		.loc 1 936 16
 832 0284 FB68     		ldr	r3, [r7, #12]
 833 0286 DB8F     		ldrh	r3, [r3, #62]	@ movhi
 834 0288 9BB2     		uxth	r3, r3
 936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
 835              		.loc 1 936 30
 836 028a 002B     		cmp	r3, #0
 837 028c B1D1     		bne	.L43
 838              	.L33:
 963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         }
 964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
 965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
 966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
 967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
 968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Enable CRC Transmission */
 969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
 970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
 972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
 973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
 974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check the end of the transaction */
 976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (SPI_EndRxTxTransaction(hspi, Timeout, tickstart) != HAL_OK)
 839              		.loc 1 976 7
 840 028e BA69     		ldr	r2, [r7, #24]
 841 0290 3968     		ldr	r1, [r7]
 842 0292 F868     		ldr	r0, [r7, #12]
 843 0294 FFF7FEFF 		bl	SPI_EndRxTxTransaction
 844 0298 0346     		mov	r3, r0
 845              		.loc 1 976 6 discriminator 1
 846 029a 002B     		cmp	r3, #0
 847 029c 02D0     		beq	.L44
 977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->ErrorCode = HAL_SPI_ERROR_FLAG;
 848              		.loc 1 978 21
 849 029e FB68     		ldr	r3, [r7, #12]
 850 02a0 2022     		movs	r2, #32
 851 02a2 1A66     		str	r2, [r3, #96]
ARM GAS  /tmp/ccs34gJO.s 			page 33


 852              	.L44:
 979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
 980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Clear overrun flag in 2 Lines communication mode because received is not read */
 982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.Direction == SPI_DIRECTION_2LINES)
 853              		.loc 1 982 17
 854 02a4 FB68     		ldr	r3, [r7, #12]
 855 02a6 9B68     		ldr	r3, [r3, #8]
 856              		.loc 1 982 6
 857 02a8 002B     		cmp	r3, #0
 858 02aa 0AD1     		bne	.L45
 859              	.LBB2:
 983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     __HAL_SPI_CLEAR_OVRFLAG(hspi);
 860              		.loc 1 984 5
 861 02ac 0023     		movs	r3, #0
 862 02ae 3B61     		str	r3, [r7, #16]
 863 02b0 FB68     		ldr	r3, [r7, #12]
 864 02b2 1B68     		ldr	r3, [r3]
 865 02b4 DB68     		ldr	r3, [r3, #12]
 866 02b6 3B61     		str	r3, [r7, #16]
 867 02b8 FB68     		ldr	r3, [r7, #12]
 868 02ba 1B68     		ldr	r3, [r3]
 869 02bc 9B68     		ldr	r3, [r3, #8]
 870 02be 3B61     		str	r3, [r7, #16]
 871 02c0 3B69     		ldr	r3, [r7, #16]
 872              	.L45:
 873              	.LBE2:
 985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
 986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
 874              		.loc 1 987 11
 875 02c2 FB68     		ldr	r3, [r7, #12]
 876 02c4 1B6E     		ldr	r3, [r3, #96]
 877              		.loc 1 987 6
 878 02c6 002B     		cmp	r3, #0
 879 02c8 02D0     		beq	.L46
 988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     errorcode = HAL_ERROR;
 880              		.loc 1 989 15
 881 02ca 0123     		movs	r3, #1
 882 02cc FB77     		strb	r3, [r7, #31]
 883 02ce 03E0     		b	.L19
 884              	.L46:
 990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
 991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   else
 992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->State = HAL_SPI_STATE_READY;
 885              		.loc 1 993 17
 886 02d0 FB68     		ldr	r3, [r7, #12]
 887 02d2 0122     		movs	r2, #1
 888 02d4 83F85D20 		strb	r2, [r3, #93]
 889              	.L19:
 994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
 995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
 996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** error:
 997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Process Unlocked */
ARM GAS  /tmp/ccs34gJO.s 			page 34


 998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_UNLOCK(hspi);
 890              		.loc 1 998 3
 891 02d8 FB68     		ldr	r3, [r7, #12]
 892 02da 0022     		movs	r2, #0
 893 02dc 83F85C20 		strb	r2, [r3, #92]
 999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   return errorcode;
 894              		.loc 1 999 10
 895 02e0 FB7F     		ldrb	r3, [r7, #31]	@ zero_extendqisi2
 896              	.L17:
1000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 897              		.loc 1 1000 1
 898 02e2 1846     		mov	r0, r3
 899 02e4 2037     		adds	r7, r7, #32
 900              		.cfi_def_cfa_offset 8
 901 02e6 BD46     		mov	sp, r7
 902              		.cfi_def_cfa_register 13
 903              		@ sp needed
 904 02e8 80BD     		pop	{r7, pc}
 905              		.cfi_endproc
 906              	.LFE134:
 908              		.section	.text.HAL_SPI_Receive,"ax",%progbits
 909              		.align	1
 910              		.global	HAL_SPI_Receive
 911              		.syntax unified
 912              		.thumb
 913              		.thumb_func
 915              	HAL_SPI_Receive:
 916              	.LFB135:
1001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
1003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Receive an amount of data in blocking mode.
1004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
1005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
1006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  pData pointer to data buffer
1007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  Size amount of data to be received
1008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  Timeout Timeout duration
1009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval HAL status
1010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
1011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Receive(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size, uint32_t 
1012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 917              		.loc 1 1012 1
 918              		.cfi_startproc
 919              		@ args = 0, pretend = 0, frame = 24
 920              		@ frame_needed = 1, uses_anonymous_args = 0
 921 0000 80B5     		push	{r7, lr}
 922              		.cfi_def_cfa_offset 8
 923              		.cfi_offset 7, -8
 924              		.cfi_offset 14, -4
 925 0002 88B0     		sub	sp, sp, #32
 926              		.cfi_def_cfa_offset 40
 927 0004 02AF     		add	r7, sp, #8
 928              		.cfi_def_cfa 7, 32
 929 0006 F860     		str	r0, [r7, #12]
 930 0008 B960     		str	r1, [r7, #8]
 931 000a 3B60     		str	r3, [r7]
 932 000c 1346     		mov	r3, r2	@ movhi
 933 000e FB80     		strh	r3, [r7, #6]	@ movhi
ARM GAS  /tmp/ccs34gJO.s 			page 35


1013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __IO uint32_t tmpreg = 0U;
1015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __IO uint8_t  *ptmpreg8;
1016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __IO uint8_t  tmpreg8 = 0;
1017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   uint32_t tickstart;
1019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   HAL_StatusTypeDef errorcode = HAL_OK;
 934              		.loc 1 1019 21
 935 0010 0023     		movs	r3, #0
 936 0012 FB75     		strb	r3, [r7, #23]
1020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->State != HAL_SPI_STATE_READY)
 937              		.loc 1 1021 11
 938 0014 FB68     		ldr	r3, [r7, #12]
 939 0016 93F85D30 		ldrb	r3, [r3, #93]
 940 001a DBB2     		uxtb	r3, r3
 941              		.loc 1 1021 6
 942 001c 012B     		cmp	r3, #1
 943 001e 02D0     		beq	.L48
1022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     errorcode = HAL_BUSY;
 944              		.loc 1 1023 15
 945 0020 0223     		movs	r3, #2
 946 0022 FB75     		strb	r3, [r7, #23]
1024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     goto error;
 947              		.loc 1 1024 5
 948 0024 1AE1     		b	.L49
 949              	.L48:
1025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((hspi->Init.Mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES))
 950              		.loc 1 1027 18
 951 0026 FB68     		ldr	r3, [r7, #12]
 952 0028 5B68     		ldr	r3, [r3, #4]
 953              		.loc 1 1027 6
 954 002a B3F5827F 		cmp	r3, #260
 955 002e 12D1     		bne	.L50
 956              		.loc 1 1027 58 discriminator 1
 957 0030 FB68     		ldr	r3, [r7, #12]
 958 0032 9B68     		ldr	r3, [r3, #8]
 959              		.loc 1 1027 44 discriminator 1
 960 0034 002B     		cmp	r3, #0
 961 0036 0ED1     		bne	.L50
1028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->State = HAL_SPI_STATE_BUSY_RX;
 962              		.loc 1 1029 17
 963 0038 FB68     		ldr	r3, [r7, #12]
 964 003a 0422     		movs	r2, #4
 965 003c 83F85D20 		strb	r2, [r3, #93]
1030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Call transmit-receive function to send Dummy data on Tx line and generate clock on CLK line 
1031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     return HAL_SPI_TransmitReceive(hspi, pData, pData, Size, Timeout);
 966              		.loc 1 1031 12
 967 0040 FA88     		ldrh	r2, [r7, #6]
 968 0042 3B68     		ldr	r3, [r7]
 969 0044 0093     		str	r3, [sp]
 970 0046 1346     		mov	r3, r2
 971 0048 BA68     		ldr	r2, [r7, #8]
ARM GAS  /tmp/ccs34gJO.s 			page 36


 972 004a B968     		ldr	r1, [r7, #8]
 973 004c F868     		ldr	r0, [r7, #12]
 974 004e FFF7FEFF 		bl	HAL_SPI_TransmitReceive
 975 0052 0346     		mov	r3, r0
 976 0054 07E1     		b	.L51
 977              	.L50:
1032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Process Locked */
1035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_LOCK(hspi);
 978              		.loc 1 1035 3
 979 0056 FB68     		ldr	r3, [r7, #12]
 980 0058 93F85C30 		ldrb	r3, [r3, #92]	@ zero_extendqisi2
 981 005c 012B     		cmp	r3, #1
 982 005e 01D1     		bne	.L52
 983              		.loc 1 1035 3 is_stmt 0 discriminator 1
 984 0060 0223     		movs	r3, #2
 985              		.loc 1 1035 3
 986 0062 00E1     		b	.L51
 987              	.L52:
 988              		.loc 1 1035 3 discriminator 2
 989 0064 FB68     		ldr	r3, [r7, #12]
 990 0066 0122     		movs	r2, #1
 991 0068 83F85C20 		strb	r2, [r3, #92]
1036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Init tickstart for timeout management*/
1038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   tickstart = HAL_GetTick();
 992              		.loc 1 1038 15 is_stmt 1
 993 006c FFF7FEFF 		bl	HAL_GetTick
 994 0070 3861     		str	r0, [r7, #16]
1039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((pData == NULL) || (Size == 0U))
 995              		.loc 1 1040 6
 996 0072 BB68     		ldr	r3, [r7, #8]
 997 0074 002B     		cmp	r3, #0
 998 0076 02D0     		beq	.L53
 999              		.loc 1 1040 23 discriminator 1
 1000 0078 FB88     		ldrh	r3, [r7, #6]
 1001 007a 002B     		cmp	r3, #0
 1002 007c 02D1     		bne	.L54
 1003              	.L53:
1041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     errorcode = HAL_ERROR;
 1004              		.loc 1 1042 15
 1005 007e 0123     		movs	r3, #1
 1006 0080 FB75     		strb	r3, [r7, #23]
1043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     goto error;
 1007              		.loc 1 1043 5
 1008 0082 EBE0     		b	.L49
 1009              	.L54:
1044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Set the transaction information */
1047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->State       = HAL_SPI_STATE_BUSY_RX;
 1010              		.loc 1 1047 21
 1011 0084 FB68     		ldr	r3, [r7, #12]
 1012 0086 0422     		movs	r2, #4
ARM GAS  /tmp/ccs34gJO.s 			page 37


 1013 0088 83F85D20 		strb	r2, [r3, #93]
1048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->ErrorCode   = HAL_SPI_ERROR_NONE;
 1014              		.loc 1 1048 21
 1015 008c FB68     		ldr	r3, [r7, #12]
 1016 008e 0022     		movs	r2, #0
 1017 0090 1A66     		str	r2, [r3, #96]
1049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->pRxBuffPtr  = (uint8_t *)pData;
 1018              		.loc 1 1049 21
 1019 0092 FB68     		ldr	r3, [r7, #12]
 1020 0094 BA68     		ldr	r2, [r7, #8]
 1021 0096 1A64     		str	r2, [r3, #64]
1050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxXferSize  = Size;
 1022              		.loc 1 1050 21
 1023 0098 FB68     		ldr	r3, [r7, #12]
 1024 009a FA88     		ldrh	r2, [r7, #6]	@ movhi
 1025 009c A3F84420 		strh	r2, [r3, #68]	@ movhi
1051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxXferCount = Size;
 1026              		.loc 1 1051 21
 1027 00a0 FB68     		ldr	r3, [r7, #12]
 1028 00a2 FA88     		ldrh	r2, [r7, #6]	@ movhi
 1029 00a4 A3F84620 		strh	r2, [r3, #70]	@ movhi
1052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /*Init field not used in handle to zero */
1054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->pTxBuffPtr  = (uint8_t *)NULL;
 1030              		.loc 1 1054 21
 1031 00a8 FB68     		ldr	r3, [r7, #12]
 1032 00aa 0022     		movs	r2, #0
 1033 00ac 9A63     		str	r2, [r3, #56]
1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxXferSize  = 0U;
 1034              		.loc 1 1055 21
 1035 00ae FB68     		ldr	r3, [r7, #12]
 1036 00b0 0022     		movs	r2, #0
 1037 00b2 9A87     		strh	r2, [r3, #60]	@ movhi
1056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxXferCount = 0U;
 1038              		.loc 1 1056 21
 1039 00b4 FB68     		ldr	r3, [r7, #12]
 1040 00b6 0022     		movs	r2, #0
 1041 00b8 DA87     		strh	r2, [r3, #62]	@ movhi
1057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxISR       = NULL;
 1042              		.loc 1 1057 21
 1043 00ba FB68     		ldr	r3, [r7, #12]
 1044 00bc 0022     		movs	r2, #0
 1045 00be DA64     		str	r2, [r3, #76]
1058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxISR       = NULL;
 1046              		.loc 1 1058 21
 1047 00c0 FB68     		ldr	r3, [r7, #12]
 1048 00c2 0022     		movs	r2, #0
 1049 00c4 1A65     		str	r2, [r3, #80]
1059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Reset CRC Calculation */
1062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SPI_RESET_CRC(hspi);
1065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* this is done to handle the CRCNEXT before the latest data */
1066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->RxXferCount--;
1067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
ARM GAS  /tmp/ccs34gJO.s 			page 38


1068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Set the Rx Fifo threshold */
1071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
 1050              		.loc 1 1071 17
 1051 00c6 FB68     		ldr	r3, [r7, #12]
 1052 00c8 DB68     		ldr	r3, [r3, #12]
 1053              		.loc 1 1071 6
 1054 00ca B3F5E06F 		cmp	r3, #1792
 1055 00ce 08D9     		bls	.L55
1072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Set RX Fifo threshold according the reception data length: 16bit */
1074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     CLEAR_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
 1056              		.loc 1 1074 5
 1057 00d0 FB68     		ldr	r3, [r7, #12]
 1058 00d2 1B68     		ldr	r3, [r3]
 1059 00d4 5A68     		ldr	r2, [r3, #4]
 1060 00d6 FB68     		ldr	r3, [r7, #12]
 1061 00d8 1B68     		ldr	r3, [r3]
 1062 00da 22F48052 		bic	r2, r2, #4096
 1063 00de 5A60     		str	r2, [r3, #4]
 1064 00e0 07E0     		b	.L56
 1065              	.L55:
1075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   else
1077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Set RX Fifo threshold according the reception data length: 8bit */
1079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
 1066              		.loc 1 1079 5
 1067 00e2 FB68     		ldr	r3, [r7, #12]
 1068 00e4 1B68     		ldr	r3, [r3]
 1069 00e6 5A68     		ldr	r2, [r3, #4]
 1070 00e8 FB68     		ldr	r3, [r7, #12]
 1071 00ea 1B68     		ldr	r3, [r3]
 1072 00ec 42F48052 		orr	r2, r2, #4096
 1073 00f0 5A60     		str	r2, [r3, #4]
 1074              	.L56:
1080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Configure communication direction: 1Line */
1083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.Direction == SPI_DIRECTION_1LINE)
 1075              		.loc 1 1083 17
 1076 00f2 FB68     		ldr	r3, [r7, #12]
 1077 00f4 9B68     		ldr	r3, [r3, #8]
 1078              		.loc 1 1083 6
 1079 00f6 B3F5004F 		cmp	r3, #32768
 1080 00fa 0FD1     		bne	.L57
1084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Disable SPI Peripheral before set 1Line direction (BIDIOE bit) */
1086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     __HAL_SPI_DISABLE(hspi);
 1081              		.loc 1 1086 5
 1082 00fc FB68     		ldr	r3, [r7, #12]
 1083 00fe 1B68     		ldr	r3, [r3]
 1084 0100 1A68     		ldr	r2, [r3]
 1085 0102 FB68     		ldr	r3, [r7, #12]
 1086 0104 1B68     		ldr	r3, [r3]
 1087 0106 22F04002 		bic	r2, r2, #64
ARM GAS  /tmp/ccs34gJO.s 			page 39


 1088 010a 1A60     		str	r2, [r3]
1087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SPI_1LINE_RX(hspi);
 1089              		.loc 1 1087 5
 1090 010c FB68     		ldr	r3, [r7, #12]
 1091 010e 1B68     		ldr	r3, [r3]
 1092 0110 1A68     		ldr	r2, [r3]
 1093 0112 FB68     		ldr	r3, [r7, #12]
 1094 0114 1B68     		ldr	r3, [r3]
 1095 0116 22F48042 		bic	r2, r2, #16384
 1096 011a 1A60     		str	r2, [r3]
 1097              	.L57:
1088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check if the SPI is already enabled */
1091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
 1098              		.loc 1 1091 12
 1099 011c FB68     		ldr	r3, [r7, #12]
 1100 011e 1B68     		ldr	r3, [r3]
 1101              		.loc 1 1091 22
 1102 0120 1B68     		ldr	r3, [r3]
 1103              		.loc 1 1091 28
 1104 0122 03F04003 		and	r3, r3, #64
 1105              		.loc 1 1091 6
 1106 0126 402B     		cmp	r3, #64
 1107 0128 07D0     		beq	.L58
1092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Enable SPI peripheral */
1094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     __HAL_SPI_ENABLE(hspi);
 1108              		.loc 1 1094 5
 1109 012a FB68     		ldr	r3, [r7, #12]
 1110 012c 1B68     		ldr	r3, [r3]
 1111 012e 1A68     		ldr	r2, [r3]
 1112 0130 FB68     		ldr	r3, [r7, #12]
 1113 0132 1B68     		ldr	r3, [r3]
 1114 0134 42F04002 		orr	r2, r2, #64
 1115 0138 1A60     		str	r2, [r3]
 1116              	.L58:
1095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Receive data in 8 Bit mode */
1098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.DataSize <= SPI_DATASIZE_8BIT)
 1117              		.loc 1 1098 17
 1118 013a FB68     		ldr	r3, [r7, #12]
 1119 013c DB68     		ldr	r3, [r3, #12]
 1120              		.loc 1 1098 6
 1121 013e B3F5E06F 		cmp	r3, #1792
 1122 0142 6FD8     		bhi	.L67
1099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Transfer loop */
1101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     while (hspi->RxXferCount > 0U)
 1123              		.loc 1 1101 11
 1124 0144 34E0     		b	.L60
 1125              	.L65:
1102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
1103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Check the RXNE flag */
1104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXNE))
 1126              		.loc 1 1104 11
ARM GAS  /tmp/ccs34gJO.s 			page 40


 1127 0146 FB68     		ldr	r3, [r7, #12]
 1128 0148 1B68     		ldr	r3, [r3]
 1129 014a 9B68     		ldr	r3, [r3, #8]
 1130 014c 03F00103 		and	r3, r3, #1
 1131              		.loc 1 1104 10
 1132 0150 012B     		cmp	r3, #1
 1133 0152 17D1     		bne	.L61
1105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
1106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* read the received data */
1107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         (* (uint8_t *)hspi->pRxBuffPtr) = *(__IO uint8_t *)&hspi->Instance->DR;
 1134              		.loc 1 1107 65
 1135 0154 FB68     		ldr	r3, [r7, #12]
 1136 0156 1B68     		ldr	r3, [r3]
 1137              		.loc 1 1107 60
 1138 0158 03F10C02 		add	r2, r3, #12
 1139              		.loc 1 1107 27
 1140 015c FB68     		ldr	r3, [r7, #12]
 1141 015e 1B6C     		ldr	r3, [r3, #64]
 1142              		.loc 1 1107 43
 1143 0160 1278     		ldrb	r2, [r2]
 1144 0162 D2B2     		uxtb	r2, r2
 1145              		.loc 1 1107 41
 1146 0164 1A70     		strb	r2, [r3]
1108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->pRxBuffPtr += sizeof(uint8_t);
 1147              		.loc 1 1108 13
 1148 0166 FB68     		ldr	r3, [r7, #12]
 1149 0168 1B6C     		ldr	r3, [r3, #64]
 1150              		.loc 1 1108 26
 1151 016a 5A1C     		adds	r2, r3, #1
 1152 016c FB68     		ldr	r3, [r7, #12]
 1153 016e 1A64     		str	r2, [r3, #64]
1109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->RxXferCount--;
 1154              		.loc 1 1109 13
 1155 0170 FB68     		ldr	r3, [r7, #12]
 1156 0172 B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 1157 0176 9BB2     		uxth	r3, r3
 1158              		.loc 1 1109 26
 1159 0178 013B     		subs	r3, r3, #1
 1160 017a 9AB2     		uxth	r2, r3
 1161 017c FB68     		ldr	r3, [r7, #12]
 1162 017e A3F84620 		strh	r2, [r3, #70]	@ movhi
 1163 0182 15E0     		b	.L60
 1164              	.L61:
1110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       else
1112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
1113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Timeout management */
1114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         if ((((HAL_GetTick() - tickstart) >=  Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout =
 1165              		.loc 1 1114 16
 1166 0184 FFF7FEFF 		bl	HAL_GetTick
 1167 0188 0246     		mov	r2, r0
 1168              		.loc 1 1114 30 discriminator 1
 1169 018a 3B69     		ldr	r3, [r7, #16]
 1170 018c D31A     		subs	r3, r2, r3
 1171              		.loc 1 1114 12 discriminator 1
 1172 018e 3A68     		ldr	r2, [r7]
 1173 0190 9A42     		cmp	r2, r3
ARM GAS  /tmp/ccs34gJO.s 			page 41


 1174 0192 03D8     		bhi	.L63
 1175              		.loc 1 1114 56 discriminator 1
 1176 0194 3B68     		ldr	r3, [r7]
 1177 0196 B3F1FF3F 		cmp	r3, #-1
 1178 019a 02D1     		bne	.L64
 1179              	.L63:
 1180              		.loc 1 1114 87 discriminator 3
 1181 019c 3B68     		ldr	r3, [r7]
 1182 019e 002B     		cmp	r3, #0
 1183 01a0 06D1     		bne	.L60
 1184              	.L64:
1115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         {
1116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           errorcode = HAL_TIMEOUT;
 1185              		.loc 1 1116 21
 1186 01a2 0323     		movs	r3, #3
 1187 01a4 FB75     		strb	r3, [r7, #23]
1117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           hspi->State = HAL_SPI_STATE_READY;
 1188              		.loc 1 1117 23
 1189 01a6 FB68     		ldr	r3, [r7, #12]
 1190 01a8 0122     		movs	r2, #1
 1191 01aa 83F85D20 		strb	r2, [r3, #93]
1118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           goto error;
 1192              		.loc 1 1118 11
 1193 01ae 55E0     		b	.L49
 1194              	.L60:
1101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
 1195              		.loc 1 1101 16
 1196 01b0 FB68     		ldr	r3, [r7, #12]
 1197 01b2 B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 1198 01b6 9BB2     		uxth	r3, r3
1101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
 1199              		.loc 1 1101 30
 1200 01b8 002B     		cmp	r3, #0
 1201 01ba C4D1     		bne	.L65
 1202 01bc 38E0     		b	.L66
 1203              	.L72:
1119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         }
1120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
1121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   else
1124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Transfer loop */
1126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     while (hspi->RxXferCount > 0U)
1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
1128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Check the RXNE flag */
1129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXNE))
 1204              		.loc 1 1129 11
 1205 01be FB68     		ldr	r3, [r7, #12]
 1206 01c0 1B68     		ldr	r3, [r3]
 1207 01c2 9B68     		ldr	r3, [r3, #8]
 1208 01c4 03F00103 		and	r3, r3, #1
 1209              		.loc 1 1129 10
 1210 01c8 012B     		cmp	r3, #1
 1211 01ca 15D1     		bne	.L68
1130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
1131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)hspi->Instance->DR;
ARM GAS  /tmp/ccs34gJO.s 			page 42


 1212              		.loc 1 1131 57
 1213 01cc FB68     		ldr	r3, [r7, #12]
 1214 01ce 1B68     		ldr	r3, [r3]
 1215              		.loc 1 1131 67
 1216 01d0 DA68     		ldr	r2, [r3, #12]
 1217              		.loc 1 1131 27
 1218 01d2 FB68     		ldr	r3, [r7, #12]
 1219 01d4 1B6C     		ldr	r3, [r3, #64]
 1220              		.loc 1 1131 43
 1221 01d6 92B2     		uxth	r2, r2
 1222              		.loc 1 1131 41
 1223 01d8 1A80     		strh	r2, [r3]	@ movhi
1132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->pRxBuffPtr += sizeof(uint16_t);
 1224              		.loc 1 1132 13
 1225 01da FB68     		ldr	r3, [r7, #12]
 1226 01dc 1B6C     		ldr	r3, [r3, #64]
 1227              		.loc 1 1132 26
 1228 01de 9A1C     		adds	r2, r3, #2
 1229 01e0 FB68     		ldr	r3, [r7, #12]
 1230 01e2 1A64     		str	r2, [r3, #64]
1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->RxXferCount--;
 1231              		.loc 1 1133 13
 1232 01e4 FB68     		ldr	r3, [r7, #12]
 1233 01e6 B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 1234 01ea 9BB2     		uxth	r3, r3
 1235              		.loc 1 1133 26
 1236 01ec 013B     		subs	r3, r3, #1
 1237 01ee 9AB2     		uxth	r2, r3
 1238 01f0 FB68     		ldr	r3, [r7, #12]
 1239 01f2 A3F84620 		strh	r2, [r3, #70]	@ movhi
 1240 01f6 15E0     		b	.L67
 1241              	.L68:
1134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
1135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       else
1136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
1137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Timeout management */
1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         if ((((HAL_GetTick() - tickstart) >=  Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout =
 1242              		.loc 1 1138 16
 1243 01f8 FFF7FEFF 		bl	HAL_GetTick
 1244 01fc 0246     		mov	r2, r0
 1245              		.loc 1 1138 30 discriminator 1
 1246 01fe 3B69     		ldr	r3, [r7, #16]
 1247 0200 D31A     		subs	r3, r2, r3
 1248              		.loc 1 1138 12 discriminator 1
 1249 0202 3A68     		ldr	r2, [r7]
 1250 0204 9A42     		cmp	r2, r3
 1251 0206 03D8     		bhi	.L70
 1252              		.loc 1 1138 56 discriminator 1
 1253 0208 3B68     		ldr	r3, [r7]
 1254 020a B3F1FF3F 		cmp	r3, #-1
 1255 020e 02D1     		bne	.L71
 1256              	.L70:
 1257              		.loc 1 1138 87 discriminator 3
 1258 0210 3B68     		ldr	r3, [r7]
 1259 0212 002B     		cmp	r3, #0
 1260 0214 06D1     		bne	.L67
 1261              	.L71:
ARM GAS  /tmp/ccs34gJO.s 			page 43


1139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         {
1140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           errorcode = HAL_TIMEOUT;
 1262              		.loc 1 1140 21
 1263 0216 0323     		movs	r3, #3
 1264 0218 FB75     		strb	r3, [r7, #23]
1141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           hspi->State = HAL_SPI_STATE_READY;
 1265              		.loc 1 1141 23
 1266 021a FB68     		ldr	r3, [r7, #12]
 1267 021c 0122     		movs	r2, #1
 1268 021e 83F85D20 		strb	r2, [r3, #93]
1142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           goto error;
 1269              		.loc 1 1142 11
 1270 0222 1BE0     		b	.L49
 1271              	.L67:
1126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
 1272              		.loc 1 1126 16
 1273 0224 FB68     		ldr	r3, [r7, #12]
 1274 0226 B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 1275 022a 9BB2     		uxth	r3, r3
1126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
 1276              		.loc 1 1126 30
 1277 022c 002B     		cmp	r3, #0
 1278 022e C6D1     		bne	.L72
 1279              	.L66:
1143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         }
1144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
1145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
1146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Handle the CRC Transmission */
1150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* freeze the CRC before the latest data */
1153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
1154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Read the latest data */
1156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SET, Timeout, tickstart) != HAL_OK)
1157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
1158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* the latest data has not been received */
1159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       errorcode = HAL_TIMEOUT;
1160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       goto error;
1161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
1162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Receive last data in 16 Bit mode */
1164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
1165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
1166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)hspi->Instance->DR;
1167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
1168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Receive last data in 8 Bit mode */
1169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     else
1170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
1171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       (*(uint8_t *)hspi->pRxBuffPtr) = *(__IO uint8_t *)&hspi->Instance->DR;
1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
1173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Wait the CRC data */
1175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SET, Timeout, tickstart) != HAL_OK)
ARM GAS  /tmp/ccs34gJO.s 			page 44


1176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
1177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
1178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       errorcode = HAL_TIMEOUT;
1179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       goto error;
1180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
1181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Read CRC to Flush DR and RXNE flag */
1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->Init.DataSize == SPI_DATASIZE_16BIT)
1184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
1185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Read 16bit CRC */
1186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       tmpreg = READ_REG(hspi->Instance->DR);
1187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* To avoid GCC warning */
1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       UNUSED(tmpreg);
1189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
1190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     else
1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
1192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Initialize the 8bit temporary pointer */
1193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       ptmpreg8 = (__IO uint8_t *)&hspi->Instance->DR;
1194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Read 8bit CRC */
1195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       tmpreg8 = *ptmpreg8;
1196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* To avoid GCC warning */
1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       UNUSED(tmpreg8);
1198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if ((hspi->Init.DataSize == SPI_DATASIZE_8BIT) && (hspi->Init.CRCLength == SPI_CRC_LENGTH_16B
1200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
1201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SET, Timeout, tickstart) != HAL_OK)
1202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         {
1203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           /* Error on the CRC reception */
1204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
1205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           errorcode = HAL_TIMEOUT;
1206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           goto error;
1207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         }
1208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Read 8bit CRC again in case of 16bit CRC in 8bit Data mode */
1209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         tmpreg8 = *ptmpreg8;
1210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* To avoid GCC warning */
1211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         UNUSED(tmpreg8);
1212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
1213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
1214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check the end of the transaction */
1218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (SPI_EndRxTransaction(hspi, Timeout, tickstart) != HAL_OK)
 1280              		.loc 1 1218 7
 1281 0230 3A69     		ldr	r2, [r7, #16]
 1282 0232 3968     		ldr	r1, [r7]
 1283 0234 F868     		ldr	r0, [r7, #12]
 1284 0236 FFF7FEFF 		bl	SPI_EndRxTransaction
 1285 023a 0346     		mov	r3, r0
 1286              		.loc 1 1218 6 discriminator 1
 1287 023c 002B     		cmp	r3, #0
 1288 023e 02D0     		beq	.L73
1219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->ErrorCode = HAL_SPI_ERROR_FLAG;
 1289              		.loc 1 1220 21
 1290 0240 FB68     		ldr	r3, [r7, #12]
 1291 0242 2022     		movs	r2, #32
ARM GAS  /tmp/ccs34gJO.s 			page 45


 1292 0244 1A66     		str	r2, [r3, #96]
 1293              	.L73:
1221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check if CRC error occurred */
1225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_CRCERR))
1226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
1228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     __HAL_SPI_CLEAR_CRCERRFLAG(hspi);
1229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
 1294              		.loc 1 1232 11
 1295 0246 FB68     		ldr	r3, [r7, #12]
 1296 0248 1B6E     		ldr	r3, [r3, #96]
 1297              		.loc 1 1232 6
 1298 024a 002B     		cmp	r3, #0
 1299 024c 02D0     		beq	.L74
1233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     errorcode = HAL_ERROR;
 1300              		.loc 1 1234 15
 1301 024e 0123     		movs	r3, #1
 1302 0250 FB75     		strb	r3, [r7, #23]
 1303 0252 03E0     		b	.L49
 1304              	.L74:
1235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   else
1237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->State = HAL_SPI_STATE_READY;
 1305              		.loc 1 1238 17
 1306 0254 FB68     		ldr	r3, [r7, #12]
 1307 0256 0122     		movs	r2, #1
 1308 0258 83F85D20 		strb	r2, [r3, #93]
 1309              	.L49:
1239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** error :
1242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_UNLOCK(hspi);
 1310              		.loc 1 1242 3
 1311 025c FB68     		ldr	r3, [r7, #12]
 1312 025e 0022     		movs	r2, #0
 1313 0260 83F85C20 		strb	r2, [r3, #92]
1243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   return errorcode;
 1314              		.loc 1 1243 10
 1315 0264 FB7D     		ldrb	r3, [r7, #23]	@ zero_extendqisi2
 1316              	.L51:
1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 1317              		.loc 1 1244 1
 1318 0266 1846     		mov	r0, r3
 1319 0268 1837     		adds	r7, r7, #24
 1320              		.cfi_def_cfa_offset 8
 1321 026a BD46     		mov	sp, r7
 1322              		.cfi_def_cfa_register 13
 1323              		@ sp needed
 1324 026c 80BD     		pop	{r7, pc}
ARM GAS  /tmp/ccs34gJO.s 			page 46


 1325              		.cfi_endproc
 1326              	.LFE135:
 1328              		.section	.text.HAL_SPI_TransmitReceive,"ax",%progbits
 1329              		.align	1
 1330              		.global	HAL_SPI_TransmitReceive
 1331              		.syntax unified
 1332              		.thumb
 1333              		.thumb_func
 1335              	HAL_SPI_TransmitReceive:
 1336              	.LFB136:
1245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
1247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Transmit and Receive an amount of data in blocking mode.
1248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
1249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
1250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  pTxData pointer to transmission data buffer
1251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  pRxData pointer to reception data buffer
1252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  Size amount of data to be sent and received
1253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  Timeout Timeout duration
1254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval HAL status
1255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
1256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_TransmitReceive(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *pRxDa
1257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                           uint32_t Timeout)
1258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 1337              		.loc 1 1258 1
 1338              		.cfi_startproc
 1339              		@ args = 4, pretend = 0, frame = 40
 1340              		@ frame_needed = 1, uses_anonymous_args = 0
 1341 0000 80B5     		push	{r7, lr}
 1342              		.cfi_def_cfa_offset 8
 1343              		.cfi_offset 7, -8
 1344              		.cfi_offset 14, -4
 1345 0002 8AB0     		sub	sp, sp, #40
 1346              		.cfi_def_cfa_offset 48
 1347 0004 00AF     		add	r7, sp, #0
 1348              		.cfi_def_cfa_register 7
 1349 0006 F860     		str	r0, [r7, #12]
 1350 0008 B960     		str	r1, [r7, #8]
 1351 000a 7A60     		str	r2, [r7, #4]
 1352 000c 7B80     		strh	r3, [r7, #2]	@ movhi
1259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   uint16_t             initial_TxXferCount;
1260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   uint16_t             initial_RxXferCount;
1261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   uint32_t             tmp_mode;
1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   HAL_SPI_StateTypeDef tmp_state;
1263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   uint32_t             tickstart;
1264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __IO uint32_t tmpreg = 0U;
1266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   uint32_t             spi_cr1;
1267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   uint32_t             spi_cr2;
1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __IO uint8_t  *ptmpreg8;
1269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __IO uint8_t  tmpreg8 = 0;
1270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Variable used to alternate Rx and Tx during transfer */
1273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   uint32_t             txallowed = 1U;
 1353              		.loc 1 1273 24
 1354 000e 0123     		movs	r3, #1
ARM GAS  /tmp/ccs34gJO.s 			page 47


 1355 0010 7B62     		str	r3, [r7, #36]
1274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   HAL_StatusTypeDef    errorcode = HAL_OK;
 1356              		.loc 1 1274 24
 1357 0012 0023     		movs	r3, #0
 1358 0014 87F82330 		strb	r3, [r7, #35]
1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check Direction parameter */
1277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   assert_param(IS_SPI_DIRECTION_2LINES(hspi->Init.Direction));
1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Process Locked */
1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_LOCK(hspi);
 1359              		.loc 1 1280 3
 1360 0018 FB68     		ldr	r3, [r7, #12]
 1361 001a 93F85C30 		ldrb	r3, [r3, #92]	@ zero_extendqisi2
 1362 001e 012B     		cmp	r3, #1
 1363 0020 01D1     		bne	.L76
 1364              		.loc 1 1280 3 is_stmt 0 discriminator 1
 1365 0022 0223     		movs	r3, #2
 1366              		.loc 1 1280 3
 1367 0024 0AE2     		b	.L77
 1368              	.L76:
 1369              		.loc 1 1280 3 discriminator 2
 1370 0026 FB68     		ldr	r3, [r7, #12]
 1371 0028 0122     		movs	r2, #1
 1372 002a 83F85C20 		strb	r2, [r3, #92]
1281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Init tickstart for timeout management*/
1283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   tickstart = HAL_GetTick();
 1373              		.loc 1 1283 15 is_stmt 1
 1374 002e FFF7FEFF 		bl	HAL_GetTick
 1375 0032 F861     		str	r0, [r7, #28]
1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Init temporary variables */
1286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   tmp_state           = hspi->State;
 1376              		.loc 1 1286 23
 1377 0034 FB68     		ldr	r3, [r7, #12]
 1378 0036 93F85D30 		ldrb	r3, [r3, #93]
 1379 003a FB76     		strb	r3, [r7, #27]
1287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   tmp_mode            = hspi->Init.Mode;
 1380              		.loc 1 1287 23
 1381 003c FB68     		ldr	r3, [r7, #12]
 1382 003e 5B68     		ldr	r3, [r3, #4]
 1383 0040 7B61     		str	r3, [r7, #20]
1288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   initial_TxXferCount = Size;
 1384              		.loc 1 1288 23
 1385 0042 7B88     		ldrh	r3, [r7, #2]	@ movhi
 1386 0044 7B82     		strh	r3, [r7, #18]	@ movhi
1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   initial_RxXferCount = Size;
 1387              		.loc 1 1289 23
 1388 0046 7B88     		ldrh	r3, [r7, #2]	@ movhi
 1389 0048 3B82     		strh	r3, [r7, #16]	@ movhi
1290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   spi_cr1             = READ_REG(hspi->Instance->CR1);
1292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   spi_cr2             = READ_REG(hspi->Instance->CR2);
1293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (!((tmp_state == HAL_SPI_STATE_READY) || \
ARM GAS  /tmp/ccs34gJO.s 			page 48


 1390              		.loc 1 1295 6
 1391 004a FB7E     		ldrb	r3, [r7, #27]	@ zero_extendqisi2
 1392 004c 012B     		cmp	r3, #1
 1393 004e 0ED0     		beq	.L78
 1394              		.loc 1 1295 7 discriminator 1
 1395 0050 7B69     		ldr	r3, [r7, #20]
 1396 0052 B3F5827F 		cmp	r3, #260
 1397 0056 06D1     		bne	.L79
1296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
 1398              		.loc 1 1296 54
 1399 0058 FB68     		ldr	r3, [r7, #12]
 1400 005a 9B68     		ldr	r3, [r3, #8]
 1401              		.loc 1 1296 40
 1402 005c 002B     		cmp	r3, #0
 1403 005e 02D1     		bne	.L79
 1404              		.loc 1 1296 90 discriminator 1
 1405 0060 FB7E     		ldrb	r3, [r7, #27]	@ zero_extendqisi2
 1406 0062 042B     		cmp	r3, #4
 1407 0064 03D0     		beq	.L78
 1408              	.L79:
1297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     errorcode = HAL_BUSY;
 1409              		.loc 1 1298 15
 1410 0066 0223     		movs	r3, #2
 1411 0068 87F82330 		strb	r3, [r7, #35]
1299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     goto error;
 1412              		.loc 1 1299 5
 1413 006c E0E1     		b	.L80
 1414              	.L78:
1300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0U))
 1415              		.loc 1 1302 6
 1416 006e BB68     		ldr	r3, [r7, #8]
 1417 0070 002B     		cmp	r3, #0
 1418 0072 05D0     		beq	.L81
 1419              		.loc 1 1302 25 discriminator 1
 1420 0074 7B68     		ldr	r3, [r7, #4]
 1421 0076 002B     		cmp	r3, #0
 1422 0078 02D0     		beq	.L81
 1423              		.loc 1 1302 46 discriminator 2
 1424 007a 7B88     		ldrh	r3, [r7, #2]
 1425 007c 002B     		cmp	r3, #0
 1426 007e 03D1     		bne	.L82
 1427              	.L81:
1303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     errorcode = HAL_ERROR;
 1428              		.loc 1 1304 15
 1429 0080 0123     		movs	r3, #1
 1430 0082 87F82330 		strb	r3, [r7, #35]
1305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     goto error;
 1431              		.loc 1 1305 5
 1432 0086 D3E1     		b	.L80
 1433              	.L82:
1306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Don't overwrite in case of HAL_SPI_STATE_BUSY_RX */
ARM GAS  /tmp/ccs34gJO.s 			page 49


1309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->State != HAL_SPI_STATE_BUSY_RX)
 1434              		.loc 1 1309 11
 1435 0088 FB68     		ldr	r3, [r7, #12]
 1436 008a 93F85D30 		ldrb	r3, [r3, #93]
 1437 008e DBB2     		uxtb	r3, r3
 1438              		.loc 1 1309 6
 1439 0090 042B     		cmp	r3, #4
 1440 0092 03D0     		beq	.L83
1310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->State = HAL_SPI_STATE_BUSY_TX_RX;
 1441              		.loc 1 1311 17
 1442 0094 FB68     		ldr	r3, [r7, #12]
 1443 0096 0522     		movs	r2, #5
 1444 0098 83F85D20 		strb	r2, [r3, #93]
 1445              	.L83:
1312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Set the transaction information */
1315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->ErrorCode   = HAL_SPI_ERROR_NONE;
 1446              		.loc 1 1315 21
 1447 009c FB68     		ldr	r3, [r7, #12]
 1448 009e 0022     		movs	r2, #0
 1449 00a0 1A66     		str	r2, [r3, #96]
1316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->pRxBuffPtr  = (uint8_t *)pRxData;
 1450              		.loc 1 1316 21
 1451 00a2 FB68     		ldr	r3, [r7, #12]
 1452 00a4 7A68     		ldr	r2, [r7, #4]
 1453 00a6 1A64     		str	r2, [r3, #64]
1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxXferCount = Size;
 1454              		.loc 1 1317 21
 1455 00a8 FB68     		ldr	r3, [r7, #12]
 1456 00aa 7A88     		ldrh	r2, [r7, #2]	@ movhi
 1457 00ac A3F84620 		strh	r2, [r3, #70]	@ movhi
1318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxXferSize  = Size;
 1458              		.loc 1 1318 21
 1459 00b0 FB68     		ldr	r3, [r7, #12]
 1460 00b2 7A88     		ldrh	r2, [r7, #2]	@ movhi
 1461 00b4 A3F84420 		strh	r2, [r3, #68]	@ movhi
1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->pTxBuffPtr  = (uint8_t *)pTxData;
 1462              		.loc 1 1319 21
 1463 00b8 FB68     		ldr	r3, [r7, #12]
 1464 00ba BA68     		ldr	r2, [r7, #8]
 1465 00bc 9A63     		str	r2, [r3, #56]
1320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxXferCount = Size;
 1466              		.loc 1 1320 21
 1467 00be FB68     		ldr	r3, [r7, #12]
 1468 00c0 7A88     		ldrh	r2, [r7, #2]	@ movhi
 1469 00c2 DA87     		strh	r2, [r3, #62]	@ movhi
1321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxXferSize  = Size;
 1470              		.loc 1 1321 21
 1471 00c4 FB68     		ldr	r3, [r7, #12]
 1472 00c6 7A88     		ldrh	r2, [r7, #2]	@ movhi
 1473 00c8 9A87     		strh	r2, [r3, #60]	@ movhi
1322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /*Init field not used in handle to zero */
1324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxISR       = NULL;
 1474              		.loc 1 1324 21
ARM GAS  /tmp/ccs34gJO.s 			page 50


 1475 00ca FB68     		ldr	r3, [r7, #12]
 1476 00cc 0022     		movs	r2, #0
 1477 00ce DA64     		str	r2, [r3, #76]
1325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxISR       = NULL;
 1478              		.loc 1 1325 21
 1479 00d0 FB68     		ldr	r3, [r7, #12]
 1480 00d2 0022     		movs	r2, #0
 1481 00d4 1A65     		str	r2, [r3, #80]
1326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Reset CRC Calculation */
1329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SPI_RESET_CRC(hspi);
1332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Set the Rx Fifo threshold */
1336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) || (initial_RxXferCount > 1U))
 1482              		.loc 1 1336 18
 1483 00d6 FB68     		ldr	r3, [r7, #12]
 1484 00d8 DB68     		ldr	r3, [r3, #12]
 1485              		.loc 1 1336 6
 1486 00da B3F5E06F 		cmp	r3, #1792
 1487 00de 02D8     		bhi	.L84
 1488              		.loc 1 1336 49 discriminator 1
 1489 00e0 3B8A     		ldrh	r3, [r7, #16]
 1490 00e2 012B     		cmp	r3, #1
 1491 00e4 08D9     		bls	.L85
 1492              	.L84:
1337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Set fiforxthreshold according the reception data length: 16bit */
1339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     CLEAR_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
 1493              		.loc 1 1339 5
 1494 00e6 FB68     		ldr	r3, [r7, #12]
 1495 00e8 1B68     		ldr	r3, [r3]
 1496 00ea 5A68     		ldr	r2, [r3, #4]
 1497 00ec FB68     		ldr	r3, [r7, #12]
 1498 00ee 1B68     		ldr	r3, [r3]
 1499 00f0 22F48052 		bic	r2, r2, #4096
 1500 00f4 5A60     		str	r2, [r3, #4]
 1501 00f6 07E0     		b	.L86
 1502              	.L85:
1340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   else
1342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Set fiforxthreshold according the reception data length: 8bit */
1344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
 1503              		.loc 1 1344 5
 1504 00f8 FB68     		ldr	r3, [r7, #12]
 1505 00fa 1B68     		ldr	r3, [r3]
 1506 00fc 5A68     		ldr	r2, [r3, #4]
 1507 00fe FB68     		ldr	r3, [r7, #12]
 1508 0100 1B68     		ldr	r3, [r3]
 1509 0102 42F48052 		orr	r2, r2, #4096
 1510 0106 5A60     		str	r2, [r3, #4]
 1511              	.L86:
ARM GAS  /tmp/ccs34gJO.s 			page 51


1345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check if the SPI is already enabled */
1348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
 1512              		.loc 1 1348 12
 1513 0108 FB68     		ldr	r3, [r7, #12]
 1514 010a 1B68     		ldr	r3, [r3]
 1515              		.loc 1 1348 22
 1516 010c 1B68     		ldr	r3, [r3]
 1517              		.loc 1 1348 28
 1518 010e 03F04003 		and	r3, r3, #64
 1519              		.loc 1 1348 6
 1520 0112 402B     		cmp	r3, #64
 1521 0114 07D0     		beq	.L87
1349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Enable SPI peripheral */
1351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     __HAL_SPI_ENABLE(hspi);
 1522              		.loc 1 1351 5
 1523 0116 FB68     		ldr	r3, [r7, #12]
 1524 0118 1B68     		ldr	r3, [r3]
 1525 011a 1A68     		ldr	r2, [r3]
 1526 011c FB68     		ldr	r3, [r7, #12]
 1527 011e 1B68     		ldr	r3, [r3]
 1528 0120 42F04002 		orr	r2, r2, #64
 1529 0124 1A60     		str	r2, [r3]
 1530              	.L87:
1352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Transmit and Receive data in 16 Bit mode */
1355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
 1531              		.loc 1 1355 17
 1532 0126 FB68     		ldr	r3, [r7, #12]
 1533 0128 DB68     		ldr	r3, [r3, #12]
 1534              		.loc 1 1355 6
 1535 012a B3F5E06F 		cmp	r3, #1792
 1536 012e 40F28180 		bls	.L88
1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U))
 1537              		.loc 1 1357 20
 1538 0132 FB68     		ldr	r3, [r7, #12]
 1539 0134 5B68     		ldr	r3, [r3, #4]
 1540              		.loc 1 1357 8
 1541 0136 002B     		cmp	r3, #0
 1542 0138 02D0     		beq	.L89
 1543              		.loc 1 1357 45 discriminator 1
 1544 013a 7B8A     		ldrh	r3, [r7, #18]
 1545 013c 012B     		cmp	r3, #1
 1546 013e 6DD1     		bne	.L91
 1547              	.L89:
1358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
 1548              		.loc 1 1359 46
 1549 0140 FB68     		ldr	r3, [r7, #12]
 1550 0142 9B6B     		ldr	r3, [r3, #56]
 1551              		.loc 1 1359 28
 1552 0144 1A88     		ldrh	r2, [r3]
 1553              		.loc 1 1359 11
ARM GAS  /tmp/ccs34gJO.s 			page 52


 1554 0146 FB68     		ldr	r3, [r7, #12]
 1555 0148 1B68     		ldr	r3, [r3]
 1556              		.loc 1 1359 26
 1557 014a DA60     		str	r2, [r3, #12]
1360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->pTxBuffPtr += sizeof(uint16_t);
 1558              		.loc 1 1360 11
 1559 014c FB68     		ldr	r3, [r7, #12]
 1560 014e 9B6B     		ldr	r3, [r3, #56]
 1561              		.loc 1 1360 24
 1562 0150 9A1C     		adds	r2, r3, #2
 1563 0152 FB68     		ldr	r3, [r7, #12]
 1564 0154 9A63     		str	r2, [r3, #56]
1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->TxXferCount--;
 1565              		.loc 1 1361 11
 1566 0156 FB68     		ldr	r3, [r7, #12]
 1567 0158 DB8F     		ldrh	r3, [r3, #62]	@ movhi
 1568 015a 9BB2     		uxth	r3, r3
 1569              		.loc 1 1361 24
 1570 015c 013B     		subs	r3, r3, #1
 1571 015e 9AB2     		uxth	r2, r3
 1572 0160 FB68     		ldr	r3, [r7, #12]
 1573 0162 DA87     		strh	r2, [r3, #62]	@ movhi
1362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
1363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U))
 1574              		.loc 1 1363 11
 1575 0164 5AE0     		b	.L91
 1576              	.L95:
1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
1365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Check TXE flag */
1366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE)) && (hspi->TxXferCount > 0U) && (txallowed == 1U)
 1577              		.loc 1 1366 12
 1578 0166 FB68     		ldr	r3, [r7, #12]
 1579 0168 1B68     		ldr	r3, [r3]
 1580 016a 9B68     		ldr	r3, [r3, #8]
 1581 016c 03F00203 		and	r3, r3, #2
 1582              		.loc 1 1366 10
 1583 0170 022B     		cmp	r3, #2
 1584 0172 1BD1     		bne	.L92
 1585              		.loc 1 1366 60 discriminator 1
 1586 0174 FB68     		ldr	r3, [r7, #12]
 1587 0176 DB8F     		ldrh	r3, [r3, #62]	@ movhi
 1588 0178 9BB2     		uxth	r3, r3
 1589              		.loc 1 1366 52 discriminator 1
 1590 017a 002B     		cmp	r3, #0
 1591 017c 16D0     		beq	.L92
 1592              		.loc 1 1366 80 discriminator 2
 1593 017e 7B6A     		ldr	r3, [r7, #36]
 1594 0180 012B     		cmp	r3, #1
 1595 0182 13D1     		bne	.L92
1367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
1368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
 1596              		.loc 1 1368 48
 1597 0184 FB68     		ldr	r3, [r7, #12]
 1598 0186 9B6B     		ldr	r3, [r3, #56]
 1599              		.loc 1 1368 30
 1600 0188 1A88     		ldrh	r2, [r3]
 1601              		.loc 1 1368 13
ARM GAS  /tmp/ccs34gJO.s 			page 53


 1602 018a FB68     		ldr	r3, [r7, #12]
 1603 018c 1B68     		ldr	r3, [r3]
 1604              		.loc 1 1368 28
 1605 018e DA60     		str	r2, [r3, #12]
1369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->pTxBuffPtr += sizeof(uint16_t);
 1606              		.loc 1 1369 13
 1607 0190 FB68     		ldr	r3, [r7, #12]
 1608 0192 9B6B     		ldr	r3, [r3, #56]
 1609              		.loc 1 1369 26
 1610 0194 9A1C     		adds	r2, r3, #2
 1611 0196 FB68     		ldr	r3, [r7, #12]
 1612 0198 9A63     		str	r2, [r3, #56]
1370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->TxXferCount--;
 1613              		.loc 1 1370 13
 1614 019a FB68     		ldr	r3, [r7, #12]
 1615 019c DB8F     		ldrh	r3, [r3, #62]	@ movhi
 1616 019e 9BB2     		uxth	r3, r3
 1617              		.loc 1 1370 26
 1618 01a0 013B     		subs	r3, r3, #1
 1619 01a2 9AB2     		uxth	r2, r3
 1620 01a4 FB68     		ldr	r3, [r7, #12]
 1621 01a6 DA87     		strh	r2, [r3, #62]	@ movhi
1371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Next Data is a reception (Rx). Tx not allowed */
1372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         txallowed = 0U;
 1622              		.loc 1 1372 19
 1623 01a8 0023     		movs	r3, #0
 1624 01aa 7B62     		str	r3, [r7, #36]
 1625              	.L92:
1373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Enable CRC Transmission */
1376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         if ((hspi->TxXferCount == 0U) && (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE))
1377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         {
1378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           /* Set NSS Soft to received correctly the CRC on slave mode with NSS pulse activated */
1379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           if ((READ_BIT(spi_cr1, SPI_CR1_MSTR) == 0U) && (READ_BIT(spi_cr2, SPI_CR2_NSSP) == SPI_CR
1380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           {
1381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             SET_BIT(hspi->Instance->CR1, SPI_CR1_SSM);
1382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           }
1383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
1384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         }
1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
1387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Check RXNE flag */
1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXNE)) && (hspi->RxXferCount > 0U))
 1626              		.loc 1 1389 12
 1627 01ac FB68     		ldr	r3, [r7, #12]
 1628 01ae 1B68     		ldr	r3, [r3]
 1629 01b0 9B68     		ldr	r3, [r3, #8]
 1630 01b2 03F00103 		and	r3, r3, #1
 1631              		.loc 1 1389 10
 1632 01b6 012B     		cmp	r3, #1
 1633 01b8 1CD1     		bne	.L93
 1634              		.loc 1 1389 61 discriminator 1
 1635 01ba FB68     		ldr	r3, [r7, #12]
 1636 01bc B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 1637 01c0 9BB2     		uxth	r3, r3
ARM GAS  /tmp/ccs34gJO.s 			page 54


 1638              		.loc 1 1389 53 discriminator 1
 1639 01c2 002B     		cmp	r3, #0
 1640 01c4 16D0     		beq	.L93
1390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
1391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)hspi->Instance->DR;
 1641              		.loc 1 1391 57
 1642 01c6 FB68     		ldr	r3, [r7, #12]
 1643 01c8 1B68     		ldr	r3, [r3]
 1644              		.loc 1 1391 67
 1645 01ca DA68     		ldr	r2, [r3, #12]
 1646              		.loc 1 1391 27
 1647 01cc FB68     		ldr	r3, [r7, #12]
 1648 01ce 1B6C     		ldr	r3, [r3, #64]
 1649              		.loc 1 1391 43
 1650 01d0 92B2     		uxth	r2, r2
 1651              		.loc 1 1391 41
 1652 01d2 1A80     		strh	r2, [r3]	@ movhi
1392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->pRxBuffPtr += sizeof(uint16_t);
 1653              		.loc 1 1392 13
 1654 01d4 FB68     		ldr	r3, [r7, #12]
 1655 01d6 1B6C     		ldr	r3, [r3, #64]
 1656              		.loc 1 1392 26
 1657 01d8 9A1C     		adds	r2, r3, #2
 1658 01da FB68     		ldr	r3, [r7, #12]
 1659 01dc 1A64     		str	r2, [r3, #64]
1393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->RxXferCount--;
 1660              		.loc 1 1393 13
 1661 01de FB68     		ldr	r3, [r7, #12]
 1662 01e0 B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 1663 01e4 9BB2     		uxth	r3, r3
 1664              		.loc 1 1393 26
 1665 01e6 013B     		subs	r3, r3, #1
 1666 01e8 9AB2     		uxth	r2, r3
 1667 01ea FB68     		ldr	r3, [r7, #12]
 1668 01ec A3F84620 		strh	r2, [r3, #70]	@ movhi
1394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Next Data is a Transmission (Tx). Tx is allowed */
1395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         txallowed = 1U;
 1669              		.loc 1 1395 19
 1670 01f0 0123     		movs	r3, #1
 1671 01f2 7B62     		str	r3, [r7, #36]
 1672              	.L93:
1396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
1397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if (((HAL_GetTick() - tickstart) >=  Timeout) && (Timeout != HAL_MAX_DELAY))
 1673              		.loc 1 1397 13
 1674 01f4 FFF7FEFF 		bl	HAL_GetTick
 1675 01f8 0246     		mov	r2, r0
 1676              		.loc 1 1397 27 discriminator 1
 1677 01fa FB69     		ldr	r3, [r7, #28]
 1678 01fc D31A     		subs	r3, r2, r3
 1679              		.loc 1 1397 10 discriminator 1
 1680 01fe 3A6B     		ldr	r2, [r7, #48]
 1681 0200 9A42     		cmp	r2, r3
 1682 0202 0BD8     		bhi	.L91
 1683              		.loc 1 1397 53 discriminator 1
 1684 0204 3B6B     		ldr	r3, [r7, #48]
 1685 0206 B3F1FF3F 		cmp	r3, #-1
 1686 020a 07D0     		beq	.L91
ARM GAS  /tmp/ccs34gJO.s 			page 55


1398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         errorcode = HAL_TIMEOUT;
 1687              		.loc 1 1399 19
 1688 020c 0323     		movs	r3, #3
 1689 020e 87F82330 		strb	r3, [r7, #35]
1400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->State = HAL_SPI_STATE_READY;
 1690              		.loc 1 1400 21
 1691 0212 FB68     		ldr	r3, [r7, #12]
 1692 0214 0122     		movs	r2, #1
 1693 0216 83F85D20 		strb	r2, [r3, #93]
1401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         goto error;
 1694              		.loc 1 1401 9
 1695 021a 09E1     		b	.L80
 1696              	.L91:
1363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
 1697              		.loc 1 1363 17
 1698 021c FB68     		ldr	r3, [r7, #12]
 1699 021e DB8F     		ldrh	r3, [r3, #62]	@ movhi
 1700 0220 9BB2     		uxth	r3, r3
1363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
 1701              		.loc 1 1363 37
 1702 0222 002B     		cmp	r3, #0
 1703 0224 9FD1     		bne	.L95
1363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
 1704              		.loc 1 1363 45 discriminator 1
 1705 0226 FB68     		ldr	r3, [r7, #12]
 1706 0228 B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 1707 022c 9BB2     		uxth	r3, r3
1363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
 1708              		.loc 1 1363 37 discriminator 1
 1709 022e 002B     		cmp	r3, #0
 1710 0230 99D1     		bne	.L95
 1711 0232 E3E0     		b	.L96
 1712              	.L88:
1402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
1403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
1404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Transmit and Receive data in 8 Bit mode */
1406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   else
1407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U))
 1713              		.loc 1 1408 20
 1714 0234 FB68     		ldr	r3, [r7, #12]
 1715 0236 5B68     		ldr	r3, [r3, #4]
 1716              		.loc 1 1408 8
 1717 0238 002B     		cmp	r3, #0
 1718 023a 03D0     		beq	.L97
 1719              		.loc 1 1408 45 discriminator 1
 1720 023c 7B8A     		ldrh	r3, [r7, #18]
 1721 023e 012B     		cmp	r3, #1
 1722 0240 40F0CF80 		bne	.L100
 1723              	.L97:
1409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
1410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if (hspi->TxXferCount > 1U)
 1724              		.loc 1 1410 15
 1725 0244 FB68     		ldr	r3, [r7, #12]
 1726 0246 DB8F     		ldrh	r3, [r3, #62]	@ movhi
ARM GAS  /tmp/ccs34gJO.s 			page 56


 1727 0248 9BB2     		uxth	r3, r3
 1728              		.loc 1 1410 10
 1729 024a 012B     		cmp	r3, #1
 1730 024c 12D9     		bls	.L99
1411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
1412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
 1731              		.loc 1 1412 48
 1732 024e FB68     		ldr	r3, [r7, #12]
 1733 0250 9B6B     		ldr	r3, [r3, #56]
 1734              		.loc 1 1412 30
 1735 0252 1A88     		ldrh	r2, [r3]
 1736              		.loc 1 1412 13
 1737 0254 FB68     		ldr	r3, [r7, #12]
 1738 0256 1B68     		ldr	r3, [r3]
 1739              		.loc 1 1412 28
 1740 0258 DA60     		str	r2, [r3, #12]
1413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->pTxBuffPtr += sizeof(uint16_t);
 1741              		.loc 1 1413 13
 1742 025a FB68     		ldr	r3, [r7, #12]
 1743 025c 9B6B     		ldr	r3, [r3, #56]
 1744              		.loc 1 1413 26
 1745 025e 9A1C     		adds	r2, r3, #2
 1746 0260 FB68     		ldr	r3, [r7, #12]
 1747 0262 9A63     		str	r2, [r3, #56]
1414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->TxXferCount -= 2U;
 1748              		.loc 1 1414 13
 1749 0264 FB68     		ldr	r3, [r7, #12]
 1750 0266 DB8F     		ldrh	r3, [r3, #62]	@ movhi
 1751 0268 9BB2     		uxth	r3, r3
 1752              		.loc 1 1414 27
 1753 026a 023B     		subs	r3, r3, #2
 1754 026c 9AB2     		uxth	r2, r3
 1755 026e FB68     		ldr	r3, [r7, #12]
 1756 0270 DA87     		strh	r2, [r3, #62]	@ movhi
 1757 0272 B6E0     		b	.L100
 1758              	.L99:
1415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
1416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       else
1417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
1418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         *(__IO uint8_t *)&hspi->Instance->DR = (*hspi->pTxBuffPtr);
 1759              		.loc 1 1418 54
 1760 0274 FB68     		ldr	r3, [r7, #12]
 1761 0276 9A6B     		ldr	r2, [r3, #56]
 1762              		.loc 1 1418 31
 1763 0278 FB68     		ldr	r3, [r7, #12]
 1764 027a 1B68     		ldr	r3, [r3]
 1765              		.loc 1 1418 26
 1766 027c 0C33     		adds	r3, r3, #12
 1767              		.loc 1 1418 49
 1768 027e 1278     		ldrb	r2, [r2]	@ zero_extendqisi2
 1769              		.loc 1 1418 46
 1770 0280 1A70     		strb	r2, [r3]
1419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->pTxBuffPtr++;
 1771              		.loc 1 1419 13
 1772 0282 FB68     		ldr	r3, [r7, #12]
 1773 0284 9B6B     		ldr	r3, [r3, #56]
 1774              		.loc 1 1419 25
ARM GAS  /tmp/ccs34gJO.s 			page 57


 1775 0286 5A1C     		adds	r2, r3, #1
 1776 0288 FB68     		ldr	r3, [r7, #12]
 1777 028a 9A63     		str	r2, [r3, #56]
1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->TxXferCount--;
 1778              		.loc 1 1420 13
 1779 028c FB68     		ldr	r3, [r7, #12]
 1780 028e DB8F     		ldrh	r3, [r3, #62]	@ movhi
 1781 0290 9BB2     		uxth	r3, r3
 1782              		.loc 1 1420 26
 1783 0292 013B     		subs	r3, r3, #1
 1784 0294 9AB2     		uxth	r2, r3
 1785 0296 FB68     		ldr	r3, [r7, #12]
 1786 0298 DA87     		strh	r2, [r3, #62]	@ movhi
1421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
1422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U))
 1787              		.loc 1 1423 11
 1788 029a A2E0     		b	.L100
 1789              	.L109:
1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
1425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Check TXE flag */
1426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE)) && (hspi->TxXferCount > 0U) && (txallowed == 1U)
 1790              		.loc 1 1426 12
 1791 029c FB68     		ldr	r3, [r7, #12]
 1792 029e 1B68     		ldr	r3, [r3]
 1793 02a0 9B68     		ldr	r3, [r3, #8]
 1794 02a2 03F00203 		and	r3, r3, #2
 1795              		.loc 1 1426 10
 1796 02a6 022B     		cmp	r3, #2
 1797 02a8 34D1     		bne	.L101
 1798              		.loc 1 1426 60 discriminator 1
 1799 02aa FB68     		ldr	r3, [r7, #12]
 1800 02ac DB8F     		ldrh	r3, [r3, #62]	@ movhi
 1801 02ae 9BB2     		uxth	r3, r3
 1802              		.loc 1 1426 52 discriminator 1
 1803 02b0 002B     		cmp	r3, #0
 1804 02b2 2FD0     		beq	.L101
 1805              		.loc 1 1426 80 discriminator 2
 1806 02b4 7B6A     		ldr	r3, [r7, #36]
 1807 02b6 012B     		cmp	r3, #1
 1808 02b8 2CD1     		bne	.L101
1427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
1428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         if (hspi->TxXferCount > 1U)
 1809              		.loc 1 1428 17
 1810 02ba FB68     		ldr	r3, [r7, #12]
 1811 02bc DB8F     		ldrh	r3, [r3, #62]	@ movhi
 1812 02be 9BB2     		uxth	r3, r3
 1813              		.loc 1 1428 12
 1814 02c0 012B     		cmp	r3, #1
 1815 02c2 12D9     		bls	.L102
1429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         {
1430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
 1816              		.loc 1 1430 50
 1817 02c4 FB68     		ldr	r3, [r7, #12]
 1818 02c6 9B6B     		ldr	r3, [r3, #56]
 1819              		.loc 1 1430 32
 1820 02c8 1A88     		ldrh	r2, [r3]
ARM GAS  /tmp/ccs34gJO.s 			page 58


 1821              		.loc 1 1430 15
 1822 02ca FB68     		ldr	r3, [r7, #12]
 1823 02cc 1B68     		ldr	r3, [r3]
 1824              		.loc 1 1430 30
 1825 02ce DA60     		str	r2, [r3, #12]
1431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           hspi->pTxBuffPtr += sizeof(uint16_t);
 1826              		.loc 1 1431 15
 1827 02d0 FB68     		ldr	r3, [r7, #12]
 1828 02d2 9B6B     		ldr	r3, [r3, #56]
 1829              		.loc 1 1431 28
 1830 02d4 9A1C     		adds	r2, r3, #2
 1831 02d6 FB68     		ldr	r3, [r7, #12]
 1832 02d8 9A63     		str	r2, [r3, #56]
1432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           hspi->TxXferCount -= 2U;
 1833              		.loc 1 1432 15
 1834 02da FB68     		ldr	r3, [r7, #12]
 1835 02dc DB8F     		ldrh	r3, [r3, #62]	@ movhi
 1836 02de 9BB2     		uxth	r3, r3
 1837              		.loc 1 1432 29
 1838 02e0 023B     		subs	r3, r3, #2
 1839 02e2 9AB2     		uxth	r2, r3
 1840 02e4 FB68     		ldr	r3, [r7, #12]
 1841 02e6 DA87     		strh	r2, [r3, #62]	@ movhi
 1842 02e8 12E0     		b	.L103
 1843              	.L102:
1433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         }
1434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         else
1435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         {
1436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           *(__IO uint8_t *)&hspi->Instance->DR = (*hspi->pTxBuffPtr);
 1844              		.loc 1 1436 56
 1845 02ea FB68     		ldr	r3, [r7, #12]
 1846 02ec 9A6B     		ldr	r2, [r3, #56]
 1847              		.loc 1 1436 33
 1848 02ee FB68     		ldr	r3, [r7, #12]
 1849 02f0 1B68     		ldr	r3, [r3]
 1850              		.loc 1 1436 28
 1851 02f2 0C33     		adds	r3, r3, #12
 1852              		.loc 1 1436 51
 1853 02f4 1278     		ldrb	r2, [r2]	@ zero_extendqisi2
 1854              		.loc 1 1436 48
 1855 02f6 1A70     		strb	r2, [r3]
1437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           hspi->pTxBuffPtr++;
 1856              		.loc 1 1437 15
 1857 02f8 FB68     		ldr	r3, [r7, #12]
 1858 02fa 9B6B     		ldr	r3, [r3, #56]
 1859              		.loc 1 1437 27
 1860 02fc 5A1C     		adds	r2, r3, #1
 1861 02fe FB68     		ldr	r3, [r7, #12]
 1862 0300 9A63     		str	r2, [r3, #56]
1438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           hspi->TxXferCount--;
 1863              		.loc 1 1438 15
 1864 0302 FB68     		ldr	r3, [r7, #12]
 1865 0304 DB8F     		ldrh	r3, [r3, #62]	@ movhi
 1866 0306 9BB2     		uxth	r3, r3
 1867              		.loc 1 1438 28
 1868 0308 013B     		subs	r3, r3, #1
 1869 030a 9AB2     		uxth	r2, r3
ARM GAS  /tmp/ccs34gJO.s 			page 59


 1870 030c FB68     		ldr	r3, [r7, #12]
 1871 030e DA87     		strh	r2, [r3, #62]	@ movhi
 1872              	.L103:
1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         }
1440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Next Data is a reception (Rx). Tx not allowed */
1441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         txallowed = 0U;
 1873              		.loc 1 1441 19
 1874 0310 0023     		movs	r3, #0
 1875 0312 7B62     		str	r3, [r7, #36]
 1876              	.L101:
1442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Enable CRC Transmission */
1445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         if ((hspi->TxXferCount == 0U) && (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE))
1446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         {
1447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           /* Set NSS Soft to received correctly the CRC on slave mode with NSS pulse activated */
1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           if ((READ_BIT(spi_cr1, SPI_CR1_MSTR) == 0U) && (READ_BIT(spi_cr2, SPI_CR2_NSSP) == SPI_CR
1449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           {
1450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             SET_BIT(hspi->Instance->CR1, SPI_CR1_SSM);
1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           }
1452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
1453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         }
1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
1456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Wait until RXNE flag is reset */
1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXNE)) && (hspi->RxXferCount > 0U))
 1877              		.loc 1 1458 12
 1878 0314 FB68     		ldr	r3, [r7, #12]
 1879 0316 1B68     		ldr	r3, [r3]
 1880 0318 9B68     		ldr	r3, [r3, #8]
 1881 031a 03F00103 		and	r3, r3, #1
 1882              		.loc 1 1458 10
 1883 031e 012B     		cmp	r3, #1
 1884 0320 48D1     		bne	.L104
 1885              		.loc 1 1458 61 discriminator 1
 1886 0322 FB68     		ldr	r3, [r7, #12]
 1887 0324 B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 1888 0328 9BB2     		uxth	r3, r3
 1889              		.loc 1 1458 53 discriminator 1
 1890 032a 002B     		cmp	r3, #0
 1891 032c 42D0     		beq	.L104
1459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
1460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         if (hspi->RxXferCount > 1U)
 1892              		.loc 1 1460 17
 1893 032e FB68     		ldr	r3, [r7, #12]
 1894 0330 B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 1895 0334 9BB2     		uxth	r3, r3
 1896              		.loc 1 1460 12
 1897 0336 012B     		cmp	r3, #1
 1898 0338 23D9     		bls	.L105
1461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         {
1462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)hspi->Instance->DR;
 1899              		.loc 1 1462 59
 1900 033a FB68     		ldr	r3, [r7, #12]
 1901 033c 1B68     		ldr	r3, [r3]
 1902              		.loc 1 1462 69
ARM GAS  /tmp/ccs34gJO.s 			page 60


 1903 033e DA68     		ldr	r2, [r3, #12]
 1904              		.loc 1 1462 29
 1905 0340 FB68     		ldr	r3, [r7, #12]
 1906 0342 1B6C     		ldr	r3, [r3, #64]
 1907              		.loc 1 1462 45
 1908 0344 92B2     		uxth	r2, r2
 1909              		.loc 1 1462 43
 1910 0346 1A80     		strh	r2, [r3]	@ movhi
1463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           hspi->pRxBuffPtr += sizeof(uint16_t);
 1911              		.loc 1 1463 15
 1912 0348 FB68     		ldr	r3, [r7, #12]
 1913 034a 1B6C     		ldr	r3, [r3, #64]
 1914              		.loc 1 1463 28
 1915 034c 9A1C     		adds	r2, r3, #2
 1916 034e FB68     		ldr	r3, [r7, #12]
 1917 0350 1A64     		str	r2, [r3, #64]
1464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           hspi->RxXferCount -= 2U;
 1918              		.loc 1 1464 15
 1919 0352 FB68     		ldr	r3, [r7, #12]
 1920 0354 B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 1921 0358 9BB2     		uxth	r3, r3
 1922              		.loc 1 1464 29
 1923 035a 023B     		subs	r3, r3, #2
 1924 035c 9AB2     		uxth	r2, r3
 1925 035e FB68     		ldr	r3, [r7, #12]
 1926 0360 A3F84620 		strh	r2, [r3, #70]	@ movhi
1465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           if (hspi->RxXferCount <= 1U)
 1927              		.loc 1 1465 19
 1928 0364 FB68     		ldr	r3, [r7, #12]
 1929 0366 B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 1930 036a 9BB2     		uxth	r3, r3
 1931              		.loc 1 1465 14
 1932 036c 012B     		cmp	r3, #1
 1933 036e 1FD8     		bhi	.L106
1466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           {
1467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             /* Set RX Fifo threshold before to switch on 8 bit data size */
1468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
 1934              		.loc 1 1468 13
 1935 0370 FB68     		ldr	r3, [r7, #12]
 1936 0372 1B68     		ldr	r3, [r3]
 1937 0374 5A68     		ldr	r2, [r3, #4]
 1938 0376 FB68     		ldr	r3, [r7, #12]
 1939 0378 1B68     		ldr	r3, [r3]
 1940 037a 42F48052 		orr	r2, r2, #4096
 1941 037e 5A60     		str	r2, [r3, #4]
 1942 0380 16E0     		b	.L106
 1943              	.L105:
1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           }
1470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         }
1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         else
1472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         {
1473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           (*(uint8_t *)hspi->pRxBuffPtr) = *(__IO uint8_t *)&hspi->Instance->DR;
 1944              		.loc 1 1473 66
 1945 0382 FB68     		ldr	r3, [r7, #12]
 1946 0384 1B68     		ldr	r3, [r3]
 1947              		.loc 1 1473 61
 1948 0386 03F10C02 		add	r2, r3, #12
ARM GAS  /tmp/ccs34gJO.s 			page 61


 1949              		.loc 1 1473 28
 1950 038a FB68     		ldr	r3, [r7, #12]
 1951 038c 1B6C     		ldr	r3, [r3, #64]
 1952              		.loc 1 1473 44
 1953 038e 1278     		ldrb	r2, [r2]
 1954 0390 D2B2     		uxtb	r2, r2
 1955              		.loc 1 1473 42
 1956 0392 1A70     		strb	r2, [r3]
1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           hspi->pRxBuffPtr++;
 1957              		.loc 1 1474 15
 1958 0394 FB68     		ldr	r3, [r7, #12]
 1959 0396 1B6C     		ldr	r3, [r3, #64]
 1960              		.loc 1 1474 27
 1961 0398 5A1C     		adds	r2, r3, #1
 1962 039a FB68     		ldr	r3, [r7, #12]
 1963 039c 1A64     		str	r2, [r3, #64]
1475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           hspi->RxXferCount--;
 1964              		.loc 1 1475 15
 1965 039e FB68     		ldr	r3, [r7, #12]
 1966 03a0 B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 1967 03a4 9BB2     		uxth	r3, r3
 1968              		.loc 1 1475 28
 1969 03a6 013B     		subs	r3, r3, #1
 1970 03a8 9AB2     		uxth	r2, r3
 1971 03aa FB68     		ldr	r3, [r7, #12]
 1972 03ac A3F84620 		strh	r2, [r3, #70]	@ movhi
 1973              	.L106:
1476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         }
1477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Next Data is a Transmission (Tx). Tx is allowed */
1478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         txallowed = 1U;
 1974              		.loc 1 1478 19
 1975 03b0 0123     		movs	r3, #1
 1976 03b2 7B62     		str	r3, [r7, #36]
 1977              	.L104:
1479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if ((((HAL_GetTick() - tickstart) >=  Timeout) && ((Timeout != HAL_MAX_DELAY))) || (Timeout =
 1978              		.loc 1 1480 14
 1979 03b4 FFF7FEFF 		bl	HAL_GetTick
 1980 03b8 0246     		mov	r2, r0
 1981              		.loc 1 1480 28 discriminator 1
 1982 03ba FB69     		ldr	r3, [r7, #28]
 1983 03bc D31A     		subs	r3, r2, r3
 1984              		.loc 1 1480 10 discriminator 1
 1985 03be 3A6B     		ldr	r2, [r7, #48]
 1986 03c0 9A42     		cmp	r2, r3
 1987 03c2 03D8     		bhi	.L107
 1988              		.loc 1 1480 54 discriminator 1
 1989 03c4 3B6B     		ldr	r3, [r7, #48]
 1990 03c6 B3F1FF3F 		cmp	r3, #-1
 1991 03ca 02D1     		bne	.L108
 1992              	.L107:
 1993              		.loc 1 1480 87 discriminator 3
 1994 03cc 3B6B     		ldr	r3, [r7, #48]
 1995 03ce 002B     		cmp	r3, #0
 1996 03d0 07D1     		bne	.L100
 1997              	.L108:
1481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
ARM GAS  /tmp/ccs34gJO.s 			page 62


1482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         errorcode = HAL_TIMEOUT;
 1998              		.loc 1 1482 19
 1999 03d2 0323     		movs	r3, #3
 2000 03d4 87F82330 		strb	r3, [r7, #35]
1483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->State = HAL_SPI_STATE_READY;
 2001              		.loc 1 1483 21
 2002 03d8 FB68     		ldr	r3, [r7, #12]
 2003 03da 0122     		movs	r2, #1
 2004 03dc 83F85D20 		strb	r2, [r3, #93]
1484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         goto error;
 2005              		.loc 1 1484 9
 2006 03e0 26E0     		b	.L80
 2007              	.L100:
1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
 2008              		.loc 1 1423 17
 2009 03e2 FB68     		ldr	r3, [r7, #12]
 2010 03e4 DB8F     		ldrh	r3, [r3, #62]	@ movhi
 2011 03e6 9BB2     		uxth	r3, r3
1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
 2012              		.loc 1 1423 37
 2013 03e8 002B     		cmp	r3, #0
 2014 03ea 7FF457AF 		bne	.L109
1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
 2015              		.loc 1 1423 45 discriminator 1
 2016 03ee FB68     		ldr	r3, [r7, #12]
 2017 03f0 B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 2018 03f4 9BB2     		uxth	r3, r3
1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
 2019              		.loc 1 1423 37 discriminator 1
 2020 03f6 002B     		cmp	r3, #0
 2021 03f8 7FF450AF 		bne	.L109
 2022              	.L96:
1485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
1487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Read CRC from DR to close CRC calculation process */
1491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Wait until TXE flag */
1494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SET, Timeout, tickstart) != HAL_OK)
1495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
1496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Error on the CRC reception */
1497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
1498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       errorcode = HAL_TIMEOUT;
1499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       goto error;
1500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
1501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Read CRC */
1502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->Init.DataSize == SPI_DATASIZE_16BIT)
1503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
1504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Read 16bit CRC */
1505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       tmpreg = READ_REG(hspi->Instance->DR);
1506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* To avoid GCC warning */
1507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       UNUSED(tmpreg);
1508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
1509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     else
ARM GAS  /tmp/ccs34gJO.s 			page 63


1510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
1511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Initialize the 8bit temporary pointer */
1512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       ptmpreg8 = (__IO uint8_t *)&hspi->Instance->DR;
1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Read 8bit CRC */
1514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       tmpreg8 = *ptmpreg8;
1515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* To avoid GCC warning */
1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       UNUSED(tmpreg8);
1517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if (hspi->Init.CRCLength == SPI_CRC_LENGTH_16BIT)
1519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SET, Timeout, tickstart) != HAL_OK)
1521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         {
1522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           /* Error on the CRC reception */
1523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
1524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           errorcode = HAL_TIMEOUT;
1525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           goto error;
1526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         }
1527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Read 8bit CRC again in case of 16bit CRC in 8bit Data mode */
1528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         tmpreg8 = *ptmpreg8;
1529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* To avoid GCC warning */
1530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         UNUSED(tmpreg8);
1531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
1532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
1533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check if CRC error occurred */
1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_CRCERR))
1537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
1539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Clear CRC Flag */
1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     __HAL_SPI_CLEAR_CRCERRFLAG(hspi);
1541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     errorcode = HAL_ERROR;
1543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check the end of the transaction */
1547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (SPI_EndRxTxTransaction(hspi, Timeout, tickstart) != HAL_OK)
 2023              		.loc 1 1547 7
 2024 03fc FA69     		ldr	r2, [r7, #28]
 2025 03fe 396B     		ldr	r1, [r7, #48]
 2026 0400 F868     		ldr	r0, [r7, #12]
 2027 0402 FFF7FEFF 		bl	SPI_EndRxTxTransaction
 2028 0406 0346     		mov	r3, r0
 2029              		.loc 1 1547 6 discriminator 1
 2030 0408 002B     		cmp	r3, #0
 2031 040a 05D0     		beq	.L110
1548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     errorcode = HAL_ERROR;
 2032              		.loc 1 1549 15
 2033 040c 0123     		movs	r3, #1
 2034 040e 87F82330 		strb	r3, [r7, #35]
1550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->ErrorCode = HAL_SPI_ERROR_FLAG;
 2035              		.loc 1 1550 21
 2036 0412 FB68     		ldr	r3, [r7, #12]
 2037 0414 2022     		movs	r2, #32
 2038 0416 1A66     		str	r2, [r3, #96]
ARM GAS  /tmp/ccs34gJO.s 			page 64


 2039              	.L110:
1551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
 2040              		.loc 1 1553 11
 2041 0418 FB68     		ldr	r3, [r7, #12]
 2042 041a 1B6E     		ldr	r3, [r3, #96]
 2043              		.loc 1 1553 6
 2044 041c 002B     		cmp	r3, #0
 2045 041e 03D0     		beq	.L111
1554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     errorcode = HAL_ERROR;
 2046              		.loc 1 1555 15
 2047 0420 0123     		movs	r3, #1
 2048 0422 87F82330 		strb	r3, [r7, #35]
 2049 0426 03E0     		b	.L80
 2050              	.L111:
1556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   else
1558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->State = HAL_SPI_STATE_READY;
 2051              		.loc 1 1559 17
 2052 0428 FB68     		ldr	r3, [r7, #12]
 2053 042a 0122     		movs	r2, #1
 2054 042c 83F85D20 		strb	r2, [r3, #93]
 2055              	.L80:
1560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   
1562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** error :
1563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_UNLOCK(hspi);
 2056              		.loc 1 1563 3
 2057 0430 FB68     		ldr	r3, [r7, #12]
 2058 0432 0022     		movs	r2, #0
 2059 0434 83F85C20 		strb	r2, [r3, #92]
1564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   return errorcode;
 2060              		.loc 1 1564 10
 2061 0438 97F82330 		ldrb	r3, [r7, #35]	@ zero_extendqisi2
 2062              	.L77:
1565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 2063              		.loc 1 1565 1
 2064 043c 1846     		mov	r0, r3
 2065 043e 2837     		adds	r7, r7, #40
 2066              		.cfi_def_cfa_offset 8
 2067 0440 BD46     		mov	sp, r7
 2068              		.cfi_def_cfa_register 13
 2069              		@ sp needed
 2070 0442 80BD     		pop	{r7, pc}
 2071              		.cfi_endproc
 2072              	.LFE136:
 2074              		.section	.text.HAL_SPI_Transmit_IT,"ax",%progbits
 2075              		.align	1
 2076              		.global	HAL_SPI_Transmit_IT
 2077              		.syntax unified
 2078              		.thumb
 2079              		.thumb_func
 2081              	HAL_SPI_Transmit_IT:
 2082              	.LFB137:
ARM GAS  /tmp/ccs34gJO.s 			page 65


1566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
1568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Transmit an amount of data in non-blocking mode with Interrupt.
1569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
1570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
1571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  pData pointer to data buffer
1572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  Size amount of data to be sent
1573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval HAL status
1574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Transmit_IT(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size)
1576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 2083              		.loc 1 1576 1
 2084              		.cfi_startproc
 2085              		@ args = 0, pretend = 0, frame = 24
 2086              		@ frame_needed = 1, uses_anonymous_args = 0
 2087              		@ link register save eliminated.
 2088 0000 80B4     		push	{r7}
 2089              		.cfi_def_cfa_offset 4
 2090              		.cfi_offset 7, -4
 2091 0002 87B0     		sub	sp, sp, #28
 2092              		.cfi_def_cfa_offset 32
 2093 0004 00AF     		add	r7, sp, #0
 2094              		.cfi_def_cfa_register 7
 2095 0006 F860     		str	r0, [r7, #12]
 2096 0008 B960     		str	r1, [r7, #8]
 2097 000a 1346     		mov	r3, r2
 2098 000c FB80     		strh	r3, [r7, #6]	@ movhi
1577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   HAL_StatusTypeDef errorcode = HAL_OK;
 2099              		.loc 1 1577 21
 2100 000e 0023     		movs	r3, #0
 2101 0010 FB75     		strb	r3, [r7, #23]
1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check Direction parameter */
1580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   assert_param(IS_SPI_DIRECTION_2LINES_OR_1LINE(hspi->Init.Direction));
1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Process Locked */
1583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_LOCK(hspi);
 2102              		.loc 1 1583 3
 2103 0012 FB68     		ldr	r3, [r7, #12]
 2104 0014 93F85C30 		ldrb	r3, [r3, #92]	@ zero_extendqisi2
 2105 0018 012B     		cmp	r3, #1
 2106 001a 01D1     		bne	.L113
 2107              		.loc 1 1583 3 is_stmt 0 discriminator 1
 2108 001c 0223     		movs	r3, #2
 2109              		.loc 1 1583 3
 2110 001e 72E0     		b	.L114
 2111              	.L113:
 2112              		.loc 1 1583 3 discriminator 2
 2113 0020 FB68     		ldr	r3, [r7, #12]
 2114 0022 0122     		movs	r2, #1
 2115 0024 83F85C20 		strb	r2, [r3, #92]
1584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((pData == NULL) || (Size == 0U))
 2116              		.loc 1 1585 6 is_stmt 1
 2117 0028 BB68     		ldr	r3, [r7, #8]
 2118 002a 002B     		cmp	r3, #0
 2119 002c 02D0     		beq	.L115
ARM GAS  /tmp/ccs34gJO.s 			page 66


 2120              		.loc 1 1585 23 discriminator 1
 2121 002e FB88     		ldrh	r3, [r7, #6]
 2122 0030 002B     		cmp	r3, #0
 2123 0032 02D1     		bne	.L116
 2124              	.L115:
1586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     errorcode = HAL_ERROR;
 2125              		.loc 1 1587 15
 2126 0034 0123     		movs	r3, #1
 2127 0036 FB75     		strb	r3, [r7, #23]
1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     goto error;
 2128              		.loc 1 1588 5
 2129 0038 60E0     		b	.L117
 2130              	.L116:
1589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->State != HAL_SPI_STATE_READY)
 2131              		.loc 1 1591 11
 2132 003a FB68     		ldr	r3, [r7, #12]
 2133 003c 93F85D30 		ldrb	r3, [r3, #93]
 2134 0040 DBB2     		uxtb	r3, r3
 2135              		.loc 1 1591 6
 2136 0042 012B     		cmp	r3, #1
 2137 0044 02D0     		beq	.L118
1592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     errorcode = HAL_BUSY;
 2138              		.loc 1 1593 15
 2139 0046 0223     		movs	r3, #2
 2140 0048 FB75     		strb	r3, [r7, #23]
1594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     goto error;
 2141              		.loc 1 1594 5
 2142 004a 57E0     		b	.L117
 2143              	.L118:
1595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Set the transaction information */
1598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->State       = HAL_SPI_STATE_BUSY_TX;
 2144              		.loc 1 1598 21
 2145 004c FB68     		ldr	r3, [r7, #12]
 2146 004e 0322     		movs	r2, #3
 2147 0050 83F85D20 		strb	r2, [r3, #93]
1599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->ErrorCode   = HAL_SPI_ERROR_NONE;
 2148              		.loc 1 1599 21
 2149 0054 FB68     		ldr	r3, [r7, #12]
 2150 0056 0022     		movs	r2, #0
 2151 0058 1A66     		str	r2, [r3, #96]
1600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->pTxBuffPtr  = (uint8_t *)pData;
 2152              		.loc 1 1600 21
 2153 005a FB68     		ldr	r3, [r7, #12]
 2154 005c BA68     		ldr	r2, [r7, #8]
 2155 005e 9A63     		str	r2, [r3, #56]
1601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxXferSize  = Size;
 2156              		.loc 1 1601 21
 2157 0060 FB68     		ldr	r3, [r7, #12]
 2158 0062 FA88     		ldrh	r2, [r7, #6]	@ movhi
 2159 0064 9A87     		strh	r2, [r3, #60]	@ movhi
1602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxXferCount = Size;
ARM GAS  /tmp/ccs34gJO.s 			page 67


 2160              		.loc 1 1602 21
 2161 0066 FB68     		ldr	r3, [r7, #12]
 2162 0068 FA88     		ldrh	r2, [r7, #6]	@ movhi
 2163 006a DA87     		strh	r2, [r3, #62]	@ movhi
1603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Init field not used in handle to zero */
1605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->pRxBuffPtr  = (uint8_t *)NULL;
 2164              		.loc 1 1605 21
 2165 006c FB68     		ldr	r3, [r7, #12]
 2166 006e 0022     		movs	r2, #0
 2167 0070 1A64     		str	r2, [r3, #64]
1606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxXferSize  = 0U;
 2168              		.loc 1 1606 21
 2169 0072 FB68     		ldr	r3, [r7, #12]
 2170 0074 0022     		movs	r2, #0
 2171 0076 A3F84420 		strh	r2, [r3, #68]	@ movhi
1607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxXferCount = 0U;
 2172              		.loc 1 1607 21
 2173 007a FB68     		ldr	r3, [r7, #12]
 2174 007c 0022     		movs	r2, #0
 2175 007e A3F84620 		strh	r2, [r3, #70]	@ movhi
1608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxISR       = NULL;
 2176              		.loc 1 1608 21
 2177 0082 FB68     		ldr	r3, [r7, #12]
 2178 0084 0022     		movs	r2, #0
 2179 0086 DA64     		str	r2, [r3, #76]
1609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Set the function for IT treatment */
1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
 2180              		.loc 1 1611 17
 2181 0088 FB68     		ldr	r3, [r7, #12]
 2182 008a DB68     		ldr	r3, [r3, #12]
 2183              		.loc 1 1611 6
 2184 008c B3F5E06F 		cmp	r3, #1792
 2185 0090 03D9     		bls	.L119
1612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->TxISR = SPI_TxISR_16BIT;
 2186              		.loc 1 1613 17
 2187 0092 FB68     		ldr	r3, [r7, #12]
 2188 0094 1F4A     		ldr	r2, .L123
 2189 0096 1A65     		str	r2, [r3, #80]
 2190 0098 02E0     		b	.L120
 2191              	.L119:
1614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   else
1616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->TxISR = SPI_TxISR_8BIT;
 2192              		.loc 1 1617 17
 2193 009a FB68     		ldr	r3, [r7, #12]
 2194 009c 1E4A     		ldr	r2, .L123+4
 2195 009e 1A65     		str	r2, [r3, #80]
 2196              	.L120:
1618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Configure communication direction : 1Line */
1621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.Direction == SPI_DIRECTION_1LINE)
 2197              		.loc 1 1621 17
ARM GAS  /tmp/ccs34gJO.s 			page 68


 2198 00a0 FB68     		ldr	r3, [r7, #12]
 2199 00a2 9B68     		ldr	r3, [r3, #8]
 2200              		.loc 1 1621 6
 2201 00a4 B3F5004F 		cmp	r3, #32768
 2202 00a8 0FD1     		bne	.L121
1622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Disable SPI Peripheral before set 1Line direction (BIDIOE bit) */
1624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     __HAL_SPI_DISABLE(hspi);
 2203              		.loc 1 1624 5
 2204 00aa FB68     		ldr	r3, [r7, #12]
 2205 00ac 1B68     		ldr	r3, [r3]
 2206 00ae 1A68     		ldr	r2, [r3]
 2207 00b0 FB68     		ldr	r3, [r7, #12]
 2208 00b2 1B68     		ldr	r3, [r3]
 2209 00b4 22F04002 		bic	r2, r2, #64
 2210 00b8 1A60     		str	r2, [r3]
1625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SPI_1LINE_TX(hspi);
 2211              		.loc 1 1625 5
 2212 00ba FB68     		ldr	r3, [r7, #12]
 2213 00bc 1B68     		ldr	r3, [r3]
 2214 00be 1A68     		ldr	r2, [r3]
 2215 00c0 FB68     		ldr	r3, [r7, #12]
 2216 00c2 1B68     		ldr	r3, [r3]
 2217 00c4 42F48042 		orr	r2, r2, #16384
 2218 00c8 1A60     		str	r2, [r3]
 2219              	.L121:
1626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Reset CRC Calculation */
1630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SPI_RESET_CRC(hspi);
1633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Enable TXE and ERR interrupt */
1637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_TXE | SPI_IT_ERR));
 2220              		.loc 1 1637 3
 2221 00ca FB68     		ldr	r3, [r7, #12]
 2222 00cc 1B68     		ldr	r3, [r3]
 2223 00ce 5A68     		ldr	r2, [r3, #4]
 2224 00d0 FB68     		ldr	r3, [r7, #12]
 2225 00d2 1B68     		ldr	r3, [r3]
 2226 00d4 42F0A002 		orr	r2, r2, #160
 2227 00d8 5A60     		str	r2, [r3, #4]
1638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check if the SPI is already enabled */
1641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
 2228              		.loc 1 1641 12
 2229 00da FB68     		ldr	r3, [r7, #12]
 2230 00dc 1B68     		ldr	r3, [r3]
 2231              		.loc 1 1641 22
 2232 00de 1B68     		ldr	r3, [r3]
 2233              		.loc 1 1641 28
 2234 00e0 03F04003 		and	r3, r3, #64
ARM GAS  /tmp/ccs34gJO.s 			page 69


 2235              		.loc 1 1641 6
 2236 00e4 402B     		cmp	r3, #64
 2237 00e6 08D0     		beq	.L122
1642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Enable SPI peripheral */
1644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     __HAL_SPI_ENABLE(hspi);
 2238              		.loc 1 1644 5
 2239 00e8 FB68     		ldr	r3, [r7, #12]
 2240 00ea 1B68     		ldr	r3, [r3]
 2241 00ec 1A68     		ldr	r2, [r3]
 2242 00ee FB68     		ldr	r3, [r7, #12]
 2243 00f0 1B68     		ldr	r3, [r3]
 2244 00f2 42F04002 		orr	r2, r2, #64
 2245 00f6 1A60     		str	r2, [r3]
 2246 00f8 00E0     		b	.L117
 2247              	.L122:
1645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** error :
 2248              		.loc 1 1647 1
 2249 00fa 00BF     		nop
 2250              	.L117:
1648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_UNLOCK(hspi);
 2251              		.loc 1 1648 3
 2252 00fc FB68     		ldr	r3, [r7, #12]
 2253 00fe 0022     		movs	r2, #0
 2254 0100 83F85C20 		strb	r2, [r3, #92]
1649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   return errorcode;
 2255              		.loc 1 1649 10
 2256 0104 FB7D     		ldrb	r3, [r7, #23]	@ zero_extendqisi2
 2257              	.L114:
1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 2258              		.loc 1 1650 1
 2259 0106 1846     		mov	r0, r3
 2260 0108 1C37     		adds	r7, r7, #28
 2261              		.cfi_def_cfa_offset 4
 2262 010a BD46     		mov	sp, r7
 2263              		.cfi_def_cfa_register 13
 2264              		@ sp needed
 2265 010c 5DF8047B 		ldr	r7, [sp], #4
 2266              		.cfi_restore 7
 2267              		.cfi_def_cfa_offset 0
 2268 0110 7047     		bx	lr
 2269              	.L124:
 2270 0112 00BF     		.align	2
 2271              	.L123:
 2272 0114 00000000 		.word	SPI_TxISR_16BIT
 2273 0118 00000000 		.word	SPI_TxISR_8BIT
 2274              		.cfi_endproc
 2275              	.LFE137:
 2277              		.section	.text.HAL_SPI_Receive_IT,"ax",%progbits
 2278              		.align	1
 2279              		.global	HAL_SPI_Receive_IT
 2280              		.syntax unified
 2281              		.thumb
 2282              		.thumb_func
 2284              	HAL_SPI_Receive_IT:
ARM GAS  /tmp/ccs34gJO.s 			page 70


 2285              	.LFB138:
1651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
1653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Receive an amount of data in non-blocking mode with Interrupt.
1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
1655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
1656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  pData pointer to data buffer
1657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  Size amount of data to be sent
1658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval HAL status
1659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
1660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Receive_IT(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size)
1661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 2286              		.loc 1 1661 1
 2287              		.cfi_startproc
 2288              		@ args = 0, pretend = 0, frame = 24
 2289              		@ frame_needed = 1, uses_anonymous_args = 0
 2290 0000 80B5     		push	{r7, lr}
 2291              		.cfi_def_cfa_offset 8
 2292              		.cfi_offset 7, -8
 2293              		.cfi_offset 14, -4
 2294 0002 86B0     		sub	sp, sp, #24
 2295              		.cfi_def_cfa_offset 32
 2296 0004 00AF     		add	r7, sp, #0
 2297              		.cfi_def_cfa_register 7
 2298 0006 F860     		str	r0, [r7, #12]
 2299 0008 B960     		str	r1, [r7, #8]
 2300 000a 1346     		mov	r3, r2
 2301 000c FB80     		strh	r3, [r7, #6]	@ movhi
1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   HAL_StatusTypeDef errorcode = HAL_OK;
 2302              		.loc 1 1662 21
 2303 000e 0023     		movs	r3, #0
 2304 0010 FB75     		strb	r3, [r7, #23]
1663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->State != HAL_SPI_STATE_READY)
 2305              		.loc 1 1665 11
 2306 0012 FB68     		ldr	r3, [r7, #12]
 2307 0014 93F85D30 		ldrb	r3, [r3, #93]
 2308 0018 DBB2     		uxtb	r3, r3
 2309              		.loc 1 1665 6
 2310 001a 012B     		cmp	r3, #1
 2311 001c 02D0     		beq	.L126
1666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     errorcode = HAL_BUSY;
 2312              		.loc 1 1667 15
 2313 001e 0223     		movs	r3, #2
 2314 0020 FB75     		strb	r3, [r7, #23]
1668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     goto error;
 2315              		.loc 1 1668 5
 2316 0022 90E0     		b	.L127
 2317              	.L126:
1669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((hspi->Init.Direction == SPI_DIRECTION_2LINES) && (hspi->Init.Mode == SPI_MODE_MASTER))
 2318              		.loc 1 1671 18
 2319 0024 FB68     		ldr	r3, [r7, #12]
 2320 0026 9B68     		ldr	r3, [r3, #8]
ARM GAS  /tmp/ccs34gJO.s 			page 71


 2321              		.loc 1 1671 6
 2322 0028 002B     		cmp	r3, #0
 2323 002a 10D1     		bne	.L128
 2324              		.loc 1 1671 68 discriminator 1
 2325 002c FB68     		ldr	r3, [r7, #12]
 2326 002e 5B68     		ldr	r3, [r3, #4]
 2327              		.loc 1 1671 54 discriminator 1
 2328 0030 B3F5827F 		cmp	r3, #260
 2329 0034 0BD1     		bne	.L128
1672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->State = HAL_SPI_STATE_BUSY_RX;
 2330              		.loc 1 1673 17
 2331 0036 FB68     		ldr	r3, [r7, #12]
 2332 0038 0422     		movs	r2, #4
 2333 003a 83F85D20 		strb	r2, [r3, #93]
1674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Call transmit-receive function to send Dummy data on Tx line and generate clock on CLK line 
1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     return HAL_SPI_TransmitReceive_IT(hspi, pData, pData, Size);
 2334              		.loc 1 1675 12
 2335 003e FB88     		ldrh	r3, [r7, #6]
 2336 0040 BA68     		ldr	r2, [r7, #8]
 2337 0042 B968     		ldr	r1, [r7, #8]
 2338 0044 F868     		ldr	r0, [r7, #12]
 2339 0046 FFF7FEFF 		bl	HAL_SPI_TransmitReceive_IT
 2340 004a 0346     		mov	r3, r0
 2341 004c 80E0     		b	.L129
 2342              	.L128:
1676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Process Locked */
1679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_LOCK(hspi);
 2343              		.loc 1 1679 3
 2344 004e FB68     		ldr	r3, [r7, #12]
 2345 0050 93F85C30 		ldrb	r3, [r3, #92]	@ zero_extendqisi2
 2346 0054 012B     		cmp	r3, #1
 2347 0056 01D1     		bne	.L130
 2348              		.loc 1 1679 3 is_stmt 0 discriminator 1
 2349 0058 0223     		movs	r3, #2
 2350              		.loc 1 1679 3
 2351 005a 79E0     		b	.L129
 2352              	.L130:
 2353              		.loc 1 1679 3 discriminator 2
 2354 005c FB68     		ldr	r3, [r7, #12]
 2355 005e 0122     		movs	r2, #1
 2356 0060 83F85C20 		strb	r2, [r3, #92]
1680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((pData == NULL) || (Size == 0U))
 2357              		.loc 1 1681 6 is_stmt 1
 2358 0064 BB68     		ldr	r3, [r7, #8]
 2359 0066 002B     		cmp	r3, #0
 2360 0068 02D0     		beq	.L131
 2361              		.loc 1 1681 23 discriminator 1
 2362 006a FB88     		ldrh	r3, [r7, #6]
 2363 006c 002B     		cmp	r3, #0
 2364 006e 02D1     		bne	.L132
 2365              	.L131:
1682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     errorcode = HAL_ERROR;
ARM GAS  /tmp/ccs34gJO.s 			page 72


 2366              		.loc 1 1683 15
 2367 0070 0123     		movs	r3, #1
 2368 0072 FB75     		strb	r3, [r7, #23]
1684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     goto error;
 2369              		.loc 1 1684 5
 2370 0074 67E0     		b	.L127
 2371              	.L132:
1685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Set the transaction information */
1688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->State       = HAL_SPI_STATE_BUSY_RX;
 2372              		.loc 1 1688 21
 2373 0076 FB68     		ldr	r3, [r7, #12]
 2374 0078 0422     		movs	r2, #4
 2375 007a 83F85D20 		strb	r2, [r3, #93]
1689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->ErrorCode   = HAL_SPI_ERROR_NONE;
 2376              		.loc 1 1689 21
 2377 007e FB68     		ldr	r3, [r7, #12]
 2378 0080 0022     		movs	r2, #0
 2379 0082 1A66     		str	r2, [r3, #96]
1690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->pRxBuffPtr  = (uint8_t *)pData;
 2380              		.loc 1 1690 21
 2381 0084 FB68     		ldr	r3, [r7, #12]
 2382 0086 BA68     		ldr	r2, [r7, #8]
 2383 0088 1A64     		str	r2, [r3, #64]
1691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxXferSize  = Size;
 2384              		.loc 1 1691 21
 2385 008a FB68     		ldr	r3, [r7, #12]
 2386 008c FA88     		ldrh	r2, [r7, #6]	@ movhi
 2387 008e A3F84420 		strh	r2, [r3, #68]	@ movhi
1692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxXferCount = Size;
 2388              		.loc 1 1692 21
 2389 0092 FB68     		ldr	r3, [r7, #12]
 2390 0094 FA88     		ldrh	r2, [r7, #6]	@ movhi
 2391 0096 A3F84620 		strh	r2, [r3, #70]	@ movhi
1693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Init field not used in handle to zero */
1695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->pTxBuffPtr  = (uint8_t *)NULL;
 2392              		.loc 1 1695 21
 2393 009a FB68     		ldr	r3, [r7, #12]
 2394 009c 0022     		movs	r2, #0
 2395 009e 9A63     		str	r2, [r3, #56]
1696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxXferSize  = 0U;
 2396              		.loc 1 1696 21
 2397 00a0 FB68     		ldr	r3, [r7, #12]
 2398 00a2 0022     		movs	r2, #0
 2399 00a4 9A87     		strh	r2, [r3, #60]	@ movhi
1697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxXferCount = 0U;
 2400              		.loc 1 1697 21
 2401 00a6 FB68     		ldr	r3, [r7, #12]
 2402 00a8 0022     		movs	r2, #0
 2403 00aa DA87     		strh	r2, [r3, #62]	@ movhi
1698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxISR       = NULL;
 2404              		.loc 1 1698 21
 2405 00ac FB68     		ldr	r3, [r7, #12]
 2406 00ae 0022     		movs	r2, #0
 2407 00b0 1A65     		str	r2, [r3, #80]
ARM GAS  /tmp/ccs34gJO.s 			page 73


1699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check the data size to adapt Rx threshold and the set the function for IT treatment */
1701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
 2408              		.loc 1 1701 17
 2409 00b2 FB68     		ldr	r3, [r7, #12]
 2410 00b4 DB68     		ldr	r3, [r3, #12]
 2411              		.loc 1 1701 6
 2412 00b6 B3F5E06F 		cmp	r3, #1792
 2413 00ba 0BD9     		bls	.L133
1702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Set RX Fifo threshold according the reception data length: 16 bit */
1704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     CLEAR_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
 2414              		.loc 1 1704 5
 2415 00bc FB68     		ldr	r3, [r7, #12]
 2416 00be 1B68     		ldr	r3, [r3]
 2417 00c0 5A68     		ldr	r2, [r3, #4]
 2418 00c2 FB68     		ldr	r3, [r7, #12]
 2419 00c4 1B68     		ldr	r3, [r3]
 2420 00c6 22F48052 		bic	r2, r2, #4096
 2421 00ca 5A60     		str	r2, [r3, #4]
1705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->RxISR = SPI_RxISR_16BIT;
 2422              		.loc 1 1705 17
 2423 00cc FB68     		ldr	r3, [r7, #12]
 2424 00ce 224A     		ldr	r2, .L137
 2425 00d0 DA64     		str	r2, [r3, #76]
 2426 00d2 0AE0     		b	.L134
 2427              	.L133:
1706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   else
1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Set RX Fifo threshold according the reception data length: 8 bit */
1710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
 2428              		.loc 1 1710 5
 2429 00d4 FB68     		ldr	r3, [r7, #12]
 2430 00d6 1B68     		ldr	r3, [r3]
 2431 00d8 5A68     		ldr	r2, [r3, #4]
 2432 00da FB68     		ldr	r3, [r7, #12]
 2433 00dc 1B68     		ldr	r3, [r3]
 2434 00de 42F48052 		orr	r2, r2, #4096
 2435 00e2 5A60     		str	r2, [r3, #4]
1711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->RxISR = SPI_RxISR_8BIT;
 2436              		.loc 1 1711 17
 2437 00e4 FB68     		ldr	r3, [r7, #12]
 2438 00e6 1D4A     		ldr	r2, .L137+4
 2439 00e8 DA64     		str	r2, [r3, #76]
 2440              	.L134:
1712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Configure communication direction : 1Line */
1715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.Direction == SPI_DIRECTION_1LINE)
 2441              		.loc 1 1715 17
 2442 00ea FB68     		ldr	r3, [r7, #12]
 2443 00ec 9B68     		ldr	r3, [r3, #8]
 2444              		.loc 1 1715 6
 2445 00ee B3F5004F 		cmp	r3, #32768
 2446 00f2 0FD1     		bne	.L135
1716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
ARM GAS  /tmp/ccs34gJO.s 			page 74


1717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Disable SPI Peripheral before set 1Line direction (BIDIOE bit) */
1718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     __HAL_SPI_DISABLE(hspi);
 2447              		.loc 1 1718 5
 2448 00f4 FB68     		ldr	r3, [r7, #12]
 2449 00f6 1B68     		ldr	r3, [r3]
 2450 00f8 1A68     		ldr	r2, [r3]
 2451 00fa FB68     		ldr	r3, [r7, #12]
 2452 00fc 1B68     		ldr	r3, [r3]
 2453 00fe 22F04002 		bic	r2, r2, #64
 2454 0102 1A60     		str	r2, [r3]
1719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SPI_1LINE_RX(hspi);
 2455              		.loc 1 1719 5
 2456 0104 FB68     		ldr	r3, [r7, #12]
 2457 0106 1B68     		ldr	r3, [r3]
 2458 0108 1A68     		ldr	r2, [r3]
 2459 010a FB68     		ldr	r3, [r7, #12]
 2460 010c 1B68     		ldr	r3, [r3]
 2461 010e 22F48042 		bic	r2, r2, #16384
 2462 0112 1A60     		str	r2, [r3]
 2463              	.L135:
1720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Reset CRC Calculation */
1724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->CRCSize = 1U;
1727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if ((hspi->Init.DataSize <= SPI_DATASIZE_8BIT) && (hspi->Init.CRCLength == SPI_CRC_LENGTH_16BIT
1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->CRCSize = 2U;
1730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SPI_RESET_CRC(hspi);
1732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   else
1734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->CRCSize = 0U;
1736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Enable TXE and ERR interrupt */
1740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_RXNE | SPI_IT_ERR));
 2464              		.loc 1 1740 3
 2465 0114 FB68     		ldr	r3, [r7, #12]
 2466 0116 1B68     		ldr	r3, [r3]
 2467 0118 5A68     		ldr	r2, [r3, #4]
 2468 011a FB68     		ldr	r3, [r7, #12]
 2469 011c 1B68     		ldr	r3, [r3]
 2470 011e 42F06002 		orr	r2, r2, #96
 2471 0122 5A60     		str	r2, [r3, #4]
1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Note : The SPI must be enabled after unlocking current process
1743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             to avoid the risk of SPI interrupt handle execution before current
1744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             process unlock */
1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check if the SPI is already enabled */
1747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
 2472              		.loc 1 1747 12
ARM GAS  /tmp/ccs34gJO.s 			page 75


 2473 0124 FB68     		ldr	r3, [r7, #12]
 2474 0126 1B68     		ldr	r3, [r3]
 2475              		.loc 1 1747 22
 2476 0128 1B68     		ldr	r3, [r3]
 2477              		.loc 1 1747 28
 2478 012a 03F04003 		and	r3, r3, #64
 2479              		.loc 1 1747 6
 2480 012e 402B     		cmp	r3, #64
 2481 0130 08D0     		beq	.L136
1748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Enable SPI peripheral */
1750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     __HAL_SPI_ENABLE(hspi);
 2482              		.loc 1 1750 5
 2483 0132 FB68     		ldr	r3, [r7, #12]
 2484 0134 1B68     		ldr	r3, [r3]
 2485 0136 1A68     		ldr	r2, [r3]
 2486 0138 FB68     		ldr	r3, [r7, #12]
 2487 013a 1B68     		ldr	r3, [r3]
 2488 013c 42F04002 		orr	r2, r2, #64
 2489 0140 1A60     		str	r2, [r3]
 2490 0142 00E0     		b	.L127
 2491              	.L136:
1751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** error :
 2492              		.loc 1 1753 1
 2493 0144 00BF     		nop
 2494              	.L127:
1754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Process Unlocked */
1755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_UNLOCK(hspi);
 2495              		.loc 1 1755 3
 2496 0146 FB68     		ldr	r3, [r7, #12]
 2497 0148 0022     		movs	r2, #0
 2498 014a 83F85C20 		strb	r2, [r3, #92]
1756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   return errorcode;
 2499              		.loc 1 1756 10
 2500 014e FB7D     		ldrb	r3, [r7, #23]	@ zero_extendqisi2
 2501              	.L129:
1757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 2502              		.loc 1 1757 1
 2503 0150 1846     		mov	r0, r3
 2504 0152 1837     		adds	r7, r7, #24
 2505              		.cfi_def_cfa_offset 8
 2506 0154 BD46     		mov	sp, r7
 2507              		.cfi_def_cfa_register 13
 2508              		@ sp needed
 2509 0156 80BD     		pop	{r7, pc}
 2510              	.L138:
 2511              		.align	2
 2512              	.L137:
 2513 0158 00000000 		.word	SPI_RxISR_16BIT
 2514 015c 00000000 		.word	SPI_RxISR_8BIT
 2515              		.cfi_endproc
 2516              	.LFE138:
 2518              		.section	.text.HAL_SPI_TransmitReceive_IT,"ax",%progbits
 2519              		.align	1
 2520              		.global	HAL_SPI_TransmitReceive_IT
ARM GAS  /tmp/ccs34gJO.s 			page 76


 2521              		.syntax unified
 2522              		.thumb
 2523              		.thumb_func
 2525              	HAL_SPI_TransmitReceive_IT:
 2526              	.LFB139:
1758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
1760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Transmit and Receive an amount of data in non-blocking mode with Interrupt.
1761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
1762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
1763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  pTxData pointer to transmission data buffer
1764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  pRxData pointer to reception data buffer
1765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  Size amount of data to be sent and received
1766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval HAL status
1767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
1768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_TransmitReceive_IT(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *pR
1769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 2527              		.loc 1 1769 1
 2528              		.cfi_startproc
 2529              		@ args = 0, pretend = 0, frame = 24
 2530              		@ frame_needed = 1, uses_anonymous_args = 0
 2531              		@ link register save eliminated.
 2532 0000 80B4     		push	{r7}
 2533              		.cfi_def_cfa_offset 4
 2534              		.cfi_offset 7, -4
 2535 0002 87B0     		sub	sp, sp, #28
 2536              		.cfi_def_cfa_offset 32
 2537 0004 00AF     		add	r7, sp, #0
 2538              		.cfi_def_cfa_register 7
 2539 0006 F860     		str	r0, [r7, #12]
 2540 0008 B960     		str	r1, [r7, #8]
 2541 000a 7A60     		str	r2, [r7, #4]
 2542 000c 7B80     		strh	r3, [r7, #2]	@ movhi
1770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   uint32_t             tmp_mode;
1771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   HAL_SPI_StateTypeDef tmp_state;
1772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   HAL_StatusTypeDef    errorcode = HAL_OK;
 2543              		.loc 1 1772 24
 2544 000e 0023     		movs	r3, #0
 2545 0010 FB75     		strb	r3, [r7, #23]
1773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check Direction parameter */
1775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   assert_param(IS_SPI_DIRECTION_2LINES(hspi->Init.Direction));
1776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Process locked */
1778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_LOCK(hspi);
 2546              		.loc 1 1778 3
 2547 0012 FB68     		ldr	r3, [r7, #12]
 2548 0014 93F85C30 		ldrb	r3, [r3, #92]	@ zero_extendqisi2
 2549 0018 012B     		cmp	r3, #1
 2550 001a 01D1     		bne	.L140
 2551              		.loc 1 1778 3 is_stmt 0 discriminator 1
 2552 001c 0223     		movs	r3, #2
 2553              		.loc 1 1778 3
 2554 001e 91E0     		b	.L141
 2555              	.L140:
 2556              		.loc 1 1778 3 discriminator 2
 2557 0020 FB68     		ldr	r3, [r7, #12]
ARM GAS  /tmp/ccs34gJO.s 			page 77


 2558 0022 0122     		movs	r2, #1
 2559 0024 83F85C20 		strb	r2, [r3, #92]
1779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Init temporary variables */
1781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   tmp_state           = hspi->State;
 2560              		.loc 1 1781 23 is_stmt 1
 2561 0028 FB68     		ldr	r3, [r7, #12]
 2562 002a 93F85D30 		ldrb	r3, [r3, #93]
 2563 002e BB75     		strb	r3, [r7, #22]
1782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   tmp_mode            = hspi->Init.Mode;
 2564              		.loc 1 1782 23
 2565 0030 FB68     		ldr	r3, [r7, #12]
 2566 0032 5B68     		ldr	r3, [r3, #4]
 2567 0034 3B61     		str	r3, [r7, #16]
1783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (!((tmp_state == HAL_SPI_STATE_READY) || \
 2568              		.loc 1 1784 6
 2569 0036 BB7D     		ldrb	r3, [r7, #22]	@ zero_extendqisi2
 2570 0038 012B     		cmp	r3, #1
 2571 003a 0DD0     		beq	.L142
 2572              		.loc 1 1784 7 discriminator 1
 2573 003c 3B69     		ldr	r3, [r7, #16]
 2574 003e B3F5827F 		cmp	r3, #260
 2575 0042 06D1     		bne	.L143
1785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
 2576              		.loc 1 1785 54
 2577 0044 FB68     		ldr	r3, [r7, #12]
 2578 0046 9B68     		ldr	r3, [r3, #8]
 2579              		.loc 1 1785 40
 2580 0048 002B     		cmp	r3, #0
 2581 004a 02D1     		bne	.L143
 2582              		.loc 1 1785 90 discriminator 1
 2583 004c BB7D     		ldrb	r3, [r7, #22]	@ zero_extendqisi2
 2584 004e 042B     		cmp	r3, #4
 2585 0050 02D0     		beq	.L142
 2586              	.L143:
1786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     errorcode = HAL_BUSY;
 2587              		.loc 1 1787 15
 2588 0052 0223     		movs	r3, #2
 2589 0054 FB75     		strb	r3, [r7, #23]
1788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     goto error;
 2590              		.loc 1 1788 5
 2591 0056 70E0     		b	.L144
 2592              	.L142:
1789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0U))
 2593              		.loc 1 1791 6
 2594 0058 BB68     		ldr	r3, [r7, #8]
 2595 005a 002B     		cmp	r3, #0
 2596 005c 05D0     		beq	.L145
 2597              		.loc 1 1791 25 discriminator 1
 2598 005e 7B68     		ldr	r3, [r7, #4]
 2599 0060 002B     		cmp	r3, #0
 2600 0062 02D0     		beq	.L145
 2601              		.loc 1 1791 46 discriminator 2
ARM GAS  /tmp/ccs34gJO.s 			page 78


 2602 0064 7B88     		ldrh	r3, [r7, #2]
 2603 0066 002B     		cmp	r3, #0
 2604 0068 02D1     		bne	.L146
 2605              	.L145:
1792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     errorcode = HAL_ERROR;
 2606              		.loc 1 1793 15
 2607 006a 0123     		movs	r3, #1
 2608 006c FB75     		strb	r3, [r7, #23]
1794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     goto error;
 2609              		.loc 1 1794 5
 2610 006e 64E0     		b	.L144
 2611              	.L146:
1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Don't overwrite in case of HAL_SPI_STATE_BUSY_RX */
1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->State != HAL_SPI_STATE_BUSY_RX)
 2612              		.loc 1 1798 11
 2613 0070 FB68     		ldr	r3, [r7, #12]
 2614 0072 93F85D30 		ldrb	r3, [r3, #93]
 2615 0076 DBB2     		uxtb	r3, r3
 2616              		.loc 1 1798 6
 2617 0078 042B     		cmp	r3, #4
 2618 007a 03D0     		beq	.L147
1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->State = HAL_SPI_STATE_BUSY_TX_RX;
 2619              		.loc 1 1800 17
 2620 007c FB68     		ldr	r3, [r7, #12]
 2621 007e 0522     		movs	r2, #5
 2622 0080 83F85D20 		strb	r2, [r3, #93]
 2623              	.L147:
1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Set the transaction information */
1804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->ErrorCode   = HAL_SPI_ERROR_NONE;
 2624              		.loc 1 1804 21
 2625 0084 FB68     		ldr	r3, [r7, #12]
 2626 0086 0022     		movs	r2, #0
 2627 0088 1A66     		str	r2, [r3, #96]
1805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->pTxBuffPtr  = (uint8_t *)pTxData;
 2628              		.loc 1 1805 21
 2629 008a FB68     		ldr	r3, [r7, #12]
 2630 008c BA68     		ldr	r2, [r7, #8]
 2631 008e 9A63     		str	r2, [r3, #56]
1806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxXferSize  = Size;
 2632              		.loc 1 1806 21
 2633 0090 FB68     		ldr	r3, [r7, #12]
 2634 0092 7A88     		ldrh	r2, [r7, #2]	@ movhi
 2635 0094 9A87     		strh	r2, [r3, #60]	@ movhi
1807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxXferCount = Size;
 2636              		.loc 1 1807 21
 2637 0096 FB68     		ldr	r3, [r7, #12]
 2638 0098 7A88     		ldrh	r2, [r7, #2]	@ movhi
 2639 009a DA87     		strh	r2, [r3, #62]	@ movhi
1808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->pRxBuffPtr  = (uint8_t *)pRxData;
 2640              		.loc 1 1808 21
 2641 009c FB68     		ldr	r3, [r7, #12]
ARM GAS  /tmp/ccs34gJO.s 			page 79


 2642 009e 7A68     		ldr	r2, [r7, #4]
 2643 00a0 1A64     		str	r2, [r3, #64]
1809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxXferSize  = Size;
 2644              		.loc 1 1809 21
 2645 00a2 FB68     		ldr	r3, [r7, #12]
 2646 00a4 7A88     		ldrh	r2, [r7, #2]	@ movhi
 2647 00a6 A3F84420 		strh	r2, [r3, #68]	@ movhi
1810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxXferCount = Size;
 2648              		.loc 1 1810 21
 2649 00aa FB68     		ldr	r3, [r7, #12]
 2650 00ac 7A88     		ldrh	r2, [r7, #2]	@ movhi
 2651 00ae A3F84620 		strh	r2, [r3, #70]	@ movhi
1811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Set the function for IT treatment */
1813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
 2652              		.loc 1 1813 17
 2653 00b2 FB68     		ldr	r3, [r7, #12]
 2654 00b4 DB68     		ldr	r3, [r3, #12]
 2655              		.loc 1 1813 6
 2656 00b6 B3F5E06F 		cmp	r3, #1792
 2657 00ba 06D9     		bls	.L148
1814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->RxISR     = SPI_2linesRxISR_16BIT;
 2658              		.loc 1 1815 21
 2659 00bc FB68     		ldr	r3, [r7, #12]
 2660 00be 244A     		ldr	r2, .L154
 2661 00c0 DA64     		str	r2, [r3, #76]
1816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->TxISR     = SPI_2linesTxISR_16BIT;
 2662              		.loc 1 1816 21
 2663 00c2 FB68     		ldr	r3, [r7, #12]
 2664 00c4 234A     		ldr	r2, .L154+4
 2665 00c6 1A65     		str	r2, [r3, #80]
 2666 00c8 05E0     		b	.L149
 2667              	.L148:
1817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   else
1819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->RxISR     = SPI_2linesRxISR_8BIT;
 2668              		.loc 1 1820 21
 2669 00ca FB68     		ldr	r3, [r7, #12]
 2670 00cc 224A     		ldr	r2, .L154+8
 2671 00ce DA64     		str	r2, [r3, #76]
1821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->TxISR     = SPI_2linesTxISR_8BIT;
 2672              		.loc 1 1821 21
 2673 00d0 FB68     		ldr	r3, [r7, #12]
 2674 00d2 224A     		ldr	r2, .L154+12
 2675 00d4 1A65     		str	r2, [r3, #80]
 2676              	.L149:
1822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Reset CRC Calculation */
1826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->CRCSize = 1U;
1829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if ((hspi->Init.DataSize <= SPI_DATASIZE_8BIT) && (hspi->Init.CRCLength == SPI_CRC_LENGTH_16BIT
1830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
ARM GAS  /tmp/ccs34gJO.s 			page 80


1831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->CRCSize = 2U;
1832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
1833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SPI_RESET_CRC(hspi);
1834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   else
1836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->CRCSize = 0U;
1838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check if packing mode is enabled and if there is more than 2 data to receive */
1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) || (Size >= 2U))
 2677              		.loc 1 1842 18
 2678 00d6 FB68     		ldr	r3, [r7, #12]
 2679 00d8 DB68     		ldr	r3, [r3, #12]
 2680              		.loc 1 1842 6
 2681 00da B3F5E06F 		cmp	r3, #1792
 2682 00de 02D8     		bhi	.L150
 2683              		.loc 1 1842 49 discriminator 1
 2684 00e0 7B88     		ldrh	r3, [r7, #2]
 2685 00e2 012B     		cmp	r3, #1
 2686 00e4 08D9     		bls	.L151
 2687              	.L150:
1843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Set RX Fifo threshold according the reception data length: 16 bit */
1845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     CLEAR_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
 2688              		.loc 1 1845 5
 2689 00e6 FB68     		ldr	r3, [r7, #12]
 2690 00e8 1B68     		ldr	r3, [r3]
 2691 00ea 5A68     		ldr	r2, [r3, #4]
 2692 00ec FB68     		ldr	r3, [r7, #12]
 2693 00ee 1B68     		ldr	r3, [r3]
 2694 00f0 22F48052 		bic	r2, r2, #4096
 2695 00f4 5A60     		str	r2, [r3, #4]
 2696 00f6 07E0     		b	.L152
 2697              	.L151:
1846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   else
1848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Set RX Fifo threshold according the reception data length: 8 bit */
1850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
 2698              		.loc 1 1850 5
 2699 00f8 FB68     		ldr	r3, [r7, #12]
 2700 00fa 1B68     		ldr	r3, [r3]
 2701 00fc 5A68     		ldr	r2, [r3, #4]
 2702 00fe FB68     		ldr	r3, [r7, #12]
 2703 0100 1B68     		ldr	r3, [r3]
 2704 0102 42F48052 		orr	r2, r2, #4096
 2705 0106 5A60     		str	r2, [r3, #4]
 2706              	.L152:
1851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Enable TXE, RXNE and ERR interrupt */
1854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_TXE | SPI_IT_RXNE | SPI_IT_ERR));
 2707              		.loc 1 1854 3
 2708 0108 FB68     		ldr	r3, [r7, #12]
 2709 010a 1B68     		ldr	r3, [r3]
ARM GAS  /tmp/ccs34gJO.s 			page 81


 2710 010c 5A68     		ldr	r2, [r3, #4]
 2711 010e FB68     		ldr	r3, [r7, #12]
 2712 0110 1B68     		ldr	r3, [r3]
 2713 0112 42F0E002 		orr	r2, r2, #224
 2714 0116 5A60     		str	r2, [r3, #4]
1855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check if the SPI is already enabled */
1857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
 2715              		.loc 1 1857 12
 2716 0118 FB68     		ldr	r3, [r7, #12]
 2717 011a 1B68     		ldr	r3, [r3]
 2718              		.loc 1 1857 22
 2719 011c 1B68     		ldr	r3, [r3]
 2720              		.loc 1 1857 28
 2721 011e 03F04003 		and	r3, r3, #64
 2722              		.loc 1 1857 6
 2723 0122 402B     		cmp	r3, #64
 2724 0124 08D0     		beq	.L153
1858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Enable SPI peripheral */
1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     __HAL_SPI_ENABLE(hspi);
 2725              		.loc 1 1860 5
 2726 0126 FB68     		ldr	r3, [r7, #12]
 2727 0128 1B68     		ldr	r3, [r3]
 2728 012a 1A68     		ldr	r2, [r3]
 2729 012c FB68     		ldr	r3, [r7, #12]
 2730 012e 1B68     		ldr	r3, [r3]
 2731 0130 42F04002 		orr	r2, r2, #64
 2732 0134 1A60     		str	r2, [r3]
 2733 0136 00E0     		b	.L144
 2734              	.L153:
1861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** error :
 2735              		.loc 1 1863 1
 2736 0138 00BF     		nop
 2737              	.L144:
1864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Process Unlocked */
1865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_UNLOCK(hspi);
 2738              		.loc 1 1865 3
 2739 013a FB68     		ldr	r3, [r7, #12]
 2740 013c 0022     		movs	r2, #0
 2741 013e 83F85C20 		strb	r2, [r3, #92]
1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   return errorcode;
 2742              		.loc 1 1866 10
 2743 0142 FB7D     		ldrb	r3, [r7, #23]	@ zero_extendqisi2
 2744              	.L141:
1867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 2745              		.loc 1 1867 1
 2746 0144 1846     		mov	r0, r3
 2747 0146 1C37     		adds	r7, r7, #28
 2748              		.cfi_def_cfa_offset 4
 2749 0148 BD46     		mov	sp, r7
 2750              		.cfi_def_cfa_register 13
 2751              		@ sp needed
 2752 014a 5DF8047B 		ldr	r7, [sp], #4
 2753              		.cfi_restore 7
ARM GAS  /tmp/ccs34gJO.s 			page 82


 2754              		.cfi_def_cfa_offset 0
 2755 014e 7047     		bx	lr
 2756              	.L155:
 2757              		.align	2
 2758              	.L154:
 2759 0150 00000000 		.word	SPI_2linesRxISR_16BIT
 2760 0154 00000000 		.word	SPI_2linesTxISR_16BIT
 2761 0158 00000000 		.word	SPI_2linesRxISR_8BIT
 2762 015c 00000000 		.word	SPI_2linesTxISR_8BIT
 2763              		.cfi_endproc
 2764              	.LFE139:
 2766              		.section	.text.HAL_SPI_Transmit_DMA,"ax",%progbits
 2767              		.align	1
 2768              		.global	HAL_SPI_Transmit_DMA
 2769              		.syntax unified
 2770              		.thumb
 2771              		.thumb_func
 2773              	HAL_SPI_Transmit_DMA:
 2774              	.LFB140:
1868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
1870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Transmit an amount of data in non-blocking mode with DMA.
1871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
1872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
1873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  pData pointer to data buffer
1874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  Size amount of data to be sent
1875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval HAL status
1876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
1877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Transmit_DMA(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size)
1878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 2775              		.loc 1 1878 1
 2776              		.cfi_startproc
 2777              		@ args = 0, pretend = 0, frame = 24
 2778              		@ frame_needed = 1, uses_anonymous_args = 0
 2779 0000 80B5     		push	{r7, lr}
 2780              		.cfi_def_cfa_offset 8
 2781              		.cfi_offset 7, -8
 2782              		.cfi_offset 14, -4
 2783 0002 86B0     		sub	sp, sp, #24
 2784              		.cfi_def_cfa_offset 32
 2785 0004 00AF     		add	r7, sp, #0
 2786              		.cfi_def_cfa_register 7
 2787 0006 F860     		str	r0, [r7, #12]
 2788 0008 B960     		str	r1, [r7, #8]
 2789 000a 1346     		mov	r3, r2
 2790 000c FB80     		strh	r3, [r7, #6]	@ movhi
1879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   HAL_StatusTypeDef errorcode = HAL_OK;
 2791              		.loc 1 1879 21
 2792 000e 0023     		movs	r3, #0
 2793 0010 FB75     		strb	r3, [r7, #23]
1880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check tx dma handle */
1882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   assert_param(IS_SPI_DMA_HANDLE(hspi->hdmatx));
1883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check Direction parameter */
1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   assert_param(IS_SPI_DIRECTION_2LINES_OR_1LINE(hspi->Init.Direction));
1886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
ARM GAS  /tmp/ccs34gJO.s 			page 83


1887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Process Locked */
1888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_LOCK(hspi);
 2794              		.loc 1 1888 3
 2795 0012 FB68     		ldr	r3, [r7, #12]
 2796 0014 93F85C30 		ldrb	r3, [r3, #92]	@ zero_extendqisi2
 2797 0018 012B     		cmp	r3, #1
 2798 001a 01D1     		bne	.L157
 2799              		.loc 1 1888 3 is_stmt 0 discriminator 1
 2800 001c 0223     		movs	r3, #2
 2801              		.loc 1 1888 3
 2802 001e D4E0     		b	.L158
 2803              	.L157:
 2804              		.loc 1 1888 3 discriminator 2
 2805 0020 FB68     		ldr	r3, [r7, #12]
 2806 0022 0122     		movs	r2, #1
 2807 0024 83F85C20 		strb	r2, [r3, #92]
1889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->State != HAL_SPI_STATE_READY)
 2808              		.loc 1 1890 11 is_stmt 1
 2809 0028 FB68     		ldr	r3, [r7, #12]
 2810 002a 93F85D30 		ldrb	r3, [r3, #93]
 2811 002e DBB2     		uxtb	r3, r3
 2812              		.loc 1 1890 6
 2813 0030 012B     		cmp	r3, #1
 2814 0032 02D0     		beq	.L159
1891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     errorcode = HAL_BUSY;
 2815              		.loc 1 1892 15
 2816 0034 0223     		movs	r3, #2
 2817 0036 FB75     		strb	r3, [r7, #23]
1893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     goto error;
 2818              		.loc 1 1893 5
 2819 0038 C2E0     		b	.L160
 2820              	.L159:
1894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((pData == NULL) || (Size == 0U))
 2821              		.loc 1 1896 6
 2822 003a BB68     		ldr	r3, [r7, #8]
 2823 003c 002B     		cmp	r3, #0
 2824 003e 02D0     		beq	.L161
 2825              		.loc 1 1896 23 discriminator 1
 2826 0040 FB88     		ldrh	r3, [r7, #6]
 2827 0042 002B     		cmp	r3, #0
 2828 0044 02D1     		bne	.L162
 2829              	.L161:
1897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     errorcode = HAL_ERROR;
 2830              		.loc 1 1898 15
 2831 0046 0123     		movs	r3, #1
 2832 0048 FB75     		strb	r3, [r7, #23]
1899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     goto error;
 2833              		.loc 1 1899 5
 2834 004a B9E0     		b	.L160
 2835              	.L162:
1900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
ARM GAS  /tmp/ccs34gJO.s 			page 84


1902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Set the transaction information */
1903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->State       = HAL_SPI_STATE_BUSY_TX;
 2836              		.loc 1 1903 21
 2837 004c FB68     		ldr	r3, [r7, #12]
 2838 004e 0322     		movs	r2, #3
 2839 0050 83F85D20 		strb	r2, [r3, #93]
1904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->ErrorCode   = HAL_SPI_ERROR_NONE;
 2840              		.loc 1 1904 21
 2841 0054 FB68     		ldr	r3, [r7, #12]
 2842 0056 0022     		movs	r2, #0
 2843 0058 1A66     		str	r2, [r3, #96]
1905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->pTxBuffPtr  = (uint8_t *)pData;
 2844              		.loc 1 1905 21
 2845 005a FB68     		ldr	r3, [r7, #12]
 2846 005c BA68     		ldr	r2, [r7, #8]
 2847 005e 9A63     		str	r2, [r3, #56]
1906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxXferSize  = Size;
 2848              		.loc 1 1906 21
 2849 0060 FB68     		ldr	r3, [r7, #12]
 2850 0062 FA88     		ldrh	r2, [r7, #6]	@ movhi
 2851 0064 9A87     		strh	r2, [r3, #60]	@ movhi
1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxXferCount = Size;
 2852              		.loc 1 1907 21
 2853 0066 FB68     		ldr	r3, [r7, #12]
 2854 0068 FA88     		ldrh	r2, [r7, #6]	@ movhi
 2855 006a DA87     		strh	r2, [r3, #62]	@ movhi
1908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Init field not used in handle to zero */
1910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->pRxBuffPtr  = (uint8_t *)NULL;
 2856              		.loc 1 1910 21
 2857 006c FB68     		ldr	r3, [r7, #12]
 2858 006e 0022     		movs	r2, #0
 2859 0070 1A64     		str	r2, [r3, #64]
1911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxISR       = NULL;
 2860              		.loc 1 1911 21
 2861 0072 FB68     		ldr	r3, [r7, #12]
 2862 0074 0022     		movs	r2, #0
 2863 0076 1A65     		str	r2, [r3, #80]
1912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxISR       = NULL;
 2864              		.loc 1 1912 21
 2865 0078 FB68     		ldr	r3, [r7, #12]
 2866 007a 0022     		movs	r2, #0
 2867 007c DA64     		str	r2, [r3, #76]
1913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxXferSize  = 0U;
 2868              		.loc 1 1913 21
 2869 007e FB68     		ldr	r3, [r7, #12]
 2870 0080 0022     		movs	r2, #0
 2871 0082 A3F84420 		strh	r2, [r3, #68]	@ movhi
1914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxXferCount = 0U;
 2872              		.loc 1 1914 21
 2873 0086 FB68     		ldr	r3, [r7, #12]
 2874 0088 0022     		movs	r2, #0
 2875 008a A3F84620 		strh	r2, [r3, #70]	@ movhi
1915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Configure communication direction : 1Line */
1917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.Direction == SPI_DIRECTION_1LINE)
 2876              		.loc 1 1917 17
ARM GAS  /tmp/ccs34gJO.s 			page 85


 2877 008e FB68     		ldr	r3, [r7, #12]
 2878 0090 9B68     		ldr	r3, [r3, #8]
 2879              		.loc 1 1917 6
 2880 0092 B3F5004F 		cmp	r3, #32768
 2881 0096 0FD1     		bne	.L163
1918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Disable SPI Peripheral before set 1Line direction (BIDIOE bit) */
1920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     __HAL_SPI_DISABLE(hspi);
 2882              		.loc 1 1920 5
 2883 0098 FB68     		ldr	r3, [r7, #12]
 2884 009a 1B68     		ldr	r3, [r3]
 2885 009c 1A68     		ldr	r2, [r3]
 2886 009e FB68     		ldr	r3, [r7, #12]
 2887 00a0 1B68     		ldr	r3, [r3]
 2888 00a2 22F04002 		bic	r2, r2, #64
 2889 00a6 1A60     		str	r2, [r3]
1921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SPI_1LINE_TX(hspi);
 2890              		.loc 1 1921 5
 2891 00a8 FB68     		ldr	r3, [r7, #12]
 2892 00aa 1B68     		ldr	r3, [r3]
 2893 00ac 1A68     		ldr	r2, [r3]
 2894 00ae FB68     		ldr	r3, [r7, #12]
 2895 00b0 1B68     		ldr	r3, [r3]
 2896 00b2 42F48042 		orr	r2, r2, #16384
 2897 00b6 1A60     		str	r2, [r3]
 2898              	.L163:
1922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Reset CRC Calculation */
1926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SPI_RESET_CRC(hspi);
1929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Set the SPI TxDMA Half transfer complete callback */
1933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->hdmatx->XferHalfCpltCallback = SPI_DMAHalfTransmitCplt;
 2899              		.loc 1 1933 7
 2900 00b8 FB68     		ldr	r3, [r7, #12]
 2901 00ba 5B6D     		ldr	r3, [r3, #84]
 2902              		.loc 1 1933 38
 2903 00bc 454A     		ldr	r2, .L168
 2904 00be DA62     		str	r2, [r3, #44]
1934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Set the SPI TxDMA transfer complete callback */
1936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->hdmatx->XferCpltCallback = SPI_DMATransmitCplt;
 2905              		.loc 1 1936 7
 2906 00c0 FB68     		ldr	r3, [r7, #12]
 2907 00c2 5B6D     		ldr	r3, [r3, #84]
 2908              		.loc 1 1936 34
 2909 00c4 444A     		ldr	r2, .L168+4
 2910 00c6 9A62     		str	r2, [r3, #40]
1937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Set the DMA error callback */
1939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->hdmatx->XferErrorCallback = SPI_DMAError;
 2911              		.loc 1 1939 7
ARM GAS  /tmp/ccs34gJO.s 			page 86


 2912 00c8 FB68     		ldr	r3, [r7, #12]
 2913 00ca 5B6D     		ldr	r3, [r3, #84]
 2914              		.loc 1 1939 35
 2915 00cc 434A     		ldr	r2, .L168+8
 2916 00ce 1A63     		str	r2, [r3, #48]
1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Set the DMA AbortCpltCallback */
1942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->hdmatx->XferAbortCallback = NULL;
 2917              		.loc 1 1942 7
 2918 00d0 FB68     		ldr	r3, [r7, #12]
 2919 00d2 5B6D     		ldr	r3, [r3, #84]
 2920              		.loc 1 1942 35
 2921 00d4 0022     		movs	r2, #0
 2922 00d6 5A63     		str	r2, [r3, #52]
1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_LDMATX);
 2923              		.loc 1 1944 3
 2924 00d8 FB68     		ldr	r3, [r7, #12]
 2925 00da 1B68     		ldr	r3, [r3]
 2926 00dc 5A68     		ldr	r2, [r3, #4]
 2927 00de FB68     		ldr	r3, [r7, #12]
 2928 00e0 1B68     		ldr	r3, [r3]
 2929 00e2 22F48042 		bic	r2, r2, #16384
 2930 00e6 5A60     		str	r2, [r3, #4]
1945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Packing mode is enabled only if the DMA setting is HALWORD */
1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((hspi->Init.DataSize <= SPI_DATASIZE_8BIT) && (hspi->hdmatx->Init.MemDataAlignment == DMA_MDA
 2931              		.loc 1 1946 18
 2932 00e8 FB68     		ldr	r3, [r7, #12]
 2933 00ea DB68     		ldr	r3, [r3, #12]
 2934              		.loc 1 1946 6
 2935 00ec B3F5E06F 		cmp	r3, #1792
 2936 00f0 2DD8     		bhi	.L164
 2937              		.loc 1 1946 58 discriminator 1
 2938 00f2 FB68     		ldr	r3, [r7, #12]
 2939 00f4 5B6D     		ldr	r3, [r3, #84]
 2940              		.loc 1 1946 72 discriminator 1
 2941 00f6 5B69     		ldr	r3, [r3, #20]
 2942              		.loc 1 1946 50 discriminator 1
 2943 00f8 B3F5806F 		cmp	r3, #1024
 2944 00fc 27D1     		bne	.L164
1947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Check the even/odd of the data size + crc if enabled */
1949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if ((hspi->TxXferCount & 0x1U) == 0U)
 2945              		.loc 1 1949 14
 2946 00fe FB68     		ldr	r3, [r7, #12]
 2947 0100 DB8F     		ldrh	r3, [r3, #62]	@ movhi
 2948 0102 9BB2     		uxth	r3, r3
 2949              		.loc 1 1949 28
 2950 0104 03F00103 		and	r3, r3, #1
 2951              		.loc 1 1949 8
 2952 0108 002B     		cmp	r3, #0
 2953 010a 0FD1     		bne	.L165
1950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
1951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_LDMATX);
 2954              		.loc 1 1951 7
 2955 010c FB68     		ldr	r3, [r7, #12]
 2956 010e 1B68     		ldr	r3, [r3]
ARM GAS  /tmp/ccs34gJO.s 			page 87


 2957 0110 5A68     		ldr	r2, [r3, #4]
 2958 0112 FB68     		ldr	r3, [r7, #12]
 2959 0114 1B68     		ldr	r3, [r3]
 2960 0116 22F48042 		bic	r2, r2, #16384
 2961 011a 5A60     		str	r2, [r3, #4]
1952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->TxXferCount = (hspi->TxXferCount >> 1U);
 2962              		.loc 1 1952 32
 2963 011c FB68     		ldr	r3, [r7, #12]
 2964 011e DB8F     		ldrh	r3, [r3, #62]	@ movhi
 2965 0120 9BB2     		uxth	r3, r3
 2966              		.loc 1 1952 25
 2967 0122 5B08     		lsrs	r3, r3, #1
 2968 0124 9AB2     		uxth	r2, r3
 2969 0126 FB68     		ldr	r3, [r7, #12]
 2970 0128 DA87     		strh	r2, [r3, #62]	@ movhi
 2971 012a 10E0     		b	.L164
 2972              	.L165:
1953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
1954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     else
1955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
1956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       SET_BIT(hspi->Instance->CR2, SPI_CR2_LDMATX);
 2973              		.loc 1 1956 7
 2974 012c FB68     		ldr	r3, [r7, #12]
 2975 012e 1B68     		ldr	r3, [r3]
 2976 0130 5A68     		ldr	r2, [r3, #4]
 2977 0132 FB68     		ldr	r3, [r7, #12]
 2978 0134 1B68     		ldr	r3, [r3]
 2979 0136 42F48042 		orr	r2, r2, #16384
 2980 013a 5A60     		str	r2, [r3, #4]
1957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->TxXferCount = (hspi->TxXferCount >> 1U) + 1U;
 2981              		.loc 1 1957 32
 2982 013c FB68     		ldr	r3, [r7, #12]
 2983 013e DB8F     		ldrh	r3, [r3, #62]	@ movhi
 2984 0140 9BB2     		uxth	r3, r3
 2985              		.loc 1 1957 53
 2986 0142 5B08     		lsrs	r3, r3, #1
 2987 0144 9BB2     		uxth	r3, r3
 2988 0146 0133     		adds	r3, r3, #1
 2989 0148 9AB2     		uxth	r2, r3
 2990              		.loc 1 1957 25
 2991 014a FB68     		ldr	r3, [r7, #12]
 2992 014c DA87     		strh	r2, [r3, #62]	@ movhi
 2993              	.L164:
1958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
1959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Enable the Tx DMA Stream/Channel */
1962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (HAL_OK != HAL_DMA_Start_IT(hspi->hdmatx, (uint32_t)hspi->pTxBuffPtr, (uint32_t)&hspi->Instanc
 2994              		.loc 1 1962 17
 2995 014e FB68     		ldr	r3, [r7, #12]
 2996 0150 586D     		ldr	r0, [r3, #84]
 2997              		.loc 1 1962 62
 2998 0152 FB68     		ldr	r3, [r7, #12]
 2999 0154 9B6B     		ldr	r3, [r3, #56]
 3000              		.loc 1 1962 17
 3001 0156 1946     		mov	r1, r3
 3002              		.loc 1 1962 91
ARM GAS  /tmp/ccs34gJO.s 			page 88


 3003 0158 FB68     		ldr	r3, [r7, #12]
 3004 015a 1B68     		ldr	r3, [r3]
 3005              		.loc 1 1962 86
 3006 015c 0C33     		adds	r3, r3, #12
 3007              		.loc 1 1962 17
 3008 015e 1A46     		mov	r2, r3
1963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                  hspi->TxXferCount))
 3009              		.loc 1 1963 38
 3010 0160 FB68     		ldr	r3, [r7, #12]
 3011 0162 DB8F     		ldrh	r3, [r3, #62]	@ movhi
 3012 0164 9BB2     		uxth	r3, r3
1962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                  hspi->TxXferCount))
 3013              		.loc 1 1962 17
 3014 0166 FFF7FEFF 		bl	HAL_DMA_Start_IT
 3015 016a 0346     		mov	r3, r0
1962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                  hspi->TxXferCount))
 3016              		.loc 1 1962 6 discriminator 1
 3017 016c 002B     		cmp	r3, #0
 3018 016e 08D0     		beq	.L166
1964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Update SPI error code */
1966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
 3019              		.loc 1 1966 5
 3020 0170 FB68     		ldr	r3, [r7, #12]
 3021 0172 1B6E     		ldr	r3, [r3, #96]
 3022 0174 43F01002 		orr	r2, r3, #16
 3023 0178 FB68     		ldr	r3, [r7, #12]
 3024 017a 1A66     		str	r2, [r3, #96]
1967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     errorcode = HAL_ERROR;
 3025              		.loc 1 1967 15
 3026 017c 0123     		movs	r3, #1
 3027 017e FB75     		strb	r3, [r7, #23]
1968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     goto error;
 3028              		.loc 1 1969 5
 3029 0180 1EE0     		b	.L160
 3030              	.L166:
1970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check if the SPI is already enabled */
1973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
 3031              		.loc 1 1973 12
 3032 0182 FB68     		ldr	r3, [r7, #12]
 3033 0184 1B68     		ldr	r3, [r3]
 3034              		.loc 1 1973 22
 3035 0186 1B68     		ldr	r3, [r3]
 3036              		.loc 1 1973 28
 3037 0188 03F04003 		and	r3, r3, #64
 3038              		.loc 1 1973 6
 3039 018c 402B     		cmp	r3, #64
 3040 018e 07D0     		beq	.L167
1974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
1975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Enable SPI peripheral */
1976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     __HAL_SPI_ENABLE(hspi);
 3041              		.loc 1 1976 5
 3042 0190 FB68     		ldr	r3, [r7, #12]
 3043 0192 1B68     		ldr	r3, [r3]
ARM GAS  /tmp/ccs34gJO.s 			page 89


 3044 0194 1A68     		ldr	r2, [r3]
 3045 0196 FB68     		ldr	r3, [r7, #12]
 3046 0198 1B68     		ldr	r3, [r3]
 3047 019a 42F04002 		orr	r2, r2, #64
 3048 019e 1A60     		str	r2, [r3]
 3049              	.L167:
1977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
1978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Enable the SPI Error Interrupt Bit */
1980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_ERR));
 3050              		.loc 1 1980 3
 3051 01a0 FB68     		ldr	r3, [r7, #12]
 3052 01a2 1B68     		ldr	r3, [r3]
 3053 01a4 5A68     		ldr	r2, [r3, #4]
 3054 01a6 FB68     		ldr	r3, [r7, #12]
 3055 01a8 1B68     		ldr	r3, [r3]
 3056 01aa 42F02002 		orr	r2, r2, #32
 3057 01ae 5A60     		str	r2, [r3, #4]
1981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Enable Tx DMA Request */
1983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   SET_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN);
 3058              		.loc 1 1983 3
 3059 01b0 FB68     		ldr	r3, [r7, #12]
 3060 01b2 1B68     		ldr	r3, [r3]
 3061 01b4 5A68     		ldr	r2, [r3, #4]
 3062 01b6 FB68     		ldr	r3, [r7, #12]
 3063 01b8 1B68     		ldr	r3, [r3]
 3064 01ba 42F00202 		orr	r2, r2, #2
 3065 01be 5A60     		str	r2, [r3, #4]
 3066              	.L160:
1984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** error :
1986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Process Unlocked */
1987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_UNLOCK(hspi);
 3067              		.loc 1 1987 3
 3068 01c0 FB68     		ldr	r3, [r7, #12]
 3069 01c2 0022     		movs	r2, #0
 3070 01c4 83F85C20 		strb	r2, [r3, #92]
1988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   return errorcode;
 3071              		.loc 1 1988 10
 3072 01c8 FB7D     		ldrb	r3, [r7, #23]	@ zero_extendqisi2
 3073              	.L158:
1989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 3074              		.loc 1 1989 1
 3075 01ca 1846     		mov	r0, r3
 3076 01cc 1837     		adds	r7, r7, #24
 3077              		.cfi_def_cfa_offset 8
 3078 01ce BD46     		mov	sp, r7
 3079              		.cfi_def_cfa_register 13
 3080              		@ sp needed
 3081 01d0 80BD     		pop	{r7, pc}
 3082              	.L169:
 3083 01d2 00BF     		.align	2
 3084              	.L168:
 3085 01d4 00000000 		.word	SPI_DMAHalfTransmitCplt
 3086 01d8 00000000 		.word	SPI_DMATransmitCplt
 3087 01dc 00000000 		.word	SPI_DMAError
ARM GAS  /tmp/ccs34gJO.s 			page 90


 3088              		.cfi_endproc
 3089              	.LFE140:
 3091              		.section	.text.HAL_SPI_Receive_DMA,"ax",%progbits
 3092              		.align	1
 3093              		.global	HAL_SPI_Receive_DMA
 3094              		.syntax unified
 3095              		.thumb
 3096              		.thumb_func
 3098              	HAL_SPI_Receive_DMA:
 3099              	.LFB141:
1990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
1991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
1992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Receive an amount of data in non-blocking mode with DMA.
1993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @note   In case of MASTER mode and SPI_DIRECTION_2LINES direction, hdmatx shall be defined.
1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
1995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
1996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  pData pointer to data buffer
1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @note   When the CRC feature is enabled the pData Length must be Size + 1.
1998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  Size amount of data to be sent
1999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval HAL status
2000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
2001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Receive_DMA(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size)
2002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 3100              		.loc 1 2002 1
 3101              		.cfi_startproc
 3102              		@ args = 0, pretend = 0, frame = 24
 3103              		@ frame_needed = 1, uses_anonymous_args = 0
 3104 0000 80B5     		push	{r7, lr}
 3105              		.cfi_def_cfa_offset 8
 3106              		.cfi_offset 7, -8
 3107              		.cfi_offset 14, -4
 3108 0002 86B0     		sub	sp, sp, #24
 3109              		.cfi_def_cfa_offset 32
 3110 0004 00AF     		add	r7, sp, #0
 3111              		.cfi_def_cfa_register 7
 3112 0006 F860     		str	r0, [r7, #12]
 3113 0008 B960     		str	r1, [r7, #8]
 3114 000a 1346     		mov	r3, r2
 3115 000c FB80     		strh	r3, [r7, #6]	@ movhi
2003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   HAL_StatusTypeDef errorcode = HAL_OK;
 3116              		.loc 1 2003 21
 3117 000e 0023     		movs	r3, #0
 3118 0010 FB75     		strb	r3, [r7, #23]
2004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check rx dma handle */
2006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   assert_param(IS_SPI_DMA_HANDLE(hspi->hdmarx));
2007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   
2008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->State != HAL_SPI_STATE_READY)
 3119              		.loc 1 2008 11
 3120 0012 FB68     		ldr	r3, [r7, #12]
 3121 0014 93F85D30 		ldrb	r3, [r3, #93]
 3122 0018 DBB2     		uxtb	r3, r3
 3123              		.loc 1 2008 6
 3124 001a 012B     		cmp	r3, #1
 3125 001c 02D0     		beq	.L171
2009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     errorcode = HAL_BUSY;
ARM GAS  /tmp/ccs34gJO.s 			page 91


 3126              		.loc 1 2010 15
 3127 001e 0223     		movs	r3, #2
 3128 0020 FB75     		strb	r3, [r7, #23]
2011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     goto error;
 3129              		.loc 1 2011 5
 3130 0022 0CE1     		b	.L172
 3131              	.L171:
2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   
2014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((hspi->Init.Direction == SPI_DIRECTION_2LINES) && (hspi->Init.Mode == SPI_MODE_MASTER))
 3132              		.loc 1 2014 18
 3133 0024 FB68     		ldr	r3, [r7, #12]
 3134 0026 9B68     		ldr	r3, [r3, #8]
 3135              		.loc 1 2014 6
 3136 0028 002B     		cmp	r3, #0
 3137 002a 10D1     		bne	.L173
 3138              		.loc 1 2014 68 discriminator 1
 3139 002c FB68     		ldr	r3, [r7, #12]
 3140 002e 5B68     		ldr	r3, [r3, #4]
 3141              		.loc 1 2014 54 discriminator 1
 3142 0030 B3F5827F 		cmp	r3, #260
 3143 0034 0BD1     		bne	.L173
2015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->State = HAL_SPI_STATE_BUSY_RX;
 3144              		.loc 1 2016 17
 3145 0036 FB68     		ldr	r3, [r7, #12]
 3146 0038 0422     		movs	r2, #4
 3147 003a 83F85D20 		strb	r2, [r3, #93]
2017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Check tx dma handle */
2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     assert_param(IS_SPI_DMA_HANDLE(hspi->hdmatx));
2020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Call transmit-receive function to send Dummy data on Tx line and generate clock on CLK line 
2022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     return HAL_SPI_TransmitReceive_DMA(hspi, pData, pData, Size);
 3148              		.loc 1 2022 12
 3149 003e FB88     		ldrh	r3, [r7, #6]
 3150 0040 BA68     		ldr	r2, [r7, #8]
 3151 0042 B968     		ldr	r1, [r7, #8]
 3152 0044 F868     		ldr	r0, [r7, #12]
 3153 0046 FFF7FEFF 		bl	HAL_SPI_TransmitReceive_DMA
 3154 004a 0346     		mov	r3, r0
 3155 004c FCE0     		b	.L174
 3156              	.L173:
2023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Process Locked */
2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_LOCK(hspi);
 3157              		.loc 1 2026 3
 3158 004e FB68     		ldr	r3, [r7, #12]
 3159 0050 93F85C30 		ldrb	r3, [r3, #92]	@ zero_extendqisi2
 3160 0054 012B     		cmp	r3, #1
 3161 0056 01D1     		bne	.L175
 3162              		.loc 1 2026 3 is_stmt 0 discriminator 1
 3163 0058 0223     		movs	r3, #2
 3164              		.loc 1 2026 3
 3165 005a F5E0     		b	.L174
 3166              	.L175:
ARM GAS  /tmp/ccs34gJO.s 			page 92


 3167              		.loc 1 2026 3 discriminator 2
 3168 005c FB68     		ldr	r3, [r7, #12]
 3169 005e 0122     		movs	r2, #1
 3170 0060 83F85C20 		strb	r2, [r3, #92]
2027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((pData == NULL) || (Size == 0U))
 3171              		.loc 1 2028 6 is_stmt 1
 3172 0064 BB68     		ldr	r3, [r7, #8]
 3173 0066 002B     		cmp	r3, #0
 3174 0068 02D0     		beq	.L176
 3175              		.loc 1 2028 23 discriminator 1
 3176 006a FB88     		ldrh	r3, [r7, #6]
 3177 006c 002B     		cmp	r3, #0
 3178 006e 02D1     		bne	.L177
 3179              	.L176:
2029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     errorcode = HAL_ERROR;
 3180              		.loc 1 2030 15
 3181 0070 0123     		movs	r3, #1
 3182 0072 FB75     		strb	r3, [r7, #23]
2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     goto error;
 3183              		.loc 1 2031 5
 3184 0074 E3E0     		b	.L172
 3185              	.L177:
2032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Set the transaction information */
2035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->State       = HAL_SPI_STATE_BUSY_RX;
 3186              		.loc 1 2035 21
 3187 0076 FB68     		ldr	r3, [r7, #12]
 3188 0078 0422     		movs	r2, #4
 3189 007a 83F85D20 		strb	r2, [r3, #93]
2036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->ErrorCode   = HAL_SPI_ERROR_NONE;
 3190              		.loc 1 2036 21
 3191 007e FB68     		ldr	r3, [r7, #12]
 3192 0080 0022     		movs	r2, #0
 3193 0082 1A66     		str	r2, [r3, #96]
2037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->pRxBuffPtr  = (uint8_t *)pData;
 3194              		.loc 1 2037 21
 3195 0084 FB68     		ldr	r3, [r7, #12]
 3196 0086 BA68     		ldr	r2, [r7, #8]
 3197 0088 1A64     		str	r2, [r3, #64]
2038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxXferSize  = Size;
 3198              		.loc 1 2038 21
 3199 008a FB68     		ldr	r3, [r7, #12]
 3200 008c FA88     		ldrh	r2, [r7, #6]	@ movhi
 3201 008e A3F84420 		strh	r2, [r3, #68]	@ movhi
2039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxXferCount = Size;
 3202              		.loc 1 2039 21
 3203 0092 FB68     		ldr	r3, [r7, #12]
 3204 0094 FA88     		ldrh	r2, [r7, #6]	@ movhi
 3205 0096 A3F84620 		strh	r2, [r3, #70]	@ movhi
2040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /*Init field not used in handle to zero */
2042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxISR       = NULL;
 3206              		.loc 1 2042 21
 3207 009a FB68     		ldr	r3, [r7, #12]
ARM GAS  /tmp/ccs34gJO.s 			page 93


 3208 009c 0022     		movs	r2, #0
 3209 009e DA64     		str	r2, [r3, #76]
2043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxISR       = NULL;
 3210              		.loc 1 2043 21
 3211 00a0 FB68     		ldr	r3, [r7, #12]
 3212 00a2 0022     		movs	r2, #0
 3213 00a4 1A65     		str	r2, [r3, #80]
2044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxXferSize  = 0U;
 3214              		.loc 1 2044 21
 3215 00a6 FB68     		ldr	r3, [r7, #12]
 3216 00a8 0022     		movs	r2, #0
 3217 00aa 9A87     		strh	r2, [r3, #60]	@ movhi
2045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxXferCount = 0U;
 3218              		.loc 1 2045 21
 3219 00ac FB68     		ldr	r3, [r7, #12]
 3220 00ae 0022     		movs	r2, #0
 3221 00b0 DA87     		strh	r2, [r3, #62]	@ movhi
2046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Configure communication direction : 1Line */
2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.Direction == SPI_DIRECTION_1LINE)
 3222              		.loc 1 2048 17
 3223 00b2 FB68     		ldr	r3, [r7, #12]
 3224 00b4 9B68     		ldr	r3, [r3, #8]
 3225              		.loc 1 2048 6
 3226 00b6 B3F5004F 		cmp	r3, #32768
 3227 00ba 0FD1     		bne	.L178
2049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Disable SPI Peripheral before set 1Line direction (BIDIOE bit) */
2051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     __HAL_SPI_DISABLE(hspi);
 3228              		.loc 1 2051 5
 3229 00bc FB68     		ldr	r3, [r7, #12]
 3230 00be 1B68     		ldr	r3, [r3]
 3231 00c0 1A68     		ldr	r2, [r3]
 3232 00c2 FB68     		ldr	r3, [r7, #12]
 3233 00c4 1B68     		ldr	r3, [r3]
 3234 00c6 22F04002 		bic	r2, r2, #64
 3235 00ca 1A60     		str	r2, [r3]
2052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SPI_1LINE_RX(hspi);
 3236              		.loc 1 2052 5
 3237 00cc FB68     		ldr	r3, [r7, #12]
 3238 00ce 1B68     		ldr	r3, [r3]
 3239 00d0 1A68     		ldr	r2, [r3]
 3240 00d2 FB68     		ldr	r3, [r7, #12]
 3241 00d4 1B68     		ldr	r3, [r3]
 3242 00d6 22F48042 		bic	r2, r2, #16384
 3243 00da 1A60     		str	r2, [r3]
 3244              	.L178:
2053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
2056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Reset CRC Calculation */
2057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
2058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SPI_RESET_CRC(hspi);
2060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
2062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
ARM GAS  /tmp/ccs34gJO.s 			page 94


2063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if defined (STM32F302xC) || defined (STM32F303xC) || defined (STM32F373xC) || defined (STM32F358xx
2064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Packing mode management is enabled by the DMA settings */
2065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((hspi->Init.DataSize <= SPI_DATASIZE_8BIT) && (hspi->hdmarx->Init.MemDataAlignment == DMA_MDA
 3245              		.loc 1 2065 18
 3246 00dc FB68     		ldr	r3, [r7, #12]
 3247 00de DB68     		ldr	r3, [r3, #12]
 3248              		.loc 1 2065 6
 3249 00e0 B3F5E06F 		cmp	r3, #1792
 3250 00e4 08D8     		bhi	.L179
 3251              		.loc 1 2065 58 discriminator 1
 3252 00e6 FB68     		ldr	r3, [r7, #12]
 3253 00e8 9B6D     		ldr	r3, [r3, #88]
 3254              		.loc 1 2065 72 discriminator 1
 3255 00ea 5B69     		ldr	r3, [r3, #20]
 3256              		.loc 1 2065 50 discriminator 1
 3257 00ec B3F5806F 		cmp	r3, #1024
 3258 00f0 02D1     		bne	.L179
2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Restriction the DMA data received is not allowed in this mode */
2068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     errorcode = HAL_ERROR;
 3259              		.loc 1 2068 15
 3260 00f2 0123     		movs	r3, #1
 3261 00f4 FB75     		strb	r3, [r7, #23]
2069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     goto error;
 3262              		.loc 1 2069 5
 3263 00f6 A2E0     		b	.L172
 3264              	.L179:
2070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* STM32F302xC || STM32F303xC || STM32F373xC || STM32F358xx || STM32F378xx */
2072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_LDMARX);
 3265              		.loc 1 2073 3
 3266 00f8 FB68     		ldr	r3, [r7, #12]
 3267 00fa 1B68     		ldr	r3, [r3]
 3268 00fc 5A68     		ldr	r2, [r3, #4]
 3269 00fe FB68     		ldr	r3, [r7, #12]
 3270 0100 1B68     		ldr	r3, [r3]
 3271 0102 22F40052 		bic	r2, r2, #8192
 3272 0106 5A60     		str	r2, [r3, #4]
2074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
 3273              		.loc 1 2074 17
 3274 0108 FB68     		ldr	r3, [r7, #12]
 3275 010a DB68     		ldr	r3, [r3, #12]
 3276              		.loc 1 2074 6
 3277 010c B3F5E06F 		cmp	r3, #1792
 3278 0110 08D9     		bls	.L180
2075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Set RX Fifo threshold according the reception data length: 16bit */
2077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     CLEAR_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
 3279              		.loc 1 2077 5
 3280 0112 FB68     		ldr	r3, [r7, #12]
 3281 0114 1B68     		ldr	r3, [r3]
 3282 0116 5A68     		ldr	r2, [r3, #4]
 3283 0118 FB68     		ldr	r3, [r7, #12]
 3284 011a 1B68     		ldr	r3, [r3]
 3285 011c 22F48052 		bic	r2, r2, #4096
 3286 0120 5A60     		str	r2, [r3, #4]
ARM GAS  /tmp/ccs34gJO.s 			page 95


 3287 0122 42E0     		b	.L181
 3288              	.L180:
2078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   else
2080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Set RX Fifo threshold according the reception data length: 8bit */
2082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
 3289              		.loc 1 2082 5
 3290 0124 FB68     		ldr	r3, [r7, #12]
 3291 0126 1B68     		ldr	r3, [r3]
 3292 0128 5A68     		ldr	r2, [r3, #4]
 3293 012a FB68     		ldr	r3, [r7, #12]
 3294 012c 1B68     		ldr	r3, [r3]
 3295 012e 42F48052 		orr	r2, r2, #4096
 3296 0132 5A60     		str	r2, [r3, #4]
2083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->hdmarx->Init.MemDataAlignment == DMA_MDATAALIGN_HALFWORD)
 3297              		.loc 1 2084 13
 3298 0134 FB68     		ldr	r3, [r7, #12]
 3299 0136 9B6D     		ldr	r3, [r3, #88]
 3300              		.loc 1 2084 27
 3301 0138 5B69     		ldr	r3, [r3, #20]
 3302              		.loc 1 2084 8
 3303 013a B3F5806F 		cmp	r3, #1024
 3304 013e 34D1     		bne	.L181
2085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
2086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Set RX Fifo threshold according the reception data length: 16bit */
2087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       CLEAR_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
 3305              		.loc 1 2087 7
 3306 0140 FB68     		ldr	r3, [r7, #12]
 3307 0142 1B68     		ldr	r3, [r3]
 3308 0144 5A68     		ldr	r2, [r3, #4]
 3309 0146 FB68     		ldr	r3, [r7, #12]
 3310 0148 1B68     		ldr	r3, [r3]
 3311 014a 22F48052 		bic	r2, r2, #4096
 3312 014e 5A60     		str	r2, [r3, #4]
2088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if ((hspi->RxXferCount & 0x1U) == 0x0U)
 3313              		.loc 1 2089 16
 3314 0150 FB68     		ldr	r3, [r7, #12]
 3315 0152 B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 3316 0156 9BB2     		uxth	r3, r3
 3317              		.loc 1 2089 30
 3318 0158 03F00103 		and	r3, r3, #1
 3319              		.loc 1 2089 10
 3320 015c 002B     		cmp	r3, #0
 3321 015e 11D1     		bne	.L182
2090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
2091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_LDMARX);
 3322              		.loc 1 2091 9
 3323 0160 FB68     		ldr	r3, [r7, #12]
 3324 0162 1B68     		ldr	r3, [r3]
 3325 0164 5A68     		ldr	r2, [r3, #4]
 3326 0166 FB68     		ldr	r3, [r7, #12]
 3327 0168 1B68     		ldr	r3, [r3]
 3328 016a 22F40052 		bic	r2, r2, #8192
 3329 016e 5A60     		str	r2, [r3, #4]
ARM GAS  /tmp/ccs34gJO.s 			page 96


2092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->RxXferCount = hspi->RxXferCount >> 1U;
 3330              		.loc 1 2092 33
 3331 0170 FB68     		ldr	r3, [r7, #12]
 3332 0172 B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 3333 0176 9BB2     		uxth	r3, r3
 3334              		.loc 1 2092 27
 3335 0178 5B08     		lsrs	r3, r3, #1
 3336 017a 9AB2     		uxth	r2, r3
 3337 017c FB68     		ldr	r3, [r7, #12]
 3338 017e A3F84620 		strh	r2, [r3, #70]	@ movhi
 3339 0182 12E0     		b	.L181
 3340              	.L182:
2093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
2094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       else
2095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
2096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         SET_BIT(hspi->Instance->CR2, SPI_CR2_LDMARX);
 3341              		.loc 1 2096 9
 3342 0184 FB68     		ldr	r3, [r7, #12]
 3343 0186 1B68     		ldr	r3, [r3]
 3344 0188 5A68     		ldr	r2, [r3, #4]
 3345 018a FB68     		ldr	r3, [r7, #12]
 3346 018c 1B68     		ldr	r3, [r3]
 3347 018e 42F40052 		orr	r2, r2, #8192
 3348 0192 5A60     		str	r2, [r3, #4]
2097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->RxXferCount = (hspi->RxXferCount >> 1U) + 1U;
 3349              		.loc 1 2097 34
 3350 0194 FB68     		ldr	r3, [r7, #12]
 3351 0196 B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 3352 019a 9BB2     		uxth	r3, r3
 3353              		.loc 1 2097 55
 3354 019c 5B08     		lsrs	r3, r3, #1
 3355 019e 9BB2     		uxth	r3, r3
 3356 01a0 0133     		adds	r3, r3, #1
 3357 01a2 9AB2     		uxth	r2, r3
 3358              		.loc 1 2097 27
 3359 01a4 FB68     		ldr	r3, [r7, #12]
 3360 01a6 A3F84620 		strh	r2, [r3, #70]	@ movhi
 3361              	.L181:
2098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
2099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
2100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Set the SPI RxDMA Half transfer complete callback */
2103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->hdmarx->XferHalfCpltCallback = SPI_DMAHalfReceiveCplt;
 3362              		.loc 1 2103 7
 3363 01aa FB68     		ldr	r3, [r7, #12]
 3364 01ac 9B6D     		ldr	r3, [r3, #88]
 3365              		.loc 1 2103 38
 3366 01ae 284A     		ldr	r2, .L185
 3367 01b0 DA62     		str	r2, [r3, #44]
2104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Set the SPI Rx DMA transfer complete callback */
2106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->hdmarx->XferCpltCallback = SPI_DMAReceiveCplt;
 3368              		.loc 1 2106 7
 3369 01b2 FB68     		ldr	r3, [r7, #12]
 3370 01b4 9B6D     		ldr	r3, [r3, #88]
 3371              		.loc 1 2106 34
ARM GAS  /tmp/ccs34gJO.s 			page 97


 3372 01b6 274A     		ldr	r2, .L185+4
 3373 01b8 9A62     		str	r2, [r3, #40]
2107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Set the DMA error callback */
2109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->hdmarx->XferErrorCallback = SPI_DMAError;
 3374              		.loc 1 2109 7
 3375 01ba FB68     		ldr	r3, [r7, #12]
 3376 01bc 9B6D     		ldr	r3, [r3, #88]
 3377              		.loc 1 2109 35
 3378 01be 264A     		ldr	r2, .L185+8
 3379 01c0 1A63     		str	r2, [r3, #48]
2110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Set the DMA AbortCpltCallback */
2112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->hdmarx->XferAbortCallback = NULL;
 3380              		.loc 1 2112 7
 3381 01c2 FB68     		ldr	r3, [r7, #12]
 3382 01c4 9B6D     		ldr	r3, [r3, #88]
 3383              		.loc 1 2112 35
 3384 01c6 0022     		movs	r2, #0
 3385 01c8 5A63     		str	r2, [r3, #52]
2113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Enable the Rx DMA Stream/Channel  */
2115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (HAL_OK != HAL_DMA_Start_IT(hspi->hdmarx, (uint32_t)&hspi->Instance->DR, (uint32_t)hspi->pRxBu
 3386              		.loc 1 2115 17
 3387 01ca FB68     		ldr	r3, [r7, #12]
 3388 01cc 986D     		ldr	r0, [r3, #88]
 3389              		.loc 1 2115 63
 3390 01ce FB68     		ldr	r3, [r7, #12]
 3391 01d0 1B68     		ldr	r3, [r3]
 3392              		.loc 1 2115 58
 3393 01d2 0C33     		adds	r3, r3, #12
 3394              		.loc 1 2115 17
 3395 01d4 1946     		mov	r1, r3
 3396              		.loc 1 2115 93
 3397 01d6 FB68     		ldr	r3, [r7, #12]
 3398 01d8 1B6C     		ldr	r3, [r3, #64]
 3399              		.loc 1 2115 17
 3400 01da 1A46     		mov	r2, r3
2116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                  hspi->RxXferCount))
 3401              		.loc 1 2116 38
 3402 01dc FB68     		ldr	r3, [r7, #12]
 3403 01de B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 3404 01e2 9BB2     		uxth	r3, r3
2115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                  hspi->RxXferCount))
 3405              		.loc 1 2115 17
 3406 01e4 FFF7FEFF 		bl	HAL_DMA_Start_IT
 3407 01e8 0346     		mov	r3, r0
2115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                  hspi->RxXferCount))
 3408              		.loc 1 2115 6 discriminator 1
 3409 01ea 002B     		cmp	r3, #0
 3410 01ec 08D0     		beq	.L183
2117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Update SPI error code */
2119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
 3411              		.loc 1 2119 5
 3412 01ee FB68     		ldr	r3, [r7, #12]
 3413 01f0 1B6E     		ldr	r3, [r3, #96]
ARM GAS  /tmp/ccs34gJO.s 			page 98


 3414 01f2 43F01002 		orr	r2, r3, #16
 3415 01f6 FB68     		ldr	r3, [r7, #12]
 3416 01f8 1A66     		str	r2, [r3, #96]
2120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     errorcode = HAL_ERROR;
 3417              		.loc 1 2120 15
 3418 01fa 0123     		movs	r3, #1
 3419 01fc FB75     		strb	r3, [r7, #23]
2121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     goto error;
 3420              		.loc 1 2122 5
 3421 01fe 1EE0     		b	.L172
 3422              	.L183:
2123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check if the SPI is already enabled */
2126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
 3423              		.loc 1 2126 12
 3424 0200 FB68     		ldr	r3, [r7, #12]
 3425 0202 1B68     		ldr	r3, [r3]
 3426              		.loc 1 2126 22
 3427 0204 1B68     		ldr	r3, [r3]
 3428              		.loc 1 2126 28
 3429 0206 03F04003 		and	r3, r3, #64
 3430              		.loc 1 2126 6
 3431 020a 402B     		cmp	r3, #64
 3432 020c 07D0     		beq	.L184
2127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Enable SPI peripheral */
2129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     __HAL_SPI_ENABLE(hspi);
 3433              		.loc 1 2129 5
 3434 020e FB68     		ldr	r3, [r7, #12]
 3435 0210 1B68     		ldr	r3, [r3]
 3436 0212 1A68     		ldr	r2, [r3]
 3437 0214 FB68     		ldr	r3, [r7, #12]
 3438 0216 1B68     		ldr	r3, [r3]
 3439 0218 42F04002 		orr	r2, r2, #64
 3440 021c 1A60     		str	r2, [r3]
 3441              	.L184:
2130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Enable the SPI Error Interrupt Bit */
2133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_ERR));
 3442              		.loc 1 2133 3
 3443 021e FB68     		ldr	r3, [r7, #12]
 3444 0220 1B68     		ldr	r3, [r3]
 3445 0222 5A68     		ldr	r2, [r3, #4]
 3446 0224 FB68     		ldr	r3, [r7, #12]
 3447 0226 1B68     		ldr	r3, [r3]
 3448 0228 42F02002 		orr	r2, r2, #32
 3449 022c 5A60     		str	r2, [r3, #4]
2134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Enable Rx DMA Request */
2136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   SET_BIT(hspi->Instance->CR2, SPI_CR2_RXDMAEN);
 3450              		.loc 1 2136 3
 3451 022e FB68     		ldr	r3, [r7, #12]
 3452 0230 1B68     		ldr	r3, [r3]
 3453 0232 5A68     		ldr	r2, [r3, #4]
ARM GAS  /tmp/ccs34gJO.s 			page 99


 3454 0234 FB68     		ldr	r3, [r7, #12]
 3455 0236 1B68     		ldr	r3, [r3]
 3456 0238 42F00102 		orr	r2, r2, #1
 3457 023c 5A60     		str	r2, [r3, #4]
 3458              	.L172:
2137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** error:
2139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Process Unlocked */
2140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_UNLOCK(hspi);
 3459              		.loc 1 2140 3
 3460 023e FB68     		ldr	r3, [r7, #12]
 3461 0240 0022     		movs	r2, #0
 3462 0242 83F85C20 		strb	r2, [r3, #92]
2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   return errorcode;
 3463              		.loc 1 2141 10
 3464 0246 FB7D     		ldrb	r3, [r7, #23]	@ zero_extendqisi2
 3465              	.L174:
2142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 3466              		.loc 1 2142 1
 3467 0248 1846     		mov	r0, r3
 3468 024a 1837     		adds	r7, r7, #24
 3469              		.cfi_def_cfa_offset 8
 3470 024c BD46     		mov	sp, r7
 3471              		.cfi_def_cfa_register 13
 3472              		@ sp needed
 3473 024e 80BD     		pop	{r7, pc}
 3474              	.L186:
 3475              		.align	2
 3476              	.L185:
 3477 0250 00000000 		.word	SPI_DMAHalfReceiveCplt
 3478 0254 00000000 		.word	SPI_DMAReceiveCplt
 3479 0258 00000000 		.word	SPI_DMAError
 3480              		.cfi_endproc
 3481              	.LFE141:
 3483              		.section	.text.HAL_SPI_TransmitReceive_DMA,"ax",%progbits
 3484              		.align	1
 3485              		.global	HAL_SPI_TransmitReceive_DMA
 3486              		.syntax unified
 3487              		.thumb
 3488              		.thumb_func
 3490              	HAL_SPI_TransmitReceive_DMA:
 3491              	.LFB142:
2143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Transmit and Receive an amount of data in non-blocking mode with DMA.
2146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
2147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
2148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  pTxData pointer to transmission data buffer
2149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  pRxData pointer to reception data buffer
2150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @note   When the CRC feature is enabled the pRxData Length must be Size + 1
2151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  Size amount of data to be sent
2152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval HAL status
2153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
2154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_TransmitReceive_DMA(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *p
2155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                               uint16_t Size)
2156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 3492              		.loc 1 2156 1
ARM GAS  /tmp/ccs34gJO.s 			page 100


 3493              		.cfi_startproc
 3494              		@ args = 0, pretend = 0, frame = 24
 3495              		@ frame_needed = 1, uses_anonymous_args = 0
 3496 0000 80B5     		push	{r7, lr}
 3497              		.cfi_def_cfa_offset 8
 3498              		.cfi_offset 7, -8
 3499              		.cfi_offset 14, -4
 3500 0002 86B0     		sub	sp, sp, #24
 3501              		.cfi_def_cfa_offset 32
 3502 0004 00AF     		add	r7, sp, #0
 3503              		.cfi_def_cfa_register 7
 3504 0006 F860     		str	r0, [r7, #12]
 3505 0008 B960     		str	r1, [r7, #8]
 3506 000a 7A60     		str	r2, [r7, #4]
 3507 000c 7B80     		strh	r3, [r7, #2]	@ movhi
2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   uint32_t             tmp_mode;
2158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   HAL_SPI_StateTypeDef tmp_state;
2159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   HAL_StatusTypeDef errorcode = HAL_OK;
 3508              		.loc 1 2159 21
 3509 000e 0023     		movs	r3, #0
 3510 0010 FB75     		strb	r3, [r7, #23]
2160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check rx & tx dma handles */
2162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   assert_param(IS_SPI_DMA_HANDLE(hspi->hdmarx));
2163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   assert_param(IS_SPI_DMA_HANDLE(hspi->hdmatx));
2164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check Direction parameter */
2166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   assert_param(IS_SPI_DIRECTION_2LINES(hspi->Init.Direction));
2167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Process locked */
2169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_LOCK(hspi);
 3511              		.loc 1 2169 3
 3512 0012 FB68     		ldr	r3, [r7, #12]
 3513 0014 93F85C30 		ldrb	r3, [r3, #92]	@ zero_extendqisi2
 3514 0018 012B     		cmp	r3, #1
 3515 001a 01D1     		bne	.L188
 3516              		.loc 1 2169 3 is_stmt 0 discriminator 1
 3517 001c 0223     		movs	r3, #2
 3518              		.loc 1 2169 3
 3519 001e 72E1     		b	.L189
 3520              	.L188:
 3521              		.loc 1 2169 3 discriminator 2
 3522 0020 FB68     		ldr	r3, [r7, #12]
 3523 0022 0122     		movs	r2, #1
 3524 0024 83F85C20 		strb	r2, [r3, #92]
2170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Init temporary variables */
2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   tmp_state           = hspi->State;
 3525              		.loc 1 2172 23 is_stmt 1
 3526 0028 FB68     		ldr	r3, [r7, #12]
 3527 002a 93F85D30 		ldrb	r3, [r3, #93]
 3528 002e BB75     		strb	r3, [r7, #22]
2173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   tmp_mode            = hspi->Init.Mode;
 3529              		.loc 1 2173 23
 3530 0030 FB68     		ldr	r3, [r7, #12]
 3531 0032 5B68     		ldr	r3, [r3, #4]
 3532 0034 3B61     		str	r3, [r7, #16]
ARM GAS  /tmp/ccs34gJO.s 			page 101


2174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (!((tmp_state == HAL_SPI_STATE_READY) ||
 3533              		.loc 1 2175 6
 3534 0036 BB7D     		ldrb	r3, [r7, #22]	@ zero_extendqisi2
 3535 0038 012B     		cmp	r3, #1
 3536 003a 0DD0     		beq	.L190
 3537              		.loc 1 2175 7 discriminator 1
 3538 003c 3B69     		ldr	r3, [r7, #16]
 3539 003e B3F5827F 		cmp	r3, #260
 3540 0042 06D1     		bne	.L191
2176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
 3541              		.loc 1 2176 54
 3542 0044 FB68     		ldr	r3, [r7, #12]
 3543 0046 9B68     		ldr	r3, [r3, #8]
 3544              		.loc 1 2176 40
 3545 0048 002B     		cmp	r3, #0
 3546 004a 02D1     		bne	.L191
 3547              		.loc 1 2176 90 discriminator 1
 3548 004c BB7D     		ldrb	r3, [r7, #22]	@ zero_extendqisi2
 3549 004e 042B     		cmp	r3, #4
 3550 0050 02D0     		beq	.L190
 3551              	.L191:
2177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     errorcode = HAL_BUSY;
 3552              		.loc 1 2178 15
 3553 0052 0223     		movs	r3, #2
 3554 0054 FB75     		strb	r3, [r7, #23]
2179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     goto error;
 3555              		.loc 1 2179 5
 3556 0056 51E1     		b	.L192
 3557              	.L190:
2180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0U))
 3558              		.loc 1 2182 6
 3559 0058 BB68     		ldr	r3, [r7, #8]
 3560 005a 002B     		cmp	r3, #0
 3561 005c 05D0     		beq	.L193
 3562              		.loc 1 2182 25 discriminator 1
 3563 005e 7B68     		ldr	r3, [r7, #4]
 3564 0060 002B     		cmp	r3, #0
 3565 0062 02D0     		beq	.L193
 3566              		.loc 1 2182 46 discriminator 2
 3567 0064 7B88     		ldrh	r3, [r7, #2]
 3568 0066 002B     		cmp	r3, #0
 3569 0068 02D1     		bne	.L194
 3570              	.L193:
2183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     errorcode = HAL_ERROR;
 3571              		.loc 1 2184 15
 3572 006a 0123     		movs	r3, #1
 3573 006c FB75     		strb	r3, [r7, #23]
2185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     goto error;
 3574              		.loc 1 2185 5
 3575 006e 45E1     		b	.L192
 3576              	.L194:
2186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
ARM GAS  /tmp/ccs34gJO.s 			page 102


2187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Don't overwrite in case of HAL_SPI_STATE_BUSY_RX */
2189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->State != HAL_SPI_STATE_BUSY_RX)
 3577              		.loc 1 2189 11
 3578 0070 FB68     		ldr	r3, [r7, #12]
 3579 0072 93F85D30 		ldrb	r3, [r3, #93]
 3580 0076 DBB2     		uxtb	r3, r3
 3581              		.loc 1 2189 6
 3582 0078 042B     		cmp	r3, #4
 3583 007a 03D0     		beq	.L195
2190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->State = HAL_SPI_STATE_BUSY_TX_RX;
 3584              		.loc 1 2191 17
 3585 007c FB68     		ldr	r3, [r7, #12]
 3586 007e 0522     		movs	r2, #5
 3587 0080 83F85D20 		strb	r2, [r3, #93]
 3588              	.L195:
2192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Set the transaction information */
2195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->ErrorCode   = HAL_SPI_ERROR_NONE;
 3589              		.loc 1 2195 21
 3590 0084 FB68     		ldr	r3, [r7, #12]
 3591 0086 0022     		movs	r2, #0
 3592 0088 1A66     		str	r2, [r3, #96]
2196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->pTxBuffPtr  = (uint8_t *)pTxData;
 3593              		.loc 1 2196 21
 3594 008a FB68     		ldr	r3, [r7, #12]
 3595 008c BA68     		ldr	r2, [r7, #8]
 3596 008e 9A63     		str	r2, [r3, #56]
2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxXferSize  = Size;
 3597              		.loc 1 2197 21
 3598 0090 FB68     		ldr	r3, [r7, #12]
 3599 0092 7A88     		ldrh	r2, [r7, #2]	@ movhi
 3600 0094 9A87     		strh	r2, [r3, #60]	@ movhi
2198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxXferCount = Size;
 3601              		.loc 1 2198 21
 3602 0096 FB68     		ldr	r3, [r7, #12]
 3603 0098 7A88     		ldrh	r2, [r7, #2]	@ movhi
 3604 009a DA87     		strh	r2, [r3, #62]	@ movhi
2199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->pRxBuffPtr  = (uint8_t *)pRxData;
 3605              		.loc 1 2199 21
 3606 009c FB68     		ldr	r3, [r7, #12]
 3607 009e 7A68     		ldr	r2, [r7, #4]
 3608 00a0 1A64     		str	r2, [r3, #64]
2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxXferSize  = Size;
 3609              		.loc 1 2200 21
 3610 00a2 FB68     		ldr	r3, [r7, #12]
 3611 00a4 7A88     		ldrh	r2, [r7, #2]	@ movhi
 3612 00a6 A3F84420 		strh	r2, [r3, #68]	@ movhi
2201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxXferCount = Size;
 3613              		.loc 1 2201 21
 3614 00aa FB68     		ldr	r3, [r7, #12]
 3615 00ac 7A88     		ldrh	r2, [r7, #2]	@ movhi
 3616 00ae A3F84620 		strh	r2, [r3, #70]	@ movhi
2202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Init field not used in handle to zero */
ARM GAS  /tmp/ccs34gJO.s 			page 103


2204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxISR       = NULL;
 3617              		.loc 1 2204 21
 3618 00b2 FB68     		ldr	r3, [r7, #12]
 3619 00b4 0022     		movs	r2, #0
 3620 00b6 DA64     		str	r2, [r3, #76]
2205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxISR       = NULL;
 3621              		.loc 1 2205 21
 3622 00b8 FB68     		ldr	r3, [r7, #12]
 3623 00ba 0022     		movs	r2, #0
 3624 00bc 1A65     		str	r2, [r3, #80]
2206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
2208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Reset CRC Calculation */
2209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
2210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SPI_RESET_CRC(hspi);
2212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
2214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if defined (STM32F302xC) || defined (STM32F303xC) || defined (STM32F373xC) || defined (STM32F358xx
2216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Packing mode management is enabled by the DMA settings */
2217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((hspi->Init.DataSize <= SPI_DATASIZE_8BIT) && (hspi->hdmarx->Init.MemDataAlignment == DMA_MDA
 3625              		.loc 1 2217 18
 3626 00be FB68     		ldr	r3, [r7, #12]
 3627 00c0 DB68     		ldr	r3, [r3, #12]
 3628              		.loc 1 2217 6
 3629 00c2 B3F5E06F 		cmp	r3, #1792
 3630 00c6 08D8     		bhi	.L196
 3631              		.loc 1 2217 58 discriminator 1
 3632 00c8 FB68     		ldr	r3, [r7, #12]
 3633 00ca 9B6D     		ldr	r3, [r3, #88]
 3634              		.loc 1 2217 72 discriminator 1
 3635 00cc 5B69     		ldr	r3, [r3, #20]
 3636              		.loc 1 2217 50 discriminator 1
 3637 00ce B3F5806F 		cmp	r3, #1024
 3638 00d2 02D1     		bne	.L196
2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Restriction the DMA data received is not allowed in this mode */
2220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     errorcode = HAL_ERROR;
 3639              		.loc 1 2220 15
 3640 00d4 0123     		movs	r3, #1
 3641 00d6 FB75     		strb	r3, [r7, #23]
2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     goto error;
 3642              		.loc 1 2221 5
 3643 00d8 10E1     		b	.L192
 3644              	.L196:
2222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* STM32F302xC || STM32F303xC || STM32F373xC || STM32F358xx || STM32F378xx */
2224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Reset the threshold bit */
2226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_LDMATX | SPI_CR2_LDMARX);
 3645              		.loc 1 2226 3
 3646 00da FB68     		ldr	r3, [r7, #12]
 3647 00dc 1B68     		ldr	r3, [r3]
 3648 00de 5A68     		ldr	r2, [r3, #4]
 3649 00e0 FB68     		ldr	r3, [r7, #12]
 3650 00e2 1B68     		ldr	r3, [r3]
ARM GAS  /tmp/ccs34gJO.s 			page 104


 3651 00e4 22F4C042 		bic	r2, r2, #24576
 3652 00e8 5A60     		str	r2, [r3, #4]
2227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* The packing mode management is enabled by the DMA settings according the spi data size */
2229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
 3653              		.loc 1 2229 17
 3654 00ea FB68     		ldr	r3, [r7, #12]
 3655 00ec DB68     		ldr	r3, [r3, #12]
 3656              		.loc 1 2229 6
 3657 00ee B3F5E06F 		cmp	r3, #1792
 3658 00f2 08D9     		bls	.L197
2230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Set fiforxthreshold according the reception data length: 16bit */
2232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     CLEAR_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
 3659              		.loc 1 2232 5
 3660 00f4 FB68     		ldr	r3, [r7, #12]
 3661 00f6 1B68     		ldr	r3, [r3]
 3662 00f8 5A68     		ldr	r2, [r3, #4]
 3663 00fa FB68     		ldr	r3, [r7, #12]
 3664 00fc 1B68     		ldr	r3, [r3]
 3665 00fe 22F48052 		bic	r2, r2, #4096
 3666 0102 5A60     		str	r2, [r3, #4]
 3667 0104 6FE0     		b	.L198
 3668              	.L197:
2233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   else
2235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Set RX Fifo threshold according the reception data length: 8bit */
2237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
 3669              		.loc 1 2237 5
 3670 0106 FB68     		ldr	r3, [r7, #12]
 3671 0108 1B68     		ldr	r3, [r3]
 3672 010a 5A68     		ldr	r2, [r3, #4]
 3673 010c FB68     		ldr	r3, [r7, #12]
 3674 010e 1B68     		ldr	r3, [r3]
 3675 0110 42F48052 		orr	r2, r2, #4096
 3676 0114 5A60     		str	r2, [r3, #4]
2238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->hdmatx->Init.MemDataAlignment == DMA_MDATAALIGN_HALFWORD)
 3677              		.loc 1 2239 13
 3678 0116 FB68     		ldr	r3, [r7, #12]
 3679 0118 5B6D     		ldr	r3, [r3, #84]
 3680              		.loc 1 2239 27
 3681 011a 5B69     		ldr	r3, [r3, #20]
 3682              		.loc 1 2239 8
 3683 011c B3F5806F 		cmp	r3, #1024
 3684 0120 26D1     		bne	.L199
2240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
2241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if ((hspi->TxXferSize & 0x1U) == 0x0U)
 3685              		.loc 1 2241 16
 3686 0122 FB68     		ldr	r3, [r7, #12]
 3687 0124 9B8F     		ldrh	r3, [r3, #60]
 3688              		.loc 1 2241 29
 3689 0126 03F00103 		and	r3, r3, #1
 3690              		.loc 1 2241 10
 3691 012a 002B     		cmp	r3, #0
 3692 012c 0FD1     		bne	.L200
ARM GAS  /tmp/ccs34gJO.s 			page 105


2242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
2243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_LDMATX);
 3693              		.loc 1 2243 9
 3694 012e FB68     		ldr	r3, [r7, #12]
 3695 0130 1B68     		ldr	r3, [r3]
 3696 0132 5A68     		ldr	r2, [r3, #4]
 3697 0134 FB68     		ldr	r3, [r7, #12]
 3698 0136 1B68     		ldr	r3, [r3]
 3699 0138 22F48042 		bic	r2, r2, #16384
 3700 013c 5A60     		str	r2, [r3, #4]
2244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->TxXferCount = hspi->TxXferCount >> 1U;
 3701              		.loc 1 2244 33
 3702 013e FB68     		ldr	r3, [r7, #12]
 3703 0140 DB8F     		ldrh	r3, [r3, #62]	@ movhi
 3704 0142 9BB2     		uxth	r3, r3
 3705              		.loc 1 2244 27
 3706 0144 5B08     		lsrs	r3, r3, #1
 3707 0146 9AB2     		uxth	r2, r3
 3708 0148 FB68     		ldr	r3, [r7, #12]
 3709 014a DA87     		strh	r2, [r3, #62]	@ movhi
 3710 014c 10E0     		b	.L199
 3711              	.L200:
2245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
2246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       else
2247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
2248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         SET_BIT(hspi->Instance->CR2, SPI_CR2_LDMATX);
 3712              		.loc 1 2248 9
 3713 014e FB68     		ldr	r3, [r7, #12]
 3714 0150 1B68     		ldr	r3, [r3]
 3715 0152 5A68     		ldr	r2, [r3, #4]
 3716 0154 FB68     		ldr	r3, [r7, #12]
 3717 0156 1B68     		ldr	r3, [r3]
 3718 0158 42F48042 		orr	r2, r2, #16384
 3719 015c 5A60     		str	r2, [r3, #4]
2249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->TxXferCount = (hspi->TxXferCount >> 1U) + 1U;
 3720              		.loc 1 2249 34
 3721 015e FB68     		ldr	r3, [r7, #12]
 3722 0160 DB8F     		ldrh	r3, [r3, #62]	@ movhi
 3723 0162 9BB2     		uxth	r3, r3
 3724              		.loc 1 2249 55
 3725 0164 5B08     		lsrs	r3, r3, #1
 3726 0166 9BB2     		uxth	r3, r3
 3727 0168 0133     		adds	r3, r3, #1
 3728 016a 9AB2     		uxth	r2, r3
 3729              		.loc 1 2249 27
 3730 016c FB68     		ldr	r3, [r7, #12]
 3731 016e DA87     		strh	r2, [r3, #62]	@ movhi
 3732              	.L199:
2250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
2251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
2252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->hdmarx->Init.MemDataAlignment == DMA_MDATAALIGN_HALFWORD)
 3733              		.loc 1 2253 13
 3734 0170 FB68     		ldr	r3, [r7, #12]
 3735 0172 9B6D     		ldr	r3, [r3, #88]
 3736              		.loc 1 2253 27
 3737 0174 5B69     		ldr	r3, [r3, #20]
ARM GAS  /tmp/ccs34gJO.s 			page 106


 3738              		.loc 1 2253 8
 3739 0176 B3F5806F 		cmp	r3, #1024
 3740 017a 34D1     		bne	.L198
2254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
2255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Set RX Fifo threshold according the reception data length: 16bit */
2256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       CLEAR_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
 3741              		.loc 1 2256 7
 3742 017c FB68     		ldr	r3, [r7, #12]
 3743 017e 1B68     		ldr	r3, [r3]
 3744 0180 5A68     		ldr	r2, [r3, #4]
 3745 0182 FB68     		ldr	r3, [r7, #12]
 3746 0184 1B68     		ldr	r3, [r3]
 3747 0186 22F48052 		bic	r2, r2, #4096
 3748 018a 5A60     		str	r2, [r3, #4]
2257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if ((hspi->RxXferCount & 0x1U) == 0x0U)
 3749              		.loc 1 2258 16
 3750 018c FB68     		ldr	r3, [r7, #12]
 3751 018e B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 3752 0192 9BB2     		uxth	r3, r3
 3753              		.loc 1 2258 30
 3754 0194 03F00103 		and	r3, r3, #1
 3755              		.loc 1 2258 10
 3756 0198 002B     		cmp	r3, #0
 3757 019a 11D1     		bne	.L201
2259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
2260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_LDMARX);
 3758              		.loc 1 2260 9
 3759 019c FB68     		ldr	r3, [r7, #12]
 3760 019e 1B68     		ldr	r3, [r3]
 3761 01a0 5A68     		ldr	r2, [r3, #4]
 3762 01a2 FB68     		ldr	r3, [r7, #12]
 3763 01a4 1B68     		ldr	r3, [r3]
 3764 01a6 22F40052 		bic	r2, r2, #8192
 3765 01aa 5A60     		str	r2, [r3, #4]
2261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->RxXferCount = hspi->RxXferCount >> 1U;
 3766              		.loc 1 2261 33
 3767 01ac FB68     		ldr	r3, [r7, #12]
 3768 01ae B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 3769 01b2 9BB2     		uxth	r3, r3
 3770              		.loc 1 2261 27
 3771 01b4 5B08     		lsrs	r3, r3, #1
 3772 01b6 9AB2     		uxth	r2, r3
 3773 01b8 FB68     		ldr	r3, [r7, #12]
 3774 01ba A3F84620 		strh	r2, [r3, #70]	@ movhi
 3775 01be 12E0     		b	.L198
 3776              	.L201:
2262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
2263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       else
2264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
2265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         SET_BIT(hspi->Instance->CR2, SPI_CR2_LDMARX);
 3777              		.loc 1 2265 9
 3778 01c0 FB68     		ldr	r3, [r7, #12]
 3779 01c2 1B68     		ldr	r3, [r3]
 3780 01c4 5A68     		ldr	r2, [r3, #4]
 3781 01c6 FB68     		ldr	r3, [r7, #12]
 3782 01c8 1B68     		ldr	r3, [r3]
ARM GAS  /tmp/ccs34gJO.s 			page 107


 3783 01ca 42F40052 		orr	r2, r2, #8192
 3784 01ce 5A60     		str	r2, [r3, #4]
2266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->RxXferCount = (hspi->RxXferCount >> 1U) + 1U;
 3785              		.loc 1 2266 34
 3786 01d0 FB68     		ldr	r3, [r7, #12]
 3787 01d2 B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 3788 01d6 9BB2     		uxth	r3, r3
 3789              		.loc 1 2266 55
 3790 01d8 5B08     		lsrs	r3, r3, #1
 3791 01da 9BB2     		uxth	r3, r3
 3792 01dc 0133     		adds	r3, r3, #1
 3793 01de 9AB2     		uxth	r2, r3
 3794              		.loc 1 2266 27
 3795 01e0 FB68     		ldr	r3, [r7, #12]
 3796 01e2 A3F84620 		strh	r2, [r3, #70]	@ movhi
 3797              	.L198:
2267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
2268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
2269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check if we are in Rx only or in Rx/Tx Mode and configure the DMA transfer complete callback *
2272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->State == HAL_SPI_STATE_BUSY_RX)
 3798              		.loc 1 2272 11
 3799 01e6 FB68     		ldr	r3, [r7, #12]
 3800 01e8 93F85D30 		ldrb	r3, [r3, #93]
 3801 01ec DBB2     		uxtb	r3, r3
 3802              		.loc 1 2272 6
 3803 01ee 042B     		cmp	r3, #4
 3804 01f0 08D1     		bne	.L202
2273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Set the SPI Rx DMA Half transfer complete callback */
2275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->hdmarx->XferHalfCpltCallback = SPI_DMAHalfReceiveCplt;
 3805              		.loc 1 2275 9
 3806 01f2 FB68     		ldr	r3, [r7, #12]
 3807 01f4 9B6D     		ldr	r3, [r3, #88]
 3808              		.loc 1 2275 40
 3809 01f6 464A     		ldr	r2, .L207
 3810 01f8 DA62     		str	r2, [r3, #44]
2276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->hdmarx->XferCpltCallback     = SPI_DMAReceiveCplt;
 3811              		.loc 1 2276 9
 3812 01fa FB68     		ldr	r3, [r7, #12]
 3813 01fc 9B6D     		ldr	r3, [r3, #88]
 3814              		.loc 1 2276 40
 3815 01fe 454A     		ldr	r2, .L207+4
 3816 0200 9A62     		str	r2, [r3, #40]
 3817 0202 07E0     		b	.L203
 3818              	.L202:
2277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   else
2279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Set the SPI Tx/Rx DMA Half transfer complete callback */
2281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->hdmarx->XferHalfCpltCallback = SPI_DMAHalfTransmitReceiveCplt;
 3819              		.loc 1 2281 9
 3820 0204 FB68     		ldr	r3, [r7, #12]
 3821 0206 9B6D     		ldr	r3, [r3, #88]
 3822              		.loc 1 2281 40
 3823 0208 434A     		ldr	r2, .L207+8
ARM GAS  /tmp/ccs34gJO.s 			page 108


 3824 020a DA62     		str	r2, [r3, #44]
2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->hdmarx->XferCpltCallback     = SPI_DMATransmitReceiveCplt;
 3825              		.loc 1 2282 9
 3826 020c FB68     		ldr	r3, [r7, #12]
 3827 020e 9B6D     		ldr	r3, [r3, #88]
 3828              		.loc 1 2282 40
 3829 0210 424A     		ldr	r2, .L207+12
 3830 0212 9A62     		str	r2, [r3, #40]
 3831              	.L203:
2283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Set the DMA error callback */
2286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->hdmarx->XferErrorCallback = SPI_DMAError;
 3832              		.loc 1 2286 7
 3833 0214 FB68     		ldr	r3, [r7, #12]
 3834 0216 9B6D     		ldr	r3, [r3, #88]
 3835              		.loc 1 2286 35
 3836 0218 414A     		ldr	r2, .L207+16
 3837 021a 1A63     		str	r2, [r3, #48]
2287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Set the DMA AbortCpltCallback */
2289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->hdmarx->XferAbortCallback = NULL;
 3838              		.loc 1 2289 7
 3839 021c FB68     		ldr	r3, [r7, #12]
 3840 021e 9B6D     		ldr	r3, [r3, #88]
 3841              		.loc 1 2289 35
 3842 0220 0022     		movs	r2, #0
 3843 0222 5A63     		str	r2, [r3, #52]
2290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Enable the Rx DMA Stream/Channel  */
2292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (HAL_OK != HAL_DMA_Start_IT(hspi->hdmarx, (uint32_t)&hspi->Instance->DR, (uint32_t)hspi->pRxBu
 3844              		.loc 1 2292 17
 3845 0224 FB68     		ldr	r3, [r7, #12]
 3846 0226 986D     		ldr	r0, [r3, #88]
 3847              		.loc 1 2292 63
 3848 0228 FB68     		ldr	r3, [r7, #12]
 3849 022a 1B68     		ldr	r3, [r3]
 3850              		.loc 1 2292 58
 3851 022c 0C33     		adds	r3, r3, #12
 3852              		.loc 1 2292 17
 3853 022e 1946     		mov	r1, r3
 3854              		.loc 1 2292 93
 3855 0230 FB68     		ldr	r3, [r7, #12]
 3856 0232 1B6C     		ldr	r3, [r3, #64]
 3857              		.loc 1 2292 17
 3858 0234 1A46     		mov	r2, r3
2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                  hspi->RxXferCount))
 3859              		.loc 1 2293 38
 3860 0236 FB68     		ldr	r3, [r7, #12]
 3861 0238 B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 3862 023c 9BB2     		uxth	r3, r3
2292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                  hspi->RxXferCount))
 3863              		.loc 1 2292 17
 3864 023e FFF7FEFF 		bl	HAL_DMA_Start_IT
 3865 0242 0346     		mov	r3, r0
2292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                  hspi->RxXferCount))
 3866              		.loc 1 2292 6 discriminator 1
ARM GAS  /tmp/ccs34gJO.s 			page 109


 3867 0244 002B     		cmp	r3, #0
 3868 0246 08D0     		beq	.L204
2294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Update SPI error code */
2296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
 3869              		.loc 1 2296 5
 3870 0248 FB68     		ldr	r3, [r7, #12]
 3871 024a 1B6E     		ldr	r3, [r3, #96]
 3872 024c 43F01002 		orr	r2, r3, #16
 3873 0250 FB68     		ldr	r3, [r7, #12]
 3874 0252 1A66     		str	r2, [r3, #96]
2297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     errorcode = HAL_ERROR;
 3875              		.loc 1 2297 15
 3876 0254 0123     		movs	r3, #1
 3877 0256 FB75     		strb	r3, [r7, #23]
2298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     goto error;
 3878              		.loc 1 2299 5
 3879 0258 50E0     		b	.L192
 3880              	.L204:
2300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Enable Rx DMA Request */
2303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   SET_BIT(hspi->Instance->CR2, SPI_CR2_RXDMAEN);
 3881              		.loc 1 2303 3
 3882 025a FB68     		ldr	r3, [r7, #12]
 3883 025c 1B68     		ldr	r3, [r3]
 3884 025e 5A68     		ldr	r2, [r3, #4]
 3885 0260 FB68     		ldr	r3, [r7, #12]
 3886 0262 1B68     		ldr	r3, [r3]
 3887 0264 42F00102 		orr	r2, r2, #1
 3888 0268 5A60     		str	r2, [r3, #4]
2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Set the SPI Tx DMA transfer complete callback as NULL because the communication closing
2306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   is performed in DMA reception complete callback  */
2307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->hdmatx->XferHalfCpltCallback = NULL;
 3889              		.loc 1 2307 7
 3890 026a FB68     		ldr	r3, [r7, #12]
 3891 026c 5B6D     		ldr	r3, [r3, #84]
 3892              		.loc 1 2307 38
 3893 026e 0022     		movs	r2, #0
 3894 0270 DA62     		str	r2, [r3, #44]
2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->hdmatx->XferCpltCallback     = NULL;
 3895              		.loc 1 2308 7
 3896 0272 FB68     		ldr	r3, [r7, #12]
 3897 0274 5B6D     		ldr	r3, [r3, #84]
 3898              		.loc 1 2308 38
 3899 0276 0022     		movs	r2, #0
 3900 0278 9A62     		str	r2, [r3, #40]
2309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->hdmatx->XferErrorCallback    = NULL;
 3901              		.loc 1 2309 7
 3902 027a FB68     		ldr	r3, [r7, #12]
 3903 027c 5B6D     		ldr	r3, [r3, #84]
 3904              		.loc 1 2309 38
 3905 027e 0022     		movs	r2, #0
 3906 0280 1A63     		str	r2, [r3, #48]
2310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->hdmatx->XferAbortCallback    = NULL;
ARM GAS  /tmp/ccs34gJO.s 			page 110


 3907              		.loc 1 2310 7
 3908 0282 FB68     		ldr	r3, [r7, #12]
 3909 0284 5B6D     		ldr	r3, [r3, #84]
 3910              		.loc 1 2310 38
 3911 0286 0022     		movs	r2, #0
 3912 0288 5A63     		str	r2, [r3, #52]
2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Enable the Tx DMA Stream/Channel  */
2313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (HAL_OK != HAL_DMA_Start_IT(hspi->hdmatx, (uint32_t)hspi->pTxBuffPtr, (uint32_t)&hspi->Instanc
 3913              		.loc 1 2313 17
 3914 028a FB68     		ldr	r3, [r7, #12]
 3915 028c 586D     		ldr	r0, [r3, #84]
 3916              		.loc 1 2313 62
 3917 028e FB68     		ldr	r3, [r7, #12]
 3918 0290 9B6B     		ldr	r3, [r3, #56]
 3919              		.loc 1 2313 17
 3920 0292 1946     		mov	r1, r3
 3921              		.loc 1 2313 91
 3922 0294 FB68     		ldr	r3, [r7, #12]
 3923 0296 1B68     		ldr	r3, [r3]
 3924              		.loc 1 2313 86
 3925 0298 0C33     		adds	r3, r3, #12
 3926              		.loc 1 2313 17
 3927 029a 1A46     		mov	r2, r3
2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                  hspi->TxXferCount))
 3928              		.loc 1 2314 38
 3929 029c FB68     		ldr	r3, [r7, #12]
 3930 029e DB8F     		ldrh	r3, [r3, #62]	@ movhi
 3931 02a0 9BB2     		uxth	r3, r3
2313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                  hspi->TxXferCount))
 3932              		.loc 1 2313 17
 3933 02a2 FFF7FEFF 		bl	HAL_DMA_Start_IT
 3934 02a6 0346     		mov	r3, r0
2313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                  hspi->TxXferCount))
 3935              		.loc 1 2313 6 discriminator 1
 3936 02a8 002B     		cmp	r3, #0
 3937 02aa 08D0     		beq	.L205
2315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Update SPI error code */
2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
 3938              		.loc 1 2317 5
 3939 02ac FB68     		ldr	r3, [r7, #12]
 3940 02ae 1B6E     		ldr	r3, [r3, #96]
 3941 02b0 43F01002 		orr	r2, r3, #16
 3942 02b4 FB68     		ldr	r3, [r7, #12]
 3943 02b6 1A66     		str	r2, [r3, #96]
2318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     errorcode = HAL_ERROR;
 3944              		.loc 1 2318 15
 3945 02b8 0123     		movs	r3, #1
 3946 02ba FB75     		strb	r3, [r7, #23]
2319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     goto error;
 3947              		.loc 1 2320 5
 3948 02bc 1EE0     		b	.L192
 3949              	.L205:
2321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
ARM GAS  /tmp/ccs34gJO.s 			page 111


2323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check if the SPI is already enabled */
2324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
 3950              		.loc 1 2324 12
 3951 02be FB68     		ldr	r3, [r7, #12]
 3952 02c0 1B68     		ldr	r3, [r3]
 3953              		.loc 1 2324 22
 3954 02c2 1B68     		ldr	r3, [r3]
 3955              		.loc 1 2324 28
 3956 02c4 03F04003 		and	r3, r3, #64
 3957              		.loc 1 2324 6
 3958 02c8 402B     		cmp	r3, #64
 3959 02ca 07D0     		beq	.L206
2325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Enable SPI peripheral */
2327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     __HAL_SPI_ENABLE(hspi);
 3960              		.loc 1 2327 5
 3961 02cc FB68     		ldr	r3, [r7, #12]
 3962 02ce 1B68     		ldr	r3, [r3]
 3963 02d0 1A68     		ldr	r2, [r3]
 3964 02d2 FB68     		ldr	r3, [r7, #12]
 3965 02d4 1B68     		ldr	r3, [r3]
 3966 02d6 42F04002 		orr	r2, r2, #64
 3967 02da 1A60     		str	r2, [r3]
 3968              	.L206:
2328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Enable the SPI Error Interrupt Bit */
2330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_ERR));
 3969              		.loc 1 2330 3
 3970 02dc FB68     		ldr	r3, [r7, #12]
 3971 02de 1B68     		ldr	r3, [r3]
 3972 02e0 5A68     		ldr	r2, [r3, #4]
 3973 02e2 FB68     		ldr	r3, [r7, #12]
 3974 02e4 1B68     		ldr	r3, [r3]
 3975 02e6 42F02002 		orr	r2, r2, #32
 3976 02ea 5A60     		str	r2, [r3, #4]
2331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Enable Tx DMA Request */
2333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   SET_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN);
 3977              		.loc 1 2333 3
 3978 02ec FB68     		ldr	r3, [r7, #12]
 3979 02ee 1B68     		ldr	r3, [r3]
 3980 02f0 5A68     		ldr	r2, [r3, #4]
 3981 02f2 FB68     		ldr	r3, [r7, #12]
 3982 02f4 1B68     		ldr	r3, [r3]
 3983 02f6 42F00202 		orr	r2, r2, #2
 3984 02fa 5A60     		str	r2, [r3, #4]
 3985              	.L192:
2334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** error :
2336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Process Unlocked */
2337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_UNLOCK(hspi);
 3986              		.loc 1 2337 3
 3987 02fc FB68     		ldr	r3, [r7, #12]
 3988 02fe 0022     		movs	r2, #0
 3989 0300 83F85C20 		strb	r2, [r3, #92]
2338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   return errorcode;
 3990              		.loc 1 2338 10
ARM GAS  /tmp/ccs34gJO.s 			page 112


 3991 0304 FB7D     		ldrb	r3, [r7, #23]	@ zero_extendqisi2
 3992              	.L189:
2339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 3993              		.loc 1 2339 1
 3994 0306 1846     		mov	r0, r3
 3995 0308 1837     		adds	r7, r7, #24
 3996              		.cfi_def_cfa_offset 8
 3997 030a BD46     		mov	sp, r7
 3998              		.cfi_def_cfa_register 13
 3999              		@ sp needed
 4000 030c 80BD     		pop	{r7, pc}
 4001              	.L208:
 4002 030e 00BF     		.align	2
 4003              	.L207:
 4004 0310 00000000 		.word	SPI_DMAHalfReceiveCplt
 4005 0314 00000000 		.word	SPI_DMAReceiveCplt
 4006 0318 00000000 		.word	SPI_DMAHalfTransmitReceiveCplt
 4007 031c 00000000 		.word	SPI_DMATransmitReceiveCplt
 4008 0320 00000000 		.word	SPI_DMAError
 4009              		.cfi_endproc
 4010              	.LFE142:
 4012              		.section	.text.HAL_SPI_Abort,"ax",%progbits
 4013              		.align	1
 4014              		.global	HAL_SPI_Abort
 4015              		.syntax unified
 4016              		.thumb
 4017              		.thumb_func
 4019              	HAL_SPI_Abort:
 4020              	.LFB143:
2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Abort ongoing transfer (blocking mode).
2343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi SPI handle.
2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @note   This procedure could be used for aborting any ongoing transfer (Tx and Rx),
2345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *         started in Interrupt or DMA mode.
2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *         This procedure performs following operations :
2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *           - Disable SPI Interrupts (depending of transfer direction)
2348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *           - Disable the DMA transfer in the peripheral register (if enabled)
2349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *           - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
2350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *           - Set handle State to READY
2351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @note   This procedure is executed in blocking mode : when exiting function, Abort is considere
2352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval HAL status
2353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
2354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Abort(SPI_HandleTypeDef *hspi)
2355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 4021              		.loc 1 2355 1
 4022              		.cfi_startproc
 4023              		@ args = 0, pretend = 0, frame = 32
 4024              		@ frame_needed = 1, uses_anonymous_args = 0
 4025 0000 80B5     		push	{r7, lr}
 4026              		.cfi_def_cfa_offset 8
 4027              		.cfi_offset 7, -8
 4028              		.cfi_offset 14, -4
 4029 0002 8AB0     		sub	sp, sp, #40
 4030              		.cfi_def_cfa_offset 48
 4031 0004 02AF     		add	r7, sp, #8
 4032              		.cfi_def_cfa 7, 40
ARM GAS  /tmp/ccs34gJO.s 			page 113


 4033 0006 7860     		str	r0, [r7, #4]
2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   HAL_StatusTypeDef errorcode;
2357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __IO uint32_t count;
2358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __IO uint32_t resetcount;
2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Initialized local variable  */
2361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   errorcode = HAL_OK;
 4034              		.loc 1 2361 13
 4035 0008 0023     		movs	r3, #0
 4036 000a FB77     		strb	r3, [r7, #31]
2362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   resetcount = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
 4037              		.loc 1 2362 61
 4038 000c 884B     		ldr	r3, .L228
 4039 000e 1B68     		ldr	r3, [r3]
 4040 0010 884A     		ldr	r2, .L228+4
 4041 0012 A2FB0323 		umull	r2, r3, r2, r3
 4042 0016 5B0A     		lsrs	r3, r3, #9
 4043              		.loc 1 2362 36
 4044 0018 6422     		movs	r2, #100
 4045 001a 02FB03F3 		mul	r3, r2, r3
 4046              		.loc 1 2362 14
 4047 001e 7B61     		str	r3, [r7, #20]
2363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   count = resetcount;
 4048              		.loc 1 2363 9
 4049 0020 7B69     		ldr	r3, [r7, #20]
 4050 0022 BB61     		str	r3, [r7, #24]
2364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Clear ERRIE interrupt to avoid error interrupts generation during Abort procedure */
2366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_ERRIE);
 4051              		.loc 1 2366 3
 4052 0024 7B68     		ldr	r3, [r7, #4]
 4053 0026 1B68     		ldr	r3, [r3]
 4054 0028 5A68     		ldr	r2, [r3, #4]
 4055 002a 7B68     		ldr	r3, [r7, #4]
 4056 002c 1B68     		ldr	r3, [r3]
 4057 002e 22F02002 		bic	r2, r2, #32
 4058 0032 5A60     		str	r2, [r3, #4]
2367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Disable TXEIE, RXNEIE and ERRIE(mode fault event, overrun error, TI frame error) interrupts */
2369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_TXEIE))
 4059              		.loc 1 2369 7
 4060 0034 7B68     		ldr	r3, [r7, #4]
 4061 0036 1B68     		ldr	r3, [r3]
 4062 0038 5B68     		ldr	r3, [r3, #4]
 4063 003a 03F08003 		and	r3, r3, #128
 4064              		.loc 1 2369 6
 4065 003e 802B     		cmp	r3, #128
 4066 0040 17D1     		bne	.L210
2370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->TxISR = SPI_AbortTx_ISR;
 4067              		.loc 1 2371 17
 4068 0042 7B68     		ldr	r3, [r7, #4]
 4069 0044 7C4A     		ldr	r2, .L228+8
 4070 0046 1A65     		str	r2, [r3, #80]
 4071              	.L213:
2372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Wait HAL_SPI_STATE_ABORT state */
2373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     do
ARM GAS  /tmp/ccs34gJO.s 			page 114


2374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
2375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if (count == 0U)
 4072              		.loc 1 2375 17
 4073 0048 BB69     		ldr	r3, [r7, #24]
 4074              		.loc 1 2375 10
 4075 004a 002B     		cmp	r3, #0
 4076 004c 06D1     		bne	.L211
2376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
2377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
 4077              		.loc 1 2377 9
 4078 004e 7B68     		ldr	r3, [r7, #4]
 4079 0050 1B6E     		ldr	r3, [r3, #96]
 4080 0052 43F04002 		orr	r2, r3, #64
 4081 0056 7B68     		ldr	r3, [r7, #4]
 4082 0058 1A66     		str	r2, [r3, #96]
2378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
 4083              		.loc 1 2378 9
 4084 005a 08E0     		b	.L212
 4085              	.L211:
2379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       count--;
 4086              		.loc 1 2380 12
 4087 005c BB69     		ldr	r3, [r7, #24]
 4088 005e 013B     		subs	r3, r3, #1
 4089 0060 BB61     		str	r3, [r7, #24]
2381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     } while (hspi->State != HAL_SPI_STATE_ABORT);
 4090              		.loc 1 2381 18
 4091 0062 7B68     		ldr	r3, [r7, #4]
 4092 0064 93F85D30 		ldrb	r3, [r3, #93]
 4093 0068 DBB2     		uxtb	r3, r3
 4094              		.loc 1 2381 26
 4095 006a 072B     		cmp	r3, #7
 4096 006c ECD1     		bne	.L213
 4097              	.L212:
2382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Reset Timeout Counter */
2383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     count = resetcount;
 4098              		.loc 1 2383 11
 4099 006e 7B69     		ldr	r3, [r7, #20]
 4100 0070 BB61     		str	r3, [r7, #24]
 4101              	.L210:
2384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXNEIE))
 4102              		.loc 1 2386 7
 4103 0072 7B68     		ldr	r3, [r7, #4]
 4104 0074 1B68     		ldr	r3, [r3]
 4105 0076 5B68     		ldr	r3, [r3, #4]
 4106 0078 03F04003 		and	r3, r3, #64
 4107              		.loc 1 2386 6
 4108 007c 402B     		cmp	r3, #64
 4109 007e 17D1     		bne	.L214
2387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->RxISR = SPI_AbortRx_ISR;
 4110              		.loc 1 2388 17
 4111 0080 7B68     		ldr	r3, [r7, #4]
 4112 0082 6E4A     		ldr	r2, .L228+12
 4113 0084 DA64     		str	r2, [r3, #76]
ARM GAS  /tmp/ccs34gJO.s 			page 115


 4114              	.L217:
2389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Wait HAL_SPI_STATE_ABORT state */
2390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     do
2391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
2392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if (count == 0U)
 4115              		.loc 1 2392 17
 4116 0086 BB69     		ldr	r3, [r7, #24]
 4117              		.loc 1 2392 10
 4118 0088 002B     		cmp	r3, #0
 4119 008a 06D1     		bne	.L215
2393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
2394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
 4120              		.loc 1 2394 9
 4121 008c 7B68     		ldr	r3, [r7, #4]
 4122 008e 1B6E     		ldr	r3, [r3, #96]
 4123 0090 43F04002 		orr	r2, r3, #64
 4124 0094 7B68     		ldr	r3, [r7, #4]
 4125 0096 1A66     		str	r2, [r3, #96]
2395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
 4126              		.loc 1 2395 9
 4127 0098 08E0     		b	.L216
 4128              	.L215:
2396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
2397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       count--;
 4129              		.loc 1 2397 12
 4130 009a BB69     		ldr	r3, [r7, #24]
 4131 009c 013B     		subs	r3, r3, #1
 4132 009e BB61     		str	r3, [r7, #24]
2398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     } while (hspi->State != HAL_SPI_STATE_ABORT);
 4133              		.loc 1 2398 18
 4134 00a0 7B68     		ldr	r3, [r7, #4]
 4135 00a2 93F85D30 		ldrb	r3, [r3, #93]
 4136 00a6 DBB2     		uxtb	r3, r3
 4137              		.loc 1 2398 26
 4138 00a8 072B     		cmp	r3, #7
 4139 00aa ECD1     		bne	.L217
 4140              	.L216:
2399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Reset Timeout Counter */
2400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     count = resetcount;
 4141              		.loc 1 2400 11
 4142 00ac 7B69     		ldr	r3, [r7, #20]
 4143 00ae BB61     		str	r3, [r7, #24]
 4144              	.L214:
2401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Disable the SPI DMA Tx request if enabled */
2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_TXDMAEN))
 4145              		.loc 1 2404 7
 4146 00b0 7B68     		ldr	r3, [r7, #4]
 4147 00b2 1B68     		ldr	r3, [r3]
 4148 00b4 5B68     		ldr	r3, [r3, #4]
 4149 00b6 03F00203 		and	r3, r3, #2
 4150              		.loc 1 2404 6
 4151 00ba 022B     		cmp	r3, #2
 4152 00bc 41D1     		bne	.L218
2405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Abort the SPI DMA Tx Stream/Channel : use blocking DMA Abort API (no callback) */
ARM GAS  /tmp/ccs34gJO.s 			page 116


2407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->hdmatx != NULL)
 4153              		.loc 1 2407 13
 4154 00be 7B68     		ldr	r3, [r7, #4]
 4155 00c0 5B6D     		ldr	r3, [r3, #84]
 4156              		.loc 1 2407 8
 4157 00c2 002B     		cmp	r3, #0
 4158 00c4 3DD0     		beq	.L218
2408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
2409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Set the SPI DMA Abort callback :
2410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       will lead to call HAL_SPI_AbortCpltCallback() at end of DMA abort procedure */
2411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->hdmatx->XferAbortCallback = NULL;
 4159              		.loc 1 2411 11
 4160 00c6 7B68     		ldr	r3, [r7, #4]
 4161 00c8 5B6D     		ldr	r3, [r3, #84]
 4162              		.loc 1 2411 39
 4163 00ca 0022     		movs	r2, #0
 4164 00cc 5A63     		str	r2, [r3, #52]
2412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Abort DMA Tx Handle linked to SPI Peripheral */
2414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if (HAL_DMA_Abort(hspi->hdmatx) != HAL_OK)
 4165              		.loc 1 2414 11
 4166 00ce 7B68     		ldr	r3, [r7, #4]
 4167 00d0 5B6D     		ldr	r3, [r3, #84]
 4168 00d2 1846     		mov	r0, r3
 4169 00d4 FFF7FEFF 		bl	HAL_DMA_Abort
 4170 00d8 0346     		mov	r3, r0
 4171              		.loc 1 2414 10 discriminator 1
 4172 00da 002B     		cmp	r3, #0
 4173 00dc 02D0     		beq	.L219
2415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
2416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
 4174              		.loc 1 2416 25
 4175 00de 7B68     		ldr	r3, [r7, #4]
 4176 00e0 4022     		movs	r2, #64
 4177 00e2 1A66     		str	r2, [r3, #96]
 4178              	.L219:
2417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
2418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Disable Tx DMA Request */
2420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_TXDMAEN));
 4179              		.loc 1 2420 7
 4180 00e4 7B68     		ldr	r3, [r7, #4]
 4181 00e6 1B68     		ldr	r3, [r3]
 4182 00e8 5A68     		ldr	r2, [r3, #4]
 4183 00ea 7B68     		ldr	r3, [r7, #4]
 4184 00ec 1B68     		ldr	r3, [r3]
 4185 00ee 22F00202 		bic	r2, r2, #2
 4186 00f2 5A60     		str	r2, [r3, #4]
2421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, HAL_GetTick()) != HAL_OK)
 4187              		.loc 1 2422 11
 4188 00f4 FFF7FEFF 		bl	HAL_GetTick
 4189 00f8 0346     		mov	r3, r0
 4190              		.loc 1 2422 11 is_stmt 0 discriminator 1
 4191 00fa 1A46     		mov	r2, r3
 4192 00fc 6421     		movs	r1, #100
 4193 00fe 7868     		ldr	r0, [r7, #4]
ARM GAS  /tmp/ccs34gJO.s 			page 117


 4194 0100 FFF7FEFF 		bl	SPI_EndRxTxTransaction
 4195 0104 0346     		mov	r3, r0
 4196              		.loc 1 2422 10 is_stmt 1 discriminator 2
 4197 0106 002B     		cmp	r3, #0
 4198 0108 02D0     		beq	.L220
2423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
2424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
 4199              		.loc 1 2424 25
 4200 010a 7B68     		ldr	r3, [r7, #4]
 4201 010c 4022     		movs	r2, #64
 4202 010e 1A66     		str	r2, [r3, #96]
 4203              	.L220:
2425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
2426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Disable SPI Peripheral */
2428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       __HAL_SPI_DISABLE(hspi);
 4204              		.loc 1 2428 7
 4205 0110 7B68     		ldr	r3, [r7, #4]
 4206 0112 1B68     		ldr	r3, [r3]
 4207 0114 1A68     		ldr	r2, [r3]
 4208 0116 7B68     		ldr	r3, [r7, #4]
 4209 0118 1B68     		ldr	r3, [r3]
 4210 011a 22F04002 		bic	r2, r2, #64
 4211 011e 1A60     		str	r2, [r3]
2429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Empty the FRLVL fifo */
2431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, SPI_DEFAULT_TIMEOUT,
 4212              		.loc 1 2431 11
 4213 0120 FFF7FEFF 		bl	HAL_GetTick
 4214 0124 0346     		mov	r3, r0
 4215              		.loc 1 2431 11 is_stmt 0 discriminator 1
 4216 0126 0093     		str	r3, [sp]
 4217 0128 6423     		movs	r3, #100
 4218 012a 0022     		movs	r2, #0
 4219 012c 4FF4C061 		mov	r1, #1536
 4220 0130 7868     		ldr	r0, [r7, #4]
 4221 0132 FFF7FEFF 		bl	SPI_WaitFifoStateUntilTimeout
 4222 0136 0346     		mov	r3, r0
 4223              		.loc 1 2431 10 is_stmt 1 discriminator 2
 4224 0138 002B     		cmp	r3, #0
 4225 013a 02D0     		beq	.L218
2432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
2433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
 4226              		.loc 1 2433 25
 4227 013c 7B68     		ldr	r3, [r7, #4]
 4228 013e 4022     		movs	r2, #64
 4229 0140 1A66     		str	r2, [r3, #96]
 4230              	.L218:
2434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
2435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
2436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Disable the SPI DMA Rx request if enabled */
2439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXDMAEN))
 4231              		.loc 1 2439 7
 4232 0142 7B68     		ldr	r3, [r7, #4]
 4233 0144 1B68     		ldr	r3, [r3]
ARM GAS  /tmp/ccs34gJO.s 			page 118


 4234 0146 5B68     		ldr	r3, [r3, #4]
 4235 0148 03F00103 		and	r3, r3, #1
 4236              		.loc 1 2439 6
 4237 014c 012B     		cmp	r3, #1
 4238 014e 43D1     		bne	.L221
2440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Abort the SPI DMA Rx Stream/Channel : use blocking DMA Abort API (no callback) */
2442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->hdmarx != NULL)
 4239              		.loc 1 2442 13
 4240 0150 7B68     		ldr	r3, [r7, #4]
 4241 0152 9B6D     		ldr	r3, [r3, #88]
 4242              		.loc 1 2442 8
 4243 0154 002B     		cmp	r3, #0
 4244 0156 3FD0     		beq	.L221
2443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
2444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Set the SPI DMA Abort callback :
2445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       will lead to call HAL_SPI_AbortCpltCallback() at end of DMA abort procedure */
2446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->hdmarx->XferAbortCallback = NULL;
 4245              		.loc 1 2446 11
 4246 0158 7B68     		ldr	r3, [r7, #4]
 4247 015a 9B6D     		ldr	r3, [r3, #88]
 4248              		.loc 1 2446 39
 4249 015c 0022     		movs	r2, #0
 4250 015e 5A63     		str	r2, [r3, #52]
2447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Abort DMA Rx Handle linked to SPI Peripheral */
2449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if (HAL_DMA_Abort(hspi->hdmarx) != HAL_OK)
 4251              		.loc 1 2449 11
 4252 0160 7B68     		ldr	r3, [r7, #4]
 4253 0162 9B6D     		ldr	r3, [r3, #88]
 4254 0164 1846     		mov	r0, r3
 4255 0166 FFF7FEFF 		bl	HAL_DMA_Abort
 4256 016a 0346     		mov	r3, r0
 4257              		.loc 1 2449 10 discriminator 1
 4258 016c 002B     		cmp	r3, #0
 4259 016e 02D0     		beq	.L222
2450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
2451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
 4260              		.loc 1 2451 25
 4261 0170 7B68     		ldr	r3, [r7, #4]
 4262 0172 4022     		movs	r2, #64
 4263 0174 1A66     		str	r2, [r3, #96]
 4264              	.L222:
2452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
2453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Disable peripheral */
2455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       __HAL_SPI_DISABLE(hspi);
 4265              		.loc 1 2455 7
 4266 0176 7B68     		ldr	r3, [r7, #4]
 4267 0178 1B68     		ldr	r3, [r3]
 4268 017a 1A68     		ldr	r2, [r3]
 4269 017c 7B68     		ldr	r3, [r7, #4]
 4270 017e 1B68     		ldr	r3, [r3]
 4271 0180 22F04002 		bic	r2, r2, #64
 4272 0184 1A60     		str	r2, [r3]
2456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Control the BSY flag */
ARM GAS  /tmp/ccs34gJO.s 			page 119


2458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_BSY, RESET, SPI_DEFAULT_TIMEOUT, HAL_GetTick
 4273              		.loc 1 2458 11
 4274 0186 FFF7FEFF 		bl	HAL_GetTick
 4275 018a 0346     		mov	r3, r0
 4276              		.loc 1 2458 11 is_stmt 0 discriminator 1
 4277 018c 0093     		str	r3, [sp]
 4278 018e 6423     		movs	r3, #100
 4279 0190 0022     		movs	r2, #0
 4280 0192 8021     		movs	r1, #128
 4281 0194 7868     		ldr	r0, [r7, #4]
 4282 0196 FFF7FEFF 		bl	SPI_WaitFlagStateUntilTimeout
 4283 019a 0346     		mov	r3, r0
 4284              		.loc 1 2458 10 is_stmt 1 discriminator 2
 4285 019c 002B     		cmp	r3, #0
 4286 019e 02D0     		beq	.L223
2459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
2460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
 4287              		.loc 1 2460 25
 4288 01a0 7B68     		ldr	r3, [r7, #4]
 4289 01a2 4022     		movs	r2, #64
 4290 01a4 1A66     		str	r2, [r3, #96]
 4291              	.L223:
2461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
2462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Empty the FRLVL fifo */
2464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, SPI_DEFAULT_TIMEOUT,
 4292              		.loc 1 2464 11
 4293 01a6 FFF7FEFF 		bl	HAL_GetTick
 4294 01aa 0346     		mov	r3, r0
 4295              		.loc 1 2464 11 is_stmt 0 discriminator 1
 4296 01ac 0093     		str	r3, [sp]
 4297 01ae 6423     		movs	r3, #100
 4298 01b0 0022     		movs	r2, #0
 4299 01b2 4FF4C061 		mov	r1, #1536
 4300 01b6 7868     		ldr	r0, [r7, #4]
 4301 01b8 FFF7FEFF 		bl	SPI_WaitFifoStateUntilTimeout
 4302 01bc 0346     		mov	r3, r0
 4303              		.loc 1 2464 10 is_stmt 1 discriminator 2
 4304 01be 002B     		cmp	r3, #0
 4305 01c0 02D0     		beq	.L224
2465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
2466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
 4306              		.loc 1 2466 25
 4307 01c2 7B68     		ldr	r3, [r7, #4]
 4308 01c4 4022     		movs	r2, #64
 4309 01c6 1A66     		str	r2, [r3, #96]
 4310              	.L224:
2467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
2468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Disable Rx DMA Request */
2470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_RXDMAEN));
 4311              		.loc 1 2470 7
 4312 01c8 7B68     		ldr	r3, [r7, #4]
 4313 01ca 1B68     		ldr	r3, [r3]
 4314 01cc 5A68     		ldr	r2, [r3, #4]
 4315 01ce 7B68     		ldr	r3, [r7, #4]
 4316 01d0 1B68     		ldr	r3, [r3]
ARM GAS  /tmp/ccs34gJO.s 			page 120


 4317 01d2 22F00102 		bic	r2, r2, #1
 4318 01d6 5A60     		str	r2, [r3, #4]
 4319              	.L221:
2471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
2472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Reset Tx and Rx transfer counters */
2474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxXferCount = 0U;
 4320              		.loc 1 2474 21
 4321 01d8 7B68     		ldr	r3, [r7, #4]
 4322 01da 0022     		movs	r2, #0
 4323 01dc A3F84620 		strh	r2, [r3, #70]	@ movhi
2475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxXferCount = 0U;
 4324              		.loc 1 2475 21
 4325 01e0 7B68     		ldr	r3, [r7, #4]
 4326 01e2 0022     		movs	r2, #0
 4327 01e4 DA87     		strh	r2, [r3, #62]	@ movhi
2476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check error during Abort procedure */
2478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->ErrorCode == HAL_SPI_ERROR_ABORT)
 4328              		.loc 1 2478 11
 4329 01e6 7B68     		ldr	r3, [r7, #4]
 4330 01e8 1B6E     		ldr	r3, [r3, #96]
 4331              		.loc 1 2478 6
 4332 01ea 402B     		cmp	r3, #64
 4333 01ec 02D1     		bne	.L225
2479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* return HAL_Error in case of error during Abort procedure */
2481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     errorcode = HAL_ERROR;
 4334              		.loc 1 2481 15
 4335 01ee 0123     		movs	r3, #1
 4336 01f0 FB77     		strb	r3, [r7, #31]
 4337 01f2 02E0     		b	.L226
 4338              	.L225:
2482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   else
2484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Reset errorCode */
2486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->ErrorCode = HAL_SPI_ERROR_NONE;
 4339              		.loc 1 2486 21
 4340 01f4 7B68     		ldr	r3, [r7, #4]
 4341 01f6 0022     		movs	r2, #0
 4342 01f8 1A66     		str	r2, [r3, #96]
 4343              	.L226:
 4344              	.LBB3:
2487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Clear the Error flags in the SR register */
2490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_SPI_CLEAR_OVRFLAG(hspi);
 4345              		.loc 1 2490 3
 4346 01fa 0023     		movs	r3, #0
 4347 01fc 3B61     		str	r3, [r7, #16]
 4348 01fe 7B68     		ldr	r3, [r7, #4]
 4349 0200 1B68     		ldr	r3, [r3]
 4350 0202 DB68     		ldr	r3, [r3, #12]
 4351 0204 3B61     		str	r3, [r7, #16]
 4352 0206 7B68     		ldr	r3, [r7, #4]
 4353 0208 1B68     		ldr	r3, [r3]
ARM GAS  /tmp/ccs34gJO.s 			page 121


 4354 020a 9B68     		ldr	r3, [r3, #8]
 4355 020c 3B61     		str	r3, [r7, #16]
 4356 020e 3B69     		ldr	r3, [r7, #16]
 4357              	.LBE3:
 4358              	.LBB4:
2491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_SPI_CLEAR_FREFLAG(hspi);
 4359              		.loc 1 2491 3
 4360 0210 0023     		movs	r3, #0
 4361 0212 FB60     		str	r3, [r7, #12]
 4362 0214 7B68     		ldr	r3, [r7, #4]
 4363 0216 1B68     		ldr	r3, [r3]
 4364 0218 9B68     		ldr	r3, [r3, #8]
 4365 021a FB60     		str	r3, [r7, #12]
 4366 021c FB68     		ldr	r3, [r7, #12]
 4367              	.LBE4:
2492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Restore hspi->state to ready */
2494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->State = HAL_SPI_STATE_READY;
 4368              		.loc 1 2494 15
 4369 021e 7B68     		ldr	r3, [r7, #4]
 4370 0220 0122     		movs	r2, #1
 4371 0222 83F85D20 		strb	r2, [r3, #93]
2495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   return errorcode;
 4372              		.loc 1 2496 10
 4373 0226 FB7F     		ldrb	r3, [r7, #31]	@ zero_extendqisi2
2497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 4374              		.loc 1 2497 1
 4375 0228 1846     		mov	r0, r3
 4376 022a 2037     		adds	r7, r7, #32
 4377              		.cfi_def_cfa_offset 8
 4378 022c BD46     		mov	sp, r7
 4379              		.cfi_def_cfa_register 13
 4380              		@ sp needed
 4381 022e 80BD     		pop	{r7, pc}
 4382              	.L229:
 4383              		.align	2
 4384              	.L228:
 4385 0230 00000000 		.word	SystemCoreClock
 4386 0234 F1197605 		.word	91625969
 4387 0238 00000000 		.word	SPI_AbortTx_ISR
 4388 023c 00000000 		.word	SPI_AbortRx_ISR
 4389              		.cfi_endproc
 4390              	.LFE143:
 4392              		.section	.text.HAL_SPI_Abort_IT,"ax",%progbits
 4393              		.align	1
 4394              		.global	HAL_SPI_Abort_IT
 4395              		.syntax unified
 4396              		.thumb
 4397              		.thumb_func
 4399              	HAL_SPI_Abort_IT:
 4400              	.LFB144:
2498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Abort ongoing transfer (Interrupt mode).
2501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi SPI handle.
2502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @note   This procedure could be used for aborting any ongoing transfer (Tx and Rx),
ARM GAS  /tmp/ccs34gJO.s 			page 122


2503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *         started in Interrupt or DMA mode.
2504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *         This procedure performs following operations :
2505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *           - Disable SPI Interrupts (depending of transfer direction)
2506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *           - Disable the DMA transfer in the peripheral register (if enabled)
2507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *           - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
2508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *           - Set handle State to READY
2509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *           - At abort completion, call user abort complete callback
2510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @note   This procedure is executed in Interrupt mode, meaning that abort procedure could be
2511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *         considered as completed only when user abort complete callback is executed (not when ex
2512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval HAL status
2513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
2514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Abort_IT(SPI_HandleTypeDef *hspi)
2515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 4401              		.loc 1 2515 1
 4402              		.cfi_startproc
 4403              		@ args = 0, pretend = 0, frame = 32
 4404              		@ frame_needed = 1, uses_anonymous_args = 0
 4405 0000 80B5     		push	{r7, lr}
 4406              		.cfi_def_cfa_offset 8
 4407              		.cfi_offset 7, -8
 4408              		.cfi_offset 14, -4
 4409 0002 88B0     		sub	sp, sp, #32
 4410              		.cfi_def_cfa_offset 40
 4411 0004 00AF     		add	r7, sp, #0
 4412              		.cfi_def_cfa_register 7
 4413 0006 7860     		str	r0, [r7, #4]
2516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   HAL_StatusTypeDef errorcode;
2517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   uint32_t abortcplt ;
2518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __IO uint32_t count;
2519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __IO uint32_t resetcount;
2520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Initialized local variable  */
2522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   errorcode = HAL_OK;
 4414              		.loc 1 2522 13
 4415 0008 0023     		movs	r3, #0
 4416 000a FB77     		strb	r3, [r7, #31]
2523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   abortcplt = 1U;
 4417              		.loc 1 2523 13
 4418 000c 0123     		movs	r3, #1
 4419 000e BB61     		str	r3, [r7, #24]
2524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   resetcount = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
 4420              		.loc 1 2524 61
 4421 0010 724B     		ldr	r3, .L251
 4422 0012 1B68     		ldr	r3, [r3]
 4423 0014 724A     		ldr	r2, .L251+4
 4424 0016 A2FB0323 		umull	r2, r3, r2, r3
 4425 001a 5B0A     		lsrs	r3, r3, #9
 4426              		.loc 1 2524 36
 4427 001c 6422     		movs	r2, #100
 4428 001e 02FB03F3 		mul	r3, r2, r3
 4429              		.loc 1 2524 14
 4430 0022 3B61     		str	r3, [r7, #16]
2525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   count = resetcount;
 4431              		.loc 1 2525 9
 4432 0024 3B69     		ldr	r3, [r7, #16]
 4433 0026 7B61     		str	r3, [r7, #20]
2526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
ARM GAS  /tmp/ccs34gJO.s 			page 123


2527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Clear ERRIE interrupt to avoid error interrupts generation during Abort procedure */
2528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_ERRIE);
 4434              		.loc 1 2528 3
 4435 0028 7B68     		ldr	r3, [r7, #4]
 4436 002a 1B68     		ldr	r3, [r3]
 4437 002c 5A68     		ldr	r2, [r3, #4]
 4438 002e 7B68     		ldr	r3, [r7, #4]
 4439 0030 1B68     		ldr	r3, [r3]
 4440 0032 22F02002 		bic	r2, r2, #32
 4441 0036 5A60     		str	r2, [r3, #4]
2529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Change Rx and Tx Irq Handler to Disable TXEIE, RXNEIE and ERRIE interrupts */
2531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_TXEIE))
 4442              		.loc 1 2531 7
 4443 0038 7B68     		ldr	r3, [r7, #4]
 4444 003a 1B68     		ldr	r3, [r3]
 4445 003c 5B68     		ldr	r3, [r3, #4]
 4446 003e 03F08003 		and	r3, r3, #128
 4447              		.loc 1 2531 6
 4448 0042 802B     		cmp	r3, #128
 4449 0044 17D1     		bne	.L231
2532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->TxISR = SPI_AbortTx_ISR;
 4450              		.loc 1 2533 17
 4451 0046 7B68     		ldr	r3, [r7, #4]
 4452 0048 664A     		ldr	r2, .L251+8
 4453 004a 1A65     		str	r2, [r3, #80]
 4454              	.L234:
2534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Wait HAL_SPI_STATE_ABORT state */
2535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     do
2536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
2537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if (count == 0U)
 4455              		.loc 1 2537 17
 4456 004c 7B69     		ldr	r3, [r7, #20]
 4457              		.loc 1 2537 10
 4458 004e 002B     		cmp	r3, #0
 4459 0050 06D1     		bne	.L232
2538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
2539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
 4460              		.loc 1 2539 9
 4461 0052 7B68     		ldr	r3, [r7, #4]
 4462 0054 1B6E     		ldr	r3, [r3, #96]
 4463 0056 43F04002 		orr	r2, r3, #64
 4464 005a 7B68     		ldr	r3, [r7, #4]
 4465 005c 1A66     		str	r2, [r3, #96]
2540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
 4466              		.loc 1 2540 9
 4467 005e 08E0     		b	.L233
 4468              	.L232:
2541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
2542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       count--;
 4469              		.loc 1 2542 12
 4470 0060 7B69     		ldr	r3, [r7, #20]
 4471 0062 013B     		subs	r3, r3, #1
 4472 0064 7B61     		str	r3, [r7, #20]
2543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     } while (hspi->State != HAL_SPI_STATE_ABORT);
 4473              		.loc 1 2543 18
ARM GAS  /tmp/ccs34gJO.s 			page 124


 4474 0066 7B68     		ldr	r3, [r7, #4]
 4475 0068 93F85D30 		ldrb	r3, [r3, #93]
 4476 006c DBB2     		uxtb	r3, r3
 4477              		.loc 1 2543 26
 4478 006e 072B     		cmp	r3, #7
 4479 0070 ECD1     		bne	.L234
 4480              	.L233:
2544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Reset Timeout Counter */
2545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     count = resetcount;
 4481              		.loc 1 2545 11
 4482 0072 3B69     		ldr	r3, [r7, #16]
 4483 0074 7B61     		str	r3, [r7, #20]
 4484              	.L231:
2546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXNEIE))
 4485              		.loc 1 2548 7
 4486 0076 7B68     		ldr	r3, [r7, #4]
 4487 0078 1B68     		ldr	r3, [r3]
 4488 007a 5B68     		ldr	r3, [r3, #4]
 4489 007c 03F04003 		and	r3, r3, #64
 4490              		.loc 1 2548 6
 4491 0080 402B     		cmp	r3, #64
 4492 0082 17D1     		bne	.L235
2549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->RxISR = SPI_AbortRx_ISR;
 4493              		.loc 1 2550 17
 4494 0084 7B68     		ldr	r3, [r7, #4]
 4495 0086 584A     		ldr	r2, .L251+12
 4496 0088 DA64     		str	r2, [r3, #76]
 4497              	.L238:
2551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Wait HAL_SPI_STATE_ABORT state */
2552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     do
2553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
2554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if (count == 0U)
 4498              		.loc 1 2554 17
 4499 008a 7B69     		ldr	r3, [r7, #20]
 4500              		.loc 1 2554 10
 4501 008c 002B     		cmp	r3, #0
 4502 008e 06D1     		bne	.L236
2555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
2556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
 4503              		.loc 1 2556 9
 4504 0090 7B68     		ldr	r3, [r7, #4]
 4505 0092 1B6E     		ldr	r3, [r3, #96]
 4506 0094 43F04002 		orr	r2, r3, #64
 4507 0098 7B68     		ldr	r3, [r7, #4]
 4508 009a 1A66     		str	r2, [r3, #96]
2557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
 4509              		.loc 1 2557 9
 4510 009c 08E0     		b	.L237
 4511              	.L236:
2558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
2559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       count--;
 4512              		.loc 1 2559 12
 4513 009e 7B69     		ldr	r3, [r7, #20]
 4514 00a0 013B     		subs	r3, r3, #1
ARM GAS  /tmp/ccs34gJO.s 			page 125


 4515 00a2 7B61     		str	r3, [r7, #20]
2560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     } while (hspi->State != HAL_SPI_STATE_ABORT);
 4516              		.loc 1 2560 18
 4517 00a4 7B68     		ldr	r3, [r7, #4]
 4518 00a6 93F85D30 		ldrb	r3, [r3, #93]
 4519 00aa DBB2     		uxtb	r3, r3
 4520              		.loc 1 2560 26
 4521 00ac 072B     		cmp	r3, #7
 4522 00ae ECD1     		bne	.L238
 4523              	.L237:
2561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Reset Timeout Counter */
2562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     count = resetcount;
 4524              		.loc 1 2562 11
 4525 00b0 3B69     		ldr	r3, [r7, #16]
 4526 00b2 7B61     		str	r3, [r7, #20]
 4527              	.L235:
2563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* If DMA Tx and/or DMA Rx Handles are associated to SPI Handle, DMA Abort complete callbacks sho
2566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****      before any call to DMA Abort functions */
2567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* DMA Tx Handle is valid */
2568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->hdmatx != NULL)
 4528              		.loc 1 2568 11
 4529 00b4 7B68     		ldr	r3, [r7, #4]
 4530 00b6 5B6D     		ldr	r3, [r3, #84]
 4531              		.loc 1 2568 6
 4532 00b8 002B     		cmp	r3, #0
 4533 00ba 0FD0     		beq	.L239
2569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Set DMA Abort Complete callback if UART DMA Tx request if enabled.
2571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        Otherwise, set it to NULL */
2572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_TXDMAEN))
 4534              		.loc 1 2572 9
 4535 00bc 7B68     		ldr	r3, [r7, #4]
 4536 00be 1B68     		ldr	r3, [r3]
 4537 00c0 5B68     		ldr	r3, [r3, #4]
 4538 00c2 03F00203 		and	r3, r3, #2
 4539              		.loc 1 2572 8
 4540 00c6 022B     		cmp	r3, #2
 4541 00c8 04D1     		bne	.L240
2573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
2574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->hdmatx->XferAbortCallback = SPI_DMATxAbortCallback;
 4542              		.loc 1 2574 11
 4543 00ca 7B68     		ldr	r3, [r7, #4]
 4544 00cc 5B6D     		ldr	r3, [r3, #84]
 4545              		.loc 1 2574 39
 4546 00ce 474A     		ldr	r2, .L251+16
 4547 00d0 5A63     		str	r2, [r3, #52]
 4548 00d2 03E0     		b	.L239
 4549              	.L240:
2575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
2576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     else
2577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
2578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->hdmatx->XferAbortCallback = NULL;
 4550              		.loc 1 2578 11
 4551 00d4 7B68     		ldr	r3, [r7, #4]
 4552 00d6 5B6D     		ldr	r3, [r3, #84]
ARM GAS  /tmp/ccs34gJO.s 			page 126


 4553              		.loc 1 2578 39
 4554 00d8 0022     		movs	r2, #0
 4555 00da 5A63     		str	r2, [r3, #52]
 4556              	.L239:
2579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
2580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* DMA Rx Handle is valid */
2582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->hdmarx != NULL)
 4557              		.loc 1 2582 11
 4558 00dc 7B68     		ldr	r3, [r7, #4]
 4559 00de 9B6D     		ldr	r3, [r3, #88]
 4560              		.loc 1 2582 6
 4561 00e0 002B     		cmp	r3, #0
 4562 00e2 0FD0     		beq	.L241
2583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Set DMA Abort Complete callback if UART DMA Rx request if enabled.
2585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        Otherwise, set it to NULL */
2586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXDMAEN))
 4563              		.loc 1 2586 9
 4564 00e4 7B68     		ldr	r3, [r7, #4]
 4565 00e6 1B68     		ldr	r3, [r3]
 4566 00e8 5B68     		ldr	r3, [r3, #4]
 4567 00ea 03F00103 		and	r3, r3, #1
 4568              		.loc 1 2586 8
 4569 00ee 012B     		cmp	r3, #1
 4570 00f0 04D1     		bne	.L242
2587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
2588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->hdmarx->XferAbortCallback = SPI_DMARxAbortCallback;
 4571              		.loc 1 2588 11
 4572 00f2 7B68     		ldr	r3, [r7, #4]
 4573 00f4 9B6D     		ldr	r3, [r3, #88]
 4574              		.loc 1 2588 39
 4575 00f6 3E4A     		ldr	r2, .L251+20
 4576 00f8 5A63     		str	r2, [r3, #52]
 4577 00fa 03E0     		b	.L241
 4578              	.L242:
2589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
2590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     else
2591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
2592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->hdmarx->XferAbortCallback = NULL;
 4579              		.loc 1 2592 11
 4580 00fc 7B68     		ldr	r3, [r7, #4]
 4581 00fe 9B6D     		ldr	r3, [r3, #88]
 4582              		.loc 1 2592 39
 4583 0100 0022     		movs	r2, #0
 4584 0102 5A63     		str	r2, [r3, #52]
 4585              	.L241:
2593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
2594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Disable the SPI DMA Tx request if enabled */
2597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_TXDMAEN))
 4586              		.loc 1 2597 7
 4587 0104 7B68     		ldr	r3, [r7, #4]
 4588 0106 1B68     		ldr	r3, [r3]
 4589 0108 5B68     		ldr	r3, [r3, #4]
 4590 010a 03F00203 		and	r3, r3, #2
ARM GAS  /tmp/ccs34gJO.s 			page 127


 4591              		.loc 1 2597 6
 4592 010e 022B     		cmp	r3, #2
 4593 0110 15D1     		bne	.L243
2598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Abort the SPI DMA Tx Stream/Channel */
2600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->hdmatx != NULL)
 4594              		.loc 1 2600 13
 4595 0112 7B68     		ldr	r3, [r7, #4]
 4596 0114 5B6D     		ldr	r3, [r3, #84]
 4597              		.loc 1 2600 8
 4598 0116 002B     		cmp	r3, #0
 4599 0118 11D0     		beq	.L243
2601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
2602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Abort DMA Tx Handle linked to SPI Peripheral */
2603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if (HAL_DMA_Abort_IT(hspi->hdmatx) != HAL_OK)
 4600              		.loc 1 2603 11
 4601 011a 7B68     		ldr	r3, [r7, #4]
 4602 011c 5B6D     		ldr	r3, [r3, #84]
 4603 011e 1846     		mov	r0, r3
 4604 0120 FFF7FEFF 		bl	HAL_DMA_Abort_IT
 4605 0124 0346     		mov	r3, r0
 4606              		.loc 1 2603 10 discriminator 1
 4607 0126 002B     		cmp	r3, #0
 4608 0128 07D0     		beq	.L244
2604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
2605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->hdmatx->XferAbortCallback = NULL;
 4609              		.loc 1 2605 13
 4610 012a 7B68     		ldr	r3, [r7, #4]
 4611 012c 5B6D     		ldr	r3, [r3, #84]
 4612              		.loc 1 2605 41
 4613 012e 0022     		movs	r2, #0
 4614 0130 5A63     		str	r2, [r3, #52]
2606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
 4615              		.loc 1 2606 25
 4616 0132 7B68     		ldr	r3, [r7, #4]
 4617 0134 4022     		movs	r2, #64
 4618 0136 1A66     		str	r2, [r3, #96]
 4619 0138 01E0     		b	.L243
 4620              	.L244:
2607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
2608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       else
2609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
2610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         abortcplt = 0U;
 4621              		.loc 1 2610 19
 4622 013a 0023     		movs	r3, #0
 4623 013c BB61     		str	r3, [r7, #24]
 4624              	.L243:
2611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
2612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
2613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Disable the SPI DMA Rx request if enabled */
2615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXDMAEN))
 4625              		.loc 1 2615 7
 4626 013e 7B68     		ldr	r3, [r7, #4]
 4627 0140 1B68     		ldr	r3, [r3]
 4628 0142 5B68     		ldr	r3, [r3, #4]
 4629 0144 03F00103 		and	r3, r3, #1
ARM GAS  /tmp/ccs34gJO.s 			page 128


 4630              		.loc 1 2615 6
 4631 0148 012B     		cmp	r3, #1
 4632 014a 15D1     		bne	.L245
2616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Abort the SPI DMA Rx Stream/Channel */
2618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->hdmarx != NULL)
 4633              		.loc 1 2618 13
 4634 014c 7B68     		ldr	r3, [r7, #4]
 4635 014e 9B6D     		ldr	r3, [r3, #88]
 4636              		.loc 1 2618 8
 4637 0150 002B     		cmp	r3, #0
 4638 0152 11D0     		beq	.L245
2619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
2620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Abort DMA Rx Handle linked to SPI Peripheral */
2621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if (HAL_DMA_Abort_IT(hspi->hdmarx) !=  HAL_OK)
 4639              		.loc 1 2621 11
 4640 0154 7B68     		ldr	r3, [r7, #4]
 4641 0156 9B6D     		ldr	r3, [r3, #88]
 4642 0158 1846     		mov	r0, r3
 4643 015a FFF7FEFF 		bl	HAL_DMA_Abort_IT
 4644 015e 0346     		mov	r3, r0
 4645              		.loc 1 2621 10 discriminator 1
 4646 0160 002B     		cmp	r3, #0
 4647 0162 07D0     		beq	.L246
2622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
2623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->hdmarx->XferAbortCallback = NULL;
 4648              		.loc 1 2623 13
 4649 0164 7B68     		ldr	r3, [r7, #4]
 4650 0166 9B6D     		ldr	r3, [r3, #88]
 4651              		.loc 1 2623 41
 4652 0168 0022     		movs	r2, #0
 4653 016a 5A63     		str	r2, [r3, #52]
2624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
 4654              		.loc 1 2624 25
 4655 016c 7B68     		ldr	r3, [r7, #4]
 4656 016e 4022     		movs	r2, #64
 4657 0170 1A66     		str	r2, [r3, #96]
 4658 0172 01E0     		b	.L245
 4659              	.L246:
2625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
2626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       else
2627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
2628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         abortcplt = 0U;
 4660              		.loc 1 2628 19
 4661 0174 0023     		movs	r3, #0
 4662 0176 BB61     		str	r3, [r7, #24]
 4663              	.L245:
2629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
2630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
2631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (abortcplt == 1U)
 4664              		.loc 1 2633 6
 4665 0178 BB69     		ldr	r3, [r7, #24]
 4666 017a 012B     		cmp	r3, #1
 4667 017c 29D1     		bne	.L247
2634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
ARM GAS  /tmp/ccs34gJO.s 			page 129


2635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Reset Tx and Rx transfer counters */
2636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->RxXferCount = 0U;
 4668              		.loc 1 2636 23
 4669 017e 7B68     		ldr	r3, [r7, #4]
 4670 0180 0022     		movs	r2, #0
 4671 0182 A3F84620 		strh	r2, [r3, #70]	@ movhi
2637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->TxXferCount = 0U;
 4672              		.loc 1 2637 23
 4673 0186 7B68     		ldr	r3, [r7, #4]
 4674 0188 0022     		movs	r2, #0
 4675 018a DA87     		strh	r2, [r3, #62]	@ movhi
2638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Check error during Abort procedure */
2640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->ErrorCode == HAL_SPI_ERROR_ABORT)
 4676              		.loc 1 2640 13
 4677 018c 7B68     		ldr	r3, [r7, #4]
 4678 018e 1B6E     		ldr	r3, [r3, #96]
 4679              		.loc 1 2640 8
 4680 0190 402B     		cmp	r3, #64
 4681 0192 02D1     		bne	.L248
2641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
2642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* return HAL_Error in case of error during Abort procedure */
2643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       errorcode = HAL_ERROR;
 4682              		.loc 1 2643 17
 4683 0194 0123     		movs	r3, #1
 4684 0196 FB77     		strb	r3, [r7, #31]
 4685 0198 02E0     		b	.L249
 4686              	.L248:
2644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
2645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     else
2646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
2647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Reset errorCode */
2648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->ErrorCode = HAL_SPI_ERROR_NONE;
 4687              		.loc 1 2648 23
 4688 019a 7B68     		ldr	r3, [r7, #4]
 4689 019c 0022     		movs	r2, #0
 4690 019e 1A66     		str	r2, [r3, #96]
 4691              	.L249:
 4692              	.LBB5:
2649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
2650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Clear the Error flags in the SR register */
2652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     __HAL_SPI_CLEAR_OVRFLAG(hspi);
 4693              		.loc 1 2652 5
 4694 01a0 0023     		movs	r3, #0
 4695 01a2 FB60     		str	r3, [r7, #12]
 4696 01a4 7B68     		ldr	r3, [r7, #4]
 4697 01a6 1B68     		ldr	r3, [r3]
 4698 01a8 DB68     		ldr	r3, [r3, #12]
 4699 01aa FB60     		str	r3, [r7, #12]
 4700 01ac 7B68     		ldr	r3, [r7, #4]
 4701 01ae 1B68     		ldr	r3, [r3]
 4702 01b0 9B68     		ldr	r3, [r3, #8]
 4703 01b2 FB60     		str	r3, [r7, #12]
 4704 01b4 FB68     		ldr	r3, [r7, #12]
 4705              	.LBE5:
 4706              	.LBB6:
ARM GAS  /tmp/ccs34gJO.s 			page 130


2653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     __HAL_SPI_CLEAR_FREFLAG(hspi);
 4707              		.loc 1 2653 5
 4708 01b6 0023     		movs	r3, #0
 4709 01b8 BB60     		str	r3, [r7, #8]
 4710 01ba 7B68     		ldr	r3, [r7, #4]
 4711 01bc 1B68     		ldr	r3, [r3]
 4712 01be 9B68     		ldr	r3, [r3, #8]
 4713 01c0 BB60     		str	r3, [r7, #8]
 4714 01c2 BB68     		ldr	r3, [r7, #8]
 4715              	.LBE6:
2654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Restore hspi->State to Ready */
2656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->State = HAL_SPI_STATE_READY;
 4716              		.loc 1 2656 17
 4717 01c4 7B68     		ldr	r3, [r7, #4]
 4718 01c6 0122     		movs	r2, #1
 4719 01c8 83F85D20 		strb	r2, [r3, #93]
2657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* As no DMA to be aborted, call directly user Abort complete callback */
2659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
2660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->AbortCpltCallback(hspi);
2661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
2662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     HAL_SPI_AbortCpltCallback(hspi);
 4720              		.loc 1 2662 5
 4721 01cc 7868     		ldr	r0, [r7, #4]
 4722 01ce FFF7FEFF 		bl	HAL_SPI_AbortCpltCallback
 4723              	.L247:
2663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
2664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   return errorcode;
 4724              		.loc 1 2666 10
 4725 01d2 FB7F     		ldrb	r3, [r7, #31]	@ zero_extendqisi2
2667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 4726              		.loc 1 2667 1
 4727 01d4 1846     		mov	r0, r3
 4728 01d6 2037     		adds	r7, r7, #32
 4729              		.cfi_def_cfa_offset 8
 4730 01d8 BD46     		mov	sp, r7
 4731              		.cfi_def_cfa_register 13
 4732              		@ sp needed
 4733 01da 80BD     		pop	{r7, pc}
 4734              	.L252:
 4735              		.align	2
 4736              	.L251:
 4737 01dc 00000000 		.word	SystemCoreClock
 4738 01e0 F1197605 		.word	91625969
 4739 01e4 00000000 		.word	SPI_AbortTx_ISR
 4740 01e8 00000000 		.word	SPI_AbortRx_ISR
 4741 01ec 00000000 		.word	SPI_DMATxAbortCallback
 4742 01f0 00000000 		.word	SPI_DMARxAbortCallback
 4743              		.cfi_endproc
 4744              	.LFE144:
 4746              		.section	.text.HAL_SPI_DMAPause,"ax",%progbits
 4747              		.align	1
 4748              		.global	HAL_SPI_DMAPause
 4749              		.syntax unified
ARM GAS  /tmp/ccs34gJO.s 			page 131


 4750              		.thumb
 4751              		.thumb_func
 4753              	HAL_SPI_DMAPause:
 4754              	.LFB145:
2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Pause the DMA Transfer.
2671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
2672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for the specified SPI module.
2673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval HAL status
2674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
2675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_DMAPause(SPI_HandleTypeDef *hspi)
2676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 4755              		.loc 1 2676 1
 4756              		.cfi_startproc
 4757              		@ args = 0, pretend = 0, frame = 8
 4758              		@ frame_needed = 1, uses_anonymous_args = 0
 4759              		@ link register save eliminated.
 4760 0000 80B4     		push	{r7}
 4761              		.cfi_def_cfa_offset 4
 4762              		.cfi_offset 7, -4
 4763 0002 83B0     		sub	sp, sp, #12
 4764              		.cfi_def_cfa_offset 16
 4765 0004 00AF     		add	r7, sp, #0
 4766              		.cfi_def_cfa_register 7
 4767 0006 7860     		str	r0, [r7, #4]
2677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Process Locked */
2678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_LOCK(hspi);
 4768              		.loc 1 2678 3
 4769 0008 7B68     		ldr	r3, [r7, #4]
 4770 000a 93F85C30 		ldrb	r3, [r3, #92]	@ zero_extendqisi2
 4771 000e 012B     		cmp	r3, #1
 4772 0010 01D1     		bne	.L254
 4773              		.loc 1 2678 3 is_stmt 0 discriminator 1
 4774 0012 0223     		movs	r3, #2
 4775              		.loc 1 2678 3
 4776 0014 10E0     		b	.L255
 4777              	.L254:
 4778              		.loc 1 2678 3 discriminator 2
 4779 0016 7B68     		ldr	r3, [r7, #4]
 4780 0018 0122     		movs	r2, #1
 4781 001a 83F85C20 		strb	r2, [r3, #92]
2679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Disable the SPI DMA Tx & Rx requests */
2681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN);
 4782              		.loc 1 2681 3 is_stmt 1
 4783 001e 7B68     		ldr	r3, [r7, #4]
 4784 0020 1B68     		ldr	r3, [r3]
 4785 0022 5A68     		ldr	r2, [r3, #4]
 4786 0024 7B68     		ldr	r3, [r7, #4]
 4787 0026 1B68     		ldr	r3, [r3]
 4788 0028 22F00302 		bic	r2, r2, #3
 4789 002c 5A60     		str	r2, [r3, #4]
2682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Process Unlocked */
2684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_UNLOCK(hspi);
 4790              		.loc 1 2684 3
ARM GAS  /tmp/ccs34gJO.s 			page 132


 4791 002e 7B68     		ldr	r3, [r7, #4]
 4792 0030 0022     		movs	r2, #0
 4793 0032 83F85C20 		strb	r2, [r3, #92]
2685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   return HAL_OK;
 4794              		.loc 1 2686 10
 4795 0036 0023     		movs	r3, #0
 4796              	.L255:
2687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 4797              		.loc 1 2687 1
 4798 0038 1846     		mov	r0, r3
 4799 003a 0C37     		adds	r7, r7, #12
 4800              		.cfi_def_cfa_offset 4
 4801 003c BD46     		mov	sp, r7
 4802              		.cfi_def_cfa_register 13
 4803              		@ sp needed
 4804 003e 5DF8047B 		ldr	r7, [sp], #4
 4805              		.cfi_restore 7
 4806              		.cfi_def_cfa_offset 0
 4807 0042 7047     		bx	lr
 4808              		.cfi_endproc
 4809              	.LFE145:
 4811              		.section	.text.HAL_SPI_DMAResume,"ax",%progbits
 4812              		.align	1
 4813              		.global	HAL_SPI_DMAResume
 4814              		.syntax unified
 4815              		.thumb
 4816              		.thumb_func
 4818              	HAL_SPI_DMAResume:
 4819              	.LFB146:
2688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Resume the DMA Transfer.
2691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
2692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for the specified SPI module.
2693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval HAL status
2694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
2695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_DMAResume(SPI_HandleTypeDef *hspi)
2696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 4820              		.loc 1 2696 1
 4821              		.cfi_startproc
 4822              		@ args = 0, pretend = 0, frame = 8
 4823              		@ frame_needed = 1, uses_anonymous_args = 0
 4824              		@ link register save eliminated.
 4825 0000 80B4     		push	{r7}
 4826              		.cfi_def_cfa_offset 4
 4827              		.cfi_offset 7, -4
 4828 0002 83B0     		sub	sp, sp, #12
 4829              		.cfi_def_cfa_offset 16
 4830 0004 00AF     		add	r7, sp, #0
 4831              		.cfi_def_cfa_register 7
 4832 0006 7860     		str	r0, [r7, #4]
2697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Process Locked */
2698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_LOCK(hspi);
 4833              		.loc 1 2698 3
 4834 0008 7B68     		ldr	r3, [r7, #4]
 4835 000a 93F85C30 		ldrb	r3, [r3, #92]	@ zero_extendqisi2
ARM GAS  /tmp/ccs34gJO.s 			page 133


 4836 000e 012B     		cmp	r3, #1
 4837 0010 01D1     		bne	.L257
 4838              		.loc 1 2698 3 is_stmt 0 discriminator 1
 4839 0012 0223     		movs	r3, #2
 4840              		.loc 1 2698 3
 4841 0014 10E0     		b	.L258
 4842              	.L257:
 4843              		.loc 1 2698 3 discriminator 2
 4844 0016 7B68     		ldr	r3, [r7, #4]
 4845 0018 0122     		movs	r2, #1
 4846 001a 83F85C20 		strb	r2, [r3, #92]
2699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Enable the SPI DMA Tx & Rx requests */
2701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   SET_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN);
 4847              		.loc 1 2701 3 is_stmt 1
 4848 001e 7B68     		ldr	r3, [r7, #4]
 4849 0020 1B68     		ldr	r3, [r3]
 4850 0022 5A68     		ldr	r2, [r3, #4]
 4851 0024 7B68     		ldr	r3, [r7, #4]
 4852 0026 1B68     		ldr	r3, [r3]
 4853 0028 42F00302 		orr	r2, r2, #3
 4854 002c 5A60     		str	r2, [r3, #4]
2702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Process Unlocked */
2704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_UNLOCK(hspi);
 4855              		.loc 1 2704 3
 4856 002e 7B68     		ldr	r3, [r7, #4]
 4857 0030 0022     		movs	r2, #0
 4858 0032 83F85C20 		strb	r2, [r3, #92]
2705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   return HAL_OK;
 4859              		.loc 1 2706 10
 4860 0036 0023     		movs	r3, #0
 4861              	.L258:
2707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 4862              		.loc 1 2707 1
 4863 0038 1846     		mov	r0, r3
 4864 003a 0C37     		adds	r7, r7, #12
 4865              		.cfi_def_cfa_offset 4
 4866 003c BD46     		mov	sp, r7
 4867              		.cfi_def_cfa_register 13
 4868              		@ sp needed
 4869 003e 5DF8047B 		ldr	r7, [sp], #4
 4870              		.cfi_restore 7
 4871              		.cfi_def_cfa_offset 0
 4872 0042 7047     		bx	lr
 4873              		.cfi_endproc
 4874              	.LFE146:
 4876              		.section	.text.HAL_SPI_DMAStop,"ax",%progbits
 4877              		.align	1
 4878              		.global	HAL_SPI_DMAStop
 4879              		.syntax unified
 4880              		.thumb
 4881              		.thumb_func
 4883              	HAL_SPI_DMAStop:
 4884              	.LFB147:
2708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
ARM GAS  /tmp/ccs34gJO.s 			page 134


2709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Stop the DMA Transfer.
2711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
2712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for the specified SPI module.
2713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval HAL status
2714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
2715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_DMAStop(SPI_HandleTypeDef *hspi)
2716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 4885              		.loc 1 2716 1
 4886              		.cfi_startproc
 4887              		@ args = 0, pretend = 0, frame = 16
 4888              		@ frame_needed = 1, uses_anonymous_args = 0
 4889 0000 80B5     		push	{r7, lr}
 4890              		.cfi_def_cfa_offset 8
 4891              		.cfi_offset 7, -8
 4892              		.cfi_offset 14, -4
 4893 0002 84B0     		sub	sp, sp, #16
 4894              		.cfi_def_cfa_offset 24
 4895 0004 00AF     		add	r7, sp, #0
 4896              		.cfi_def_cfa_register 7
 4897 0006 7860     		str	r0, [r7, #4]
2717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   HAL_StatusTypeDef errorcode = HAL_OK;
 4898              		.loc 1 2717 21
 4899 0008 0023     		movs	r3, #0
 4900 000a FB73     		strb	r3, [r7, #15]
2718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* The Lock is not implemented on this API to allow the user application
2719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****      to call the HAL SPI API under callbacks HAL_SPI_TxCpltCallback() or HAL_SPI_RxCpltCallback() o
2720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****      when calling HAL_DMA_Abort() API the DMA TX/RX Transfer complete interrupt is generated
2721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****      and the correspond call back is executed HAL_SPI_TxCpltCallback() or HAL_SPI_RxCpltCallback() 
2722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****      */
2723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Abort the SPI DMA tx Stream/Channel  */
2725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->hdmatx != NULL)
 4901              		.loc 1 2725 11
 4902 000c 7B68     		ldr	r3, [r7, #4]
 4903 000e 5B6D     		ldr	r3, [r3, #84]
 4904              		.loc 1 2725 6
 4905 0010 002B     		cmp	r3, #0
 4906 0012 0FD0     		beq	.L260
2726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (HAL_OK != HAL_DMA_Abort(hspi->hdmatx))
 4907              		.loc 1 2727 19
 4908 0014 7B68     		ldr	r3, [r7, #4]
 4909 0016 5B6D     		ldr	r3, [r3, #84]
 4910 0018 1846     		mov	r0, r3
 4911 001a FFF7FEFF 		bl	HAL_DMA_Abort
 4912 001e 0346     		mov	r3, r0
 4913              		.loc 1 2727 8 discriminator 1
 4914 0020 002B     		cmp	r3, #0
 4915 0022 07D0     		beq	.L260
2728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
2729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
 4916              		.loc 1 2729 7
 4917 0024 7B68     		ldr	r3, [r7, #4]
 4918 0026 1B6E     		ldr	r3, [r3, #96]
 4919 0028 43F01002 		orr	r2, r3, #16
 4920 002c 7B68     		ldr	r3, [r7, #4]
ARM GAS  /tmp/ccs34gJO.s 			page 135


 4921 002e 1A66     		str	r2, [r3, #96]
2730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       errorcode = HAL_ERROR;
 4922              		.loc 1 2730 17
 4923 0030 0123     		movs	r3, #1
 4924 0032 FB73     		strb	r3, [r7, #15]
 4925              	.L260:
2731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
2732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Abort the SPI DMA rx Stream/Channel  */
2734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->hdmarx != NULL)
 4926              		.loc 1 2734 11
 4927 0034 7B68     		ldr	r3, [r7, #4]
 4928 0036 9B6D     		ldr	r3, [r3, #88]
 4929              		.loc 1 2734 6
 4930 0038 002B     		cmp	r3, #0
 4931 003a 0FD0     		beq	.L261
2735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (HAL_OK != HAL_DMA_Abort(hspi->hdmarx))
 4932              		.loc 1 2736 19
 4933 003c 7B68     		ldr	r3, [r7, #4]
 4934 003e 9B6D     		ldr	r3, [r3, #88]
 4935 0040 1846     		mov	r0, r3
 4936 0042 FFF7FEFF 		bl	HAL_DMA_Abort
 4937 0046 0346     		mov	r3, r0
 4938              		.loc 1 2736 8 discriminator 1
 4939 0048 002B     		cmp	r3, #0
 4940 004a 07D0     		beq	.L261
2737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
2738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
 4941              		.loc 1 2738 7
 4942 004c 7B68     		ldr	r3, [r7, #4]
 4943 004e 1B6E     		ldr	r3, [r3, #96]
 4944 0050 43F01002 		orr	r2, r3, #16
 4945 0054 7B68     		ldr	r3, [r7, #4]
 4946 0056 1A66     		str	r2, [r3, #96]
2739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       errorcode = HAL_ERROR;
 4947              		.loc 1 2739 17
 4948 0058 0123     		movs	r3, #1
 4949 005a FB73     		strb	r3, [r7, #15]
 4950              	.L261:
2740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
2741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Disable the SPI DMA Tx & Rx requests */
2744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN);
 4951              		.loc 1 2744 3
 4952 005c 7B68     		ldr	r3, [r7, #4]
 4953 005e 1B68     		ldr	r3, [r3]
 4954 0060 5A68     		ldr	r2, [r3, #4]
 4955 0062 7B68     		ldr	r3, [r7, #4]
 4956 0064 1B68     		ldr	r3, [r3]
 4957 0066 22F00302 		bic	r2, r2, #3
 4958 006a 5A60     		str	r2, [r3, #4]
2745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->State = HAL_SPI_STATE_READY;
 4959              		.loc 1 2745 15
 4960 006c 7B68     		ldr	r3, [r7, #4]
 4961 006e 0122     		movs	r2, #1
ARM GAS  /tmp/ccs34gJO.s 			page 136


 4962 0070 83F85D20 		strb	r2, [r3, #93]
2746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   return errorcode;
 4963              		.loc 1 2746 10
 4964 0074 FB7B     		ldrb	r3, [r7, #15]	@ zero_extendqisi2
2747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 4965              		.loc 1 2747 1
 4966 0076 1846     		mov	r0, r3
 4967 0078 1037     		adds	r7, r7, #16
 4968              		.cfi_def_cfa_offset 8
 4969 007a BD46     		mov	sp, r7
 4970              		.cfi_def_cfa_register 13
 4971              		@ sp needed
 4972 007c 80BD     		pop	{r7, pc}
 4973              		.cfi_endproc
 4974              	.LFE147:
 4976              		.section	.text.HAL_SPI_IRQHandler,"ax",%progbits
 4977              		.align	1
 4978              		.global	HAL_SPI_IRQHandler
 4979              		.syntax unified
 4980              		.thumb
 4981              		.thumb_func
 4983              	HAL_SPI_IRQHandler:
 4984              	.LFB148:
2748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Handle SPI interrupt request.
2751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
2752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for the specified SPI module.
2753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
2754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
2755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** void HAL_SPI_IRQHandler(SPI_HandleTypeDef *hspi)
2756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 4985              		.loc 1 2756 1
 4986              		.cfi_startproc
 4987              		@ args = 0, pretend = 0, frame = 32
 4988              		@ frame_needed = 1, uses_anonymous_args = 0
 4989 0000 80B5     		push	{r7, lr}
 4990              		.cfi_def_cfa_offset 8
 4991              		.cfi_offset 7, -8
 4992              		.cfi_offset 14, -4
 4993 0002 88B0     		sub	sp, sp, #32
 4994              		.cfi_def_cfa_offset 40
 4995 0004 00AF     		add	r7, sp, #0
 4996              		.cfi_def_cfa_register 7
 4997 0006 7860     		str	r0, [r7, #4]
2757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   uint32_t itsource = hspi->Instance->CR2;
 4998              		.loc 1 2757 27
 4999 0008 7B68     		ldr	r3, [r7, #4]
 5000 000a 1B68     		ldr	r3, [r3]
 5001              		.loc 1 2757 12
 5002 000c 5B68     		ldr	r3, [r3, #4]
 5003 000e FB61     		str	r3, [r7, #28]
2758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   uint32_t itflag   = hspi->Instance->SR;
 5004              		.loc 1 2758 27
 5005 0010 7B68     		ldr	r3, [r7, #4]
 5006 0012 1B68     		ldr	r3, [r3]
 5007              		.loc 1 2758 12
ARM GAS  /tmp/ccs34gJO.s 			page 137


 5008 0014 9B68     		ldr	r3, [r3, #8]
 5009 0016 BB61     		str	r3, [r7, #24]
2759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* SPI in mode Receiver ----------------------------------------------------*/
2761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((SPI_CHECK_FLAG(itflag, SPI_FLAG_OVR) == RESET) &&
 5010              		.loc 1 2761 8
 5011 0018 BB69     		ldr	r3, [r7, #24]
 5012 001a 9B09     		lsrs	r3, r3, #6
 5013 001c 03F00103 		and	r3, r3, #1
 5014              		.loc 1 2761 6
 5015 0020 002B     		cmp	r3, #0
 5016 0022 0FD1     		bne	.L264
2762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       (SPI_CHECK_FLAG(itflag, SPI_FLAG_RXNE) != RESET) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT_RXN
 5017              		.loc 1 2762 8
 5018 0024 BB69     		ldr	r3, [r7, #24]
 5019 0026 03F00103 		and	r3, r3, #1
2761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       (SPI_CHECK_FLAG(itflag, SPI_FLAG_RXNE) != RESET) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT_RXN
 5020              		.loc 1 2761 55 discriminator 1
 5021 002a 002B     		cmp	r3, #0
 5022 002c 0AD0     		beq	.L264
 5023              		.loc 1 2762 60
 5024 002e FB69     		ldr	r3, [r7, #28]
 5025 0030 9B09     		lsrs	r3, r3, #6
 5026 0032 03F00103 		and	r3, r3, #1
 5027              		.loc 1 2762 56
 5028 0036 002B     		cmp	r3, #0
 5029 0038 04D0     		beq	.L264
2763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->RxISR(hspi);
 5030              		.loc 1 2764 9
 5031 003a 7B68     		ldr	r3, [r7, #4]
 5032 003c DB6C     		ldr	r3, [r3, #76]
 5033              		.loc 1 2764 5
 5034 003e 7868     		ldr	r0, [r7, #4]
 5035 0040 9847     		blx	r3
 5036              	.LVL0:
2765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     return;
 5037              		.loc 1 2765 5
 5038 0042 D7E0     		b	.L263
 5039              	.L264:
2766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* SPI in mode Transmitter -------------------------------------------------*/
2769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((SPI_CHECK_FLAG(itflag, SPI_FLAG_TXE) != RESET) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT_TXE)
 5040              		.loc 1 2769 8
 5041 0044 BB69     		ldr	r3, [r7, #24]
 5042 0046 5B08     		lsrs	r3, r3, #1
 5043 0048 03F00103 		and	r3, r3, #1
 5044              		.loc 1 2769 6
 5045 004c 002B     		cmp	r3, #0
 5046 004e 0AD0     		beq	.L266
 5047              		.loc 1 2769 59 discriminator 1
 5048 0050 FB69     		ldr	r3, [r7, #28]
 5049 0052 DB09     		lsrs	r3, r3, #7
 5050 0054 03F00103 		and	r3, r3, #1
 5051              		.loc 1 2769 55 discriminator 1
 5052 0058 002B     		cmp	r3, #0
ARM GAS  /tmp/ccs34gJO.s 			page 138


 5053 005a 04D0     		beq	.L266
2770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->TxISR(hspi);
 5054              		.loc 1 2771 9
 5055 005c 7B68     		ldr	r3, [r7, #4]
 5056 005e 1B6D     		ldr	r3, [r3, #80]
 5057              		.loc 1 2771 5
 5058 0060 7868     		ldr	r0, [r7, #4]
 5059 0062 9847     		blx	r3
 5060              	.LVL1:
2772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     return;
 5061              		.loc 1 2772 5
 5062 0064 C6E0     		b	.L263
 5063              	.L266:
2773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* SPI in Error Treatment --------------------------------------------------*/
2776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (((SPI_CHECK_FLAG(itflag, SPI_FLAG_MODF) != RESET) || (SPI_CHECK_FLAG(itflag, SPI_FLAG_OVR) !=
 5064              		.loc 1 2776 9
 5065 0066 BB69     		ldr	r3, [r7, #24]
 5066 0068 5B09     		lsrs	r3, r3, #5
 5067 006a 03F00103 		and	r3, r3, #1
 5068              		.loc 1 2776 6
 5069 006e 002B     		cmp	r3, #0
 5070 0070 0CD1     		bne	.L267
 5071              		.loc 1 2776 61 discriminator 1
 5072 0072 BB69     		ldr	r3, [r7, #24]
 5073 0074 9B09     		lsrs	r3, r3, #6
 5074 0076 03F00103 		and	r3, r3, #1
 5075              		.loc 1 2776 57 discriminator 1
 5076 007a 002B     		cmp	r3, #0
 5077 007c 06D1     		bne	.L267
2777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****        || (SPI_CHECK_FLAG(itflag, SPI_FLAG_FRE) != RESET)) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT
 5078              		.loc 1 2777 12
 5079 007e BB69     		ldr	r3, [r7, #24]
 5080 0080 1B0A     		lsrs	r3, r3, #8
 5081 0082 03F00103 		and	r3, r3, #1
 5082              		.loc 1 2777 8
 5083 0086 002B     		cmp	r3, #0
 5084 0088 00F0B480 		beq	.L263
 5085              	.L267:
 5086              		.loc 1 2777 64 discriminator 1
 5087 008c FB69     		ldr	r3, [r7, #28]
 5088 008e 5B09     		lsrs	r3, r3, #5
 5089 0090 03F00103 		and	r3, r3, #1
 5090              		.loc 1 2777 60 discriminator 1
 5091 0094 002B     		cmp	r3, #0
 5092 0096 00F0AD80 		beq	.L263
2778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
2779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* SPI Overrun error interrupt occurred ----------------------------------*/
2780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (SPI_CHECK_FLAG(itflag, SPI_FLAG_OVR) != RESET)
 5093              		.loc 1 2780 9
 5094 009a BB69     		ldr	r3, [r7, #24]
 5095 009c 9B09     		lsrs	r3, r3, #6
 5096 009e 03F00103 		and	r3, r3, #1
 5097              		.loc 1 2780 8
 5098 00a2 002B     		cmp	r3, #0
ARM GAS  /tmp/ccs34gJO.s 			page 139


 5099 00a4 23D0     		beq	.L268
2781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
2782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if (hspi->State != HAL_SPI_STATE_BUSY_TX)
 5100              		.loc 1 2782 15
 5101 00a6 7B68     		ldr	r3, [r7, #4]
 5102 00a8 93F85D30 		ldrb	r3, [r3, #93]
 5103 00ac DBB2     		uxtb	r3, r3
 5104              		.loc 1 2782 10
 5105 00ae 032B     		cmp	r3, #3
 5106 00b0 11D0     		beq	.L269
2783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
2784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_OVR);
 5107              		.loc 1 2784 9
 5108 00b2 7B68     		ldr	r3, [r7, #4]
 5109 00b4 1B6E     		ldr	r3, [r3, #96]
 5110 00b6 43F00402 		orr	r2, r3, #4
 5111 00ba 7B68     		ldr	r3, [r7, #4]
 5112 00bc 1A66     		str	r2, [r3, #96]
 5113              	.LBB7:
2785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         __HAL_SPI_CLEAR_OVRFLAG(hspi);
 5114              		.loc 1 2785 9
 5115 00be 0023     		movs	r3, #0
 5116 00c0 7B61     		str	r3, [r7, #20]
 5117 00c2 7B68     		ldr	r3, [r7, #4]
 5118 00c4 1B68     		ldr	r3, [r3]
 5119 00c6 DB68     		ldr	r3, [r3, #12]
 5120 00c8 7B61     		str	r3, [r7, #20]
 5121 00ca 7B68     		ldr	r3, [r7, #4]
 5122 00cc 1B68     		ldr	r3, [r3]
 5123 00ce 9B68     		ldr	r3, [r3, #8]
 5124 00d0 7B61     		str	r3, [r7, #20]
 5125 00d2 7B69     		ldr	r3, [r7, #20]
 5126              	.LBE7:
 5127 00d4 0BE0     		b	.L268
 5128              	.L269:
 5129              	.LBB8:
2786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
2787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       else
2788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
2789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         __HAL_SPI_CLEAR_OVRFLAG(hspi);
 5130              		.loc 1 2789 9
 5131 00d6 0023     		movs	r3, #0
 5132 00d8 3B61     		str	r3, [r7, #16]
 5133 00da 7B68     		ldr	r3, [r7, #4]
 5134 00dc 1B68     		ldr	r3, [r3]
 5135 00de DB68     		ldr	r3, [r3, #12]
 5136 00e0 3B61     		str	r3, [r7, #16]
 5137 00e2 7B68     		ldr	r3, [r7, #4]
 5138 00e4 1B68     		ldr	r3, [r3]
 5139 00e6 9B68     		ldr	r3, [r3, #8]
 5140 00e8 3B61     		str	r3, [r7, #16]
 5141 00ea 3B69     		ldr	r3, [r7, #16]
 5142              	.LBE8:
2790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         return;
 5143              		.loc 1 2790 9
 5144 00ec 82E0     		b	.L263
 5145              	.L268:
ARM GAS  /tmp/ccs34gJO.s 			page 140


2791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
2792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
2793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* SPI Mode Fault error interrupt occurred -------------------------------*/
2795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (SPI_CHECK_FLAG(itflag, SPI_FLAG_MODF) != RESET)
 5146              		.loc 1 2795 9
 5147 00ee BB69     		ldr	r3, [r7, #24]
 5148 00f0 5B09     		lsrs	r3, r3, #5
 5149 00f2 03F00103 		and	r3, r3, #1
 5150              		.loc 1 2795 8
 5151 00f6 002B     		cmp	r3, #0
 5152 00f8 14D0     		beq	.L270
2796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
2797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_MODF);
 5153              		.loc 1 2797 7
 5154 00fa 7B68     		ldr	r3, [r7, #4]
 5155 00fc 1B6E     		ldr	r3, [r3, #96]
 5156 00fe 43F00102 		orr	r2, r3, #1
 5157 0102 7B68     		ldr	r3, [r7, #4]
 5158 0104 1A66     		str	r2, [r3, #96]
 5159              	.LBB9:
2798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       __HAL_SPI_CLEAR_MODFFLAG(hspi);
 5160              		.loc 1 2798 7
 5161 0106 0023     		movs	r3, #0
 5162 0108 FB60     		str	r3, [r7, #12]
 5163 010a 7B68     		ldr	r3, [r7, #4]
 5164 010c 1B68     		ldr	r3, [r3]
 5165 010e 9B68     		ldr	r3, [r3, #8]
 5166 0110 FB60     		str	r3, [r7, #12]
 5167 0112 7B68     		ldr	r3, [r7, #4]
 5168 0114 1B68     		ldr	r3, [r3]
 5169 0116 1A68     		ldr	r2, [r3]
 5170 0118 7B68     		ldr	r3, [r7, #4]
 5171 011a 1B68     		ldr	r3, [r3]
 5172 011c 22F04002 		bic	r2, r2, #64
 5173 0120 1A60     		str	r2, [r3]
 5174 0122 FB68     		ldr	r3, [r7, #12]
 5175              	.L270:
 5176              	.LBE9:
2799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
2800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* SPI Frame error interrupt occurred ------------------------------------*/
2802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (SPI_CHECK_FLAG(itflag, SPI_FLAG_FRE) != RESET)
 5177              		.loc 1 2802 9
 5178 0124 BB69     		ldr	r3, [r7, #24]
 5179 0126 1B0A     		lsrs	r3, r3, #8
 5180 0128 03F00103 		and	r3, r3, #1
 5181              		.loc 1 2802 8
 5182 012c 002B     		cmp	r3, #0
 5183 012e 0CD0     		beq	.L271
2803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
2804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FRE);
 5184              		.loc 1 2804 7
 5185 0130 7B68     		ldr	r3, [r7, #4]
 5186 0132 1B6E     		ldr	r3, [r3, #96]
 5187 0134 43F00802 		orr	r2, r3, #8
 5188 0138 7B68     		ldr	r3, [r7, #4]
ARM GAS  /tmp/ccs34gJO.s 			page 141


 5189 013a 1A66     		str	r2, [r3, #96]
 5190              	.LBB10:
2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       __HAL_SPI_CLEAR_FREFLAG(hspi);
 5191              		.loc 1 2805 7
 5192 013c 0023     		movs	r3, #0
 5193 013e BB60     		str	r3, [r7, #8]
 5194 0140 7B68     		ldr	r3, [r7, #4]
 5195 0142 1B68     		ldr	r3, [r3]
 5196 0144 9B68     		ldr	r3, [r3, #8]
 5197 0146 BB60     		str	r3, [r7, #8]
 5198 0148 BB68     		ldr	r3, [r7, #8]
 5199              	.L271:
 5200              	.LBE10:
2806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
2807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
 5201              		.loc 1 2808 13
 5202 014a 7B68     		ldr	r3, [r7, #4]
 5203 014c 1B6E     		ldr	r3, [r3, #96]
 5204              		.loc 1 2808 8
 5205 014e 002B     		cmp	r3, #0
 5206 0150 4FD0     		beq	.L277
2809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
2810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Disable all interrupts */
2811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       __HAL_SPI_DISABLE_IT(hspi, SPI_IT_RXNE | SPI_IT_TXE | SPI_IT_ERR);
 5207              		.loc 1 2811 7
 5208 0152 7B68     		ldr	r3, [r7, #4]
 5209 0154 1B68     		ldr	r3, [r3]
 5210 0156 5A68     		ldr	r2, [r3, #4]
 5211 0158 7B68     		ldr	r3, [r7, #4]
 5212 015a 1B68     		ldr	r3, [r3]
 5213 015c 22F0E002 		bic	r2, r2, #224
 5214 0160 5A60     		str	r2, [r3, #4]
2812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->State = HAL_SPI_STATE_READY;
 5215              		.loc 1 2813 19
 5216 0162 7B68     		ldr	r3, [r7, #4]
 5217 0164 0122     		movs	r2, #1
 5218 0166 83F85D20 		strb	r2, [r3, #93]
2814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Disable the SPI DMA requests if enabled */
2815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if ((HAL_IS_BIT_SET(itsource, SPI_CR2_TXDMAEN)) || (HAL_IS_BIT_SET(itsource, SPI_CR2_RXDMAEN)
 5219              		.loc 1 2815 12
 5220 016a FB69     		ldr	r3, [r7, #28]
 5221 016c 03F00203 		and	r3, r3, #2
 5222              		.loc 1 2815 10
 5223 0170 002B     		cmp	r3, #0
 5224 0172 04D1     		bne	.L273
 5225              		.loc 1 2815 59 discriminator 1
 5226 0174 FB69     		ldr	r3, [r7, #28]
 5227 0176 03F00103 		and	r3, r3, #1
 5228              		.loc 1 2815 55 discriminator 1
 5229 017a 002B     		cmp	r3, #0
 5230 017c 34D0     		beq	.L274
 5231              	.L273:
2816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
2817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN));
 5232              		.loc 1 2817 9
ARM GAS  /tmp/ccs34gJO.s 			page 142


 5233 017e 7B68     		ldr	r3, [r7, #4]
 5234 0180 1B68     		ldr	r3, [r3]
 5235 0182 5A68     		ldr	r2, [r3, #4]
 5236 0184 7B68     		ldr	r3, [r7, #4]
 5237 0186 1B68     		ldr	r3, [r3]
 5238 0188 22F00302 		bic	r2, r2, #3
 5239 018c 5A60     		str	r2, [r3, #4]
2818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Abort the SPI DMA Rx channel */
2820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         if (hspi->hdmarx != NULL)
 5240              		.loc 1 2820 17
 5241 018e 7B68     		ldr	r3, [r7, #4]
 5242 0190 9B6D     		ldr	r3, [r3, #88]
 5243              		.loc 1 2820 12
 5244 0192 002B     		cmp	r3, #0
 5245 0194 11D0     		beq	.L275
2821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         {
2822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           /* Set the SPI DMA Abort callback :
2823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           will lead to call HAL_SPI_ErrorCallback() at end of DMA abort procedure */
2824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           hspi->hdmarx->XferAbortCallback = SPI_DMAAbortOnError;
 5246              		.loc 1 2824 15
 5247 0196 7B68     		ldr	r3, [r7, #4]
 5248 0198 9B6D     		ldr	r3, [r3, #88]
 5249              		.loc 1 2824 43
 5250 019a 184A     		ldr	r2, .L279
 5251 019c 5A63     		str	r2, [r3, #52]
2825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           if (HAL_OK != HAL_DMA_Abort_IT(hspi->hdmarx))
 5252              		.loc 1 2825 25
 5253 019e 7B68     		ldr	r3, [r7, #4]
 5254 01a0 9B6D     		ldr	r3, [r3, #88]
 5255 01a2 1846     		mov	r0, r3
 5256 01a4 FFF7FEFF 		bl	HAL_DMA_Abort_IT
 5257 01a8 0346     		mov	r3, r0
 5258              		.loc 1 2825 14 discriminator 1
 5259 01aa 002B     		cmp	r3, #0
 5260 01ac 05D0     		beq	.L275
2826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           {
2827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
 5261              		.loc 1 2827 13
 5262 01ae 7B68     		ldr	r3, [r7, #4]
 5263 01b0 1B6E     		ldr	r3, [r3, #96]
 5264 01b2 43F04002 		orr	r2, r3, #64
 5265 01b6 7B68     		ldr	r3, [r7, #4]
 5266 01b8 1A66     		str	r2, [r3, #96]
 5267              	.L275:
2828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           }
2829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         }
2830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Abort the SPI DMA Tx channel */
2831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         if (hspi->hdmatx != NULL)
 5268              		.loc 1 2831 17
 5269 01ba 7B68     		ldr	r3, [r7, #4]
 5270 01bc 5B6D     		ldr	r3, [r3, #84]
 5271              		.loc 1 2831 12
 5272 01be 002B     		cmp	r3, #0
 5273 01c0 16D0     		beq	.L278
2832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         {
2833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           /* Set the SPI DMA Abort callback :
ARM GAS  /tmp/ccs34gJO.s 			page 143


2834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           will lead to call HAL_SPI_ErrorCallback() at end of DMA abort procedure */
2835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           hspi->hdmatx->XferAbortCallback = SPI_DMAAbortOnError;
 5274              		.loc 1 2835 15
 5275 01c2 7B68     		ldr	r3, [r7, #4]
 5276 01c4 5B6D     		ldr	r3, [r3, #84]
 5277              		.loc 1 2835 43
 5278 01c6 0D4A     		ldr	r2, .L279
 5279 01c8 5A63     		str	r2, [r3, #52]
2836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           if (HAL_OK != HAL_DMA_Abort_IT(hspi->hdmatx))
 5280              		.loc 1 2836 25
 5281 01ca 7B68     		ldr	r3, [r7, #4]
 5282 01cc 5B6D     		ldr	r3, [r3, #84]
 5283 01ce 1846     		mov	r0, r3
 5284 01d0 FFF7FEFF 		bl	HAL_DMA_Abort_IT
 5285 01d4 0346     		mov	r3, r0
 5286              		.loc 1 2836 14 discriminator 1
 5287 01d6 002B     		cmp	r3, #0
 5288 01d8 0AD0     		beq	.L278
2837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           {
2838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
 5289              		.loc 1 2838 13
 5290 01da 7B68     		ldr	r3, [r7, #4]
 5291 01dc 1B6E     		ldr	r3, [r3, #96]
 5292 01de 43F04002 		orr	r2, r3, #64
 5293 01e2 7B68     		ldr	r3, [r7, #4]
 5294 01e4 1A66     		str	r2, [r3, #96]
2831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         {
 5295              		.loc 1 2831 12
 5296 01e6 03E0     		b	.L278
 5297              	.L274:
2839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           }
2840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         }
2841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
2842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       else
2843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
2844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Call user error callback */
2845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
2846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->ErrorCallback(hspi);
2847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
2848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         HAL_SPI_ErrorCallback(hspi);
 5298              		.loc 1 2848 9
 5299 01e8 7868     		ldr	r0, [r7, #4]
 5300 01ea FFF7FEFF 		bl	HAL_SPI_ErrorCallback
2849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
2850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
2851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
2852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     return;
 5301              		.loc 1 2852 5
 5302 01ee 00E0     		b	.L277
 5303              	.L278:
2831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         {
 5304              		.loc 1 2831 12
 5305 01f0 00BF     		nop
 5306              	.L277:
 5307              		.loc 1 2852 5
 5308 01f2 00BF     		nop
 5309              	.L263:
ARM GAS  /tmp/ccs34gJO.s 			page 144


2853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
2854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 5310              		.loc 1 2854 1
 5311 01f4 2037     		adds	r7, r7, #32
 5312              		.cfi_def_cfa_offset 8
 5313 01f6 BD46     		mov	sp, r7
 5314              		.cfi_def_cfa_register 13
 5315              		@ sp needed
 5316 01f8 80BD     		pop	{r7, pc}
 5317              	.L280:
 5318 01fa 00BF     		.align	2
 5319              	.L279:
 5320 01fc 00000000 		.word	SPI_DMAAbortOnError
 5321              		.cfi_endproc
 5322              	.LFE148:
 5324              		.section	.text.HAL_SPI_TxCpltCallback,"ax",%progbits
 5325              		.align	1
 5326              		.weak	HAL_SPI_TxCpltCallback
 5327              		.syntax unified
 5328              		.thumb
 5329              		.thumb_func
 5331              	HAL_SPI_TxCpltCallback:
 5332              	.LFB149:
2855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Tx Transfer completed callback.
2858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
2859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
2860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
2861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
2862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __weak void HAL_SPI_TxCpltCallback(SPI_HandleTypeDef *hspi)
2863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 5333              		.loc 1 2863 1
 5334              		.cfi_startproc
 5335              		@ args = 0, pretend = 0, frame = 8
 5336              		@ frame_needed = 1, uses_anonymous_args = 0
 5337              		@ link register save eliminated.
 5338 0000 80B4     		push	{r7}
 5339              		.cfi_def_cfa_offset 4
 5340              		.cfi_offset 7, -4
 5341 0002 83B0     		sub	sp, sp, #12
 5342              		.cfi_def_cfa_offset 16
 5343 0004 00AF     		add	r7, sp, #0
 5344              		.cfi_def_cfa_register 7
 5345 0006 7860     		str	r0, [r7, #4]
2864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Prevent unused argument(s) compilation warning */
2865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   UNUSED(hspi);
2866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* NOTE : This function should not be modified, when the callback is needed,
2868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             the HAL_SPI_TxCpltCallback should be implemented in the user file
2869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****    */
2870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 5346              		.loc 1 2870 1
 5347 0008 00BF     		nop
 5348 000a 0C37     		adds	r7, r7, #12
 5349              		.cfi_def_cfa_offset 4
 5350 000c BD46     		mov	sp, r7
ARM GAS  /tmp/ccs34gJO.s 			page 145


 5351              		.cfi_def_cfa_register 13
 5352              		@ sp needed
 5353 000e 5DF8047B 		ldr	r7, [sp], #4
 5354              		.cfi_restore 7
 5355              		.cfi_def_cfa_offset 0
 5356 0012 7047     		bx	lr
 5357              		.cfi_endproc
 5358              	.LFE149:
 5360              		.section	.text.HAL_SPI_RxCpltCallback,"ax",%progbits
 5361              		.align	1
 5362              		.weak	HAL_SPI_RxCpltCallback
 5363              		.syntax unified
 5364              		.thumb
 5365              		.thumb_func
 5367              	HAL_SPI_RxCpltCallback:
 5368              	.LFB150:
2871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Rx Transfer completed callback.
2874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
2875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
2876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
2877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
2878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __weak void HAL_SPI_RxCpltCallback(SPI_HandleTypeDef *hspi)
2879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 5369              		.loc 1 2879 1
 5370              		.cfi_startproc
 5371              		@ args = 0, pretend = 0, frame = 8
 5372              		@ frame_needed = 1, uses_anonymous_args = 0
 5373              		@ link register save eliminated.
 5374 0000 80B4     		push	{r7}
 5375              		.cfi_def_cfa_offset 4
 5376              		.cfi_offset 7, -4
 5377 0002 83B0     		sub	sp, sp, #12
 5378              		.cfi_def_cfa_offset 16
 5379 0004 00AF     		add	r7, sp, #0
 5380              		.cfi_def_cfa_register 7
 5381 0006 7860     		str	r0, [r7, #4]
2880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Prevent unused argument(s) compilation warning */
2881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   UNUSED(hspi);
2882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* NOTE : This function should not be modified, when the callback is needed,
2884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             the HAL_SPI_RxCpltCallback should be implemented in the user file
2885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****    */
2886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 5382              		.loc 1 2886 1
 5383 0008 00BF     		nop
 5384 000a 0C37     		adds	r7, r7, #12
 5385              		.cfi_def_cfa_offset 4
 5386 000c BD46     		mov	sp, r7
 5387              		.cfi_def_cfa_register 13
 5388              		@ sp needed
 5389 000e 5DF8047B 		ldr	r7, [sp], #4
 5390              		.cfi_restore 7
 5391              		.cfi_def_cfa_offset 0
 5392 0012 7047     		bx	lr
 5393              		.cfi_endproc
ARM GAS  /tmp/ccs34gJO.s 			page 146


 5394              	.LFE150:
 5396              		.section	.text.HAL_SPI_TxRxCpltCallback,"ax",%progbits
 5397              		.align	1
 5398              		.weak	HAL_SPI_TxRxCpltCallback
 5399              		.syntax unified
 5400              		.thumb
 5401              		.thumb_func
 5403              	HAL_SPI_TxRxCpltCallback:
 5404              	.LFB151:
2887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Tx and Rx Transfer completed callback.
2890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
2891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
2892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
2893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
2894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __weak void HAL_SPI_TxRxCpltCallback(SPI_HandleTypeDef *hspi)
2895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 5405              		.loc 1 2895 1
 5406              		.cfi_startproc
 5407              		@ args = 0, pretend = 0, frame = 8
 5408              		@ frame_needed = 1, uses_anonymous_args = 0
 5409              		@ link register save eliminated.
 5410 0000 80B4     		push	{r7}
 5411              		.cfi_def_cfa_offset 4
 5412              		.cfi_offset 7, -4
 5413 0002 83B0     		sub	sp, sp, #12
 5414              		.cfi_def_cfa_offset 16
 5415 0004 00AF     		add	r7, sp, #0
 5416              		.cfi_def_cfa_register 7
 5417 0006 7860     		str	r0, [r7, #4]
2896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Prevent unused argument(s) compilation warning */
2897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   UNUSED(hspi);
2898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* NOTE : This function should not be modified, when the callback is needed,
2900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             the HAL_SPI_TxRxCpltCallback should be implemented in the user file
2901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****    */
2902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 5418              		.loc 1 2902 1
 5419 0008 00BF     		nop
 5420 000a 0C37     		adds	r7, r7, #12
 5421              		.cfi_def_cfa_offset 4
 5422 000c BD46     		mov	sp, r7
 5423              		.cfi_def_cfa_register 13
 5424              		@ sp needed
 5425 000e 5DF8047B 		ldr	r7, [sp], #4
 5426              		.cfi_restore 7
 5427              		.cfi_def_cfa_offset 0
 5428 0012 7047     		bx	lr
 5429              		.cfi_endproc
 5430              	.LFE151:
 5432              		.section	.text.HAL_SPI_TxHalfCpltCallback,"ax",%progbits
 5433              		.align	1
 5434              		.weak	HAL_SPI_TxHalfCpltCallback
 5435              		.syntax unified
 5436              		.thumb
 5437              		.thumb_func
ARM GAS  /tmp/ccs34gJO.s 			page 147


 5439              	HAL_SPI_TxHalfCpltCallback:
 5440              	.LFB152:
2903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Tx Half Transfer completed callback.
2906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
2907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
2908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
2909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
2910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __weak void HAL_SPI_TxHalfCpltCallback(SPI_HandleTypeDef *hspi)
2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 5441              		.loc 1 2911 1
 5442              		.cfi_startproc
 5443              		@ args = 0, pretend = 0, frame = 8
 5444              		@ frame_needed = 1, uses_anonymous_args = 0
 5445              		@ link register save eliminated.
 5446 0000 80B4     		push	{r7}
 5447              		.cfi_def_cfa_offset 4
 5448              		.cfi_offset 7, -4
 5449 0002 83B0     		sub	sp, sp, #12
 5450              		.cfi_def_cfa_offset 16
 5451 0004 00AF     		add	r7, sp, #0
 5452              		.cfi_def_cfa_register 7
 5453 0006 7860     		str	r0, [r7, #4]
2912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Prevent unused argument(s) compilation warning */
2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   UNUSED(hspi);
2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* NOTE : This function should not be modified, when the callback is needed,
2916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             the HAL_SPI_TxHalfCpltCallback should be implemented in the user file
2917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****    */
2918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 5454              		.loc 1 2918 1
 5455 0008 00BF     		nop
 5456 000a 0C37     		adds	r7, r7, #12
 5457              		.cfi_def_cfa_offset 4
 5458 000c BD46     		mov	sp, r7
 5459              		.cfi_def_cfa_register 13
 5460              		@ sp needed
 5461 000e 5DF8047B 		ldr	r7, [sp], #4
 5462              		.cfi_restore 7
 5463              		.cfi_def_cfa_offset 0
 5464 0012 7047     		bx	lr
 5465              		.cfi_endproc
 5466              	.LFE152:
 5468              		.section	.text.HAL_SPI_RxHalfCpltCallback,"ax",%progbits
 5469              		.align	1
 5470              		.weak	HAL_SPI_RxHalfCpltCallback
 5471              		.syntax unified
 5472              		.thumb
 5473              		.thumb_func
 5475              	HAL_SPI_RxHalfCpltCallback:
 5476              	.LFB153:
2919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Rx Half Transfer completed callback.
2922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
2923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
ARM GAS  /tmp/ccs34gJO.s 			page 148


2924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
2925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
2926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __weak void HAL_SPI_RxHalfCpltCallback(SPI_HandleTypeDef *hspi)
2927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 5477              		.loc 1 2927 1
 5478              		.cfi_startproc
 5479              		@ args = 0, pretend = 0, frame = 8
 5480              		@ frame_needed = 1, uses_anonymous_args = 0
 5481              		@ link register save eliminated.
 5482 0000 80B4     		push	{r7}
 5483              		.cfi_def_cfa_offset 4
 5484              		.cfi_offset 7, -4
 5485 0002 83B0     		sub	sp, sp, #12
 5486              		.cfi_def_cfa_offset 16
 5487 0004 00AF     		add	r7, sp, #0
 5488              		.cfi_def_cfa_register 7
 5489 0006 7860     		str	r0, [r7, #4]
2928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Prevent unused argument(s) compilation warning */
2929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   UNUSED(hspi);
2930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* NOTE : This function should not be modified, when the callback is needed,
2932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             the HAL_SPI_RxHalfCpltCallback() should be implemented in the user file
2933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****    */
2934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 5490              		.loc 1 2934 1
 5491 0008 00BF     		nop
 5492 000a 0C37     		adds	r7, r7, #12
 5493              		.cfi_def_cfa_offset 4
 5494 000c BD46     		mov	sp, r7
 5495              		.cfi_def_cfa_register 13
 5496              		@ sp needed
 5497 000e 5DF8047B 		ldr	r7, [sp], #4
 5498              		.cfi_restore 7
 5499              		.cfi_def_cfa_offset 0
 5500 0012 7047     		bx	lr
 5501              		.cfi_endproc
 5502              	.LFE153:
 5504              		.section	.text.HAL_SPI_TxRxHalfCpltCallback,"ax",%progbits
 5505              		.align	1
 5506              		.weak	HAL_SPI_TxRxHalfCpltCallback
 5507              		.syntax unified
 5508              		.thumb
 5509              		.thumb_func
 5511              	HAL_SPI_TxRxHalfCpltCallback:
 5512              	.LFB154:
2935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Tx and Rx Half Transfer callback.
2938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
2939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
2940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
2941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
2942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __weak void HAL_SPI_TxRxHalfCpltCallback(SPI_HandleTypeDef *hspi)
2943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 5513              		.loc 1 2943 1
 5514              		.cfi_startproc
 5515              		@ args = 0, pretend = 0, frame = 8
ARM GAS  /tmp/ccs34gJO.s 			page 149


 5516              		@ frame_needed = 1, uses_anonymous_args = 0
 5517              		@ link register save eliminated.
 5518 0000 80B4     		push	{r7}
 5519              		.cfi_def_cfa_offset 4
 5520              		.cfi_offset 7, -4
 5521 0002 83B0     		sub	sp, sp, #12
 5522              		.cfi_def_cfa_offset 16
 5523 0004 00AF     		add	r7, sp, #0
 5524              		.cfi_def_cfa_register 7
 5525 0006 7860     		str	r0, [r7, #4]
2944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Prevent unused argument(s) compilation warning */
2945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   UNUSED(hspi);
2946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* NOTE : This function should not be modified, when the callback is needed,
2948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             the HAL_SPI_TxRxHalfCpltCallback() should be implemented in the user file
2949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****    */
2950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 5526              		.loc 1 2950 1
 5527 0008 00BF     		nop
 5528 000a 0C37     		adds	r7, r7, #12
 5529              		.cfi_def_cfa_offset 4
 5530 000c BD46     		mov	sp, r7
 5531              		.cfi_def_cfa_register 13
 5532              		@ sp needed
 5533 000e 5DF8047B 		ldr	r7, [sp], #4
 5534              		.cfi_restore 7
 5535              		.cfi_def_cfa_offset 0
 5536 0012 7047     		bx	lr
 5537              		.cfi_endproc
 5538              	.LFE154:
 5540              		.section	.text.HAL_SPI_ErrorCallback,"ax",%progbits
 5541              		.align	1
 5542              		.weak	HAL_SPI_ErrorCallback
 5543              		.syntax unified
 5544              		.thumb
 5545              		.thumb_func
 5547              	HAL_SPI_ErrorCallback:
 5548              	.LFB155:
2951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  SPI error callback.
2954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
2955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
2956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
2957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
2958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __weak void HAL_SPI_ErrorCallback(SPI_HandleTypeDef *hspi)
2959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 5549              		.loc 1 2959 1
 5550              		.cfi_startproc
 5551              		@ args = 0, pretend = 0, frame = 8
 5552              		@ frame_needed = 1, uses_anonymous_args = 0
 5553              		@ link register save eliminated.
 5554 0000 80B4     		push	{r7}
 5555              		.cfi_def_cfa_offset 4
 5556              		.cfi_offset 7, -4
 5557 0002 83B0     		sub	sp, sp, #12
 5558              		.cfi_def_cfa_offset 16
ARM GAS  /tmp/ccs34gJO.s 			page 150


 5559 0004 00AF     		add	r7, sp, #0
 5560              		.cfi_def_cfa_register 7
 5561 0006 7860     		str	r0, [r7, #4]
2960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Prevent unused argument(s) compilation warning */
2961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   UNUSED(hspi);
2962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* NOTE : This function should not be modified, when the callback is needed,
2964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             the HAL_SPI_ErrorCallback should be implemented in the user file
2965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****    */
2966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* NOTE : The ErrorCode parameter in the hspi handle is updated by the SPI processes
2967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             and user can use HAL_SPI_GetError() API to check the latest error occurred
2968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****    */
2969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 5562              		.loc 1 2969 1
 5563 0008 00BF     		nop
 5564 000a 0C37     		adds	r7, r7, #12
 5565              		.cfi_def_cfa_offset 4
 5566 000c BD46     		mov	sp, r7
 5567              		.cfi_def_cfa_register 13
 5568              		@ sp needed
 5569 000e 5DF8047B 		ldr	r7, [sp], #4
 5570              		.cfi_restore 7
 5571              		.cfi_def_cfa_offset 0
 5572 0012 7047     		bx	lr
 5573              		.cfi_endproc
 5574              	.LFE155:
 5576              		.section	.text.HAL_SPI_AbortCpltCallback,"ax",%progbits
 5577              		.align	1
 5578              		.weak	HAL_SPI_AbortCpltCallback
 5579              		.syntax unified
 5580              		.thumb
 5581              		.thumb_func
 5583              	HAL_SPI_AbortCpltCallback:
 5584              	.LFB156:
2970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  SPI Abort Complete callback.
2973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi SPI handle.
2974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
2975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
2976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __weak void HAL_SPI_AbortCpltCallback(SPI_HandleTypeDef *hspi)
2977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 5585              		.loc 1 2977 1
 5586              		.cfi_startproc
 5587              		@ args = 0, pretend = 0, frame = 8
 5588              		@ frame_needed = 1, uses_anonymous_args = 0
 5589              		@ link register save eliminated.
 5590 0000 80B4     		push	{r7}
 5591              		.cfi_def_cfa_offset 4
 5592              		.cfi_offset 7, -4
 5593 0002 83B0     		sub	sp, sp, #12
 5594              		.cfi_def_cfa_offset 16
 5595 0004 00AF     		add	r7, sp, #0
 5596              		.cfi_def_cfa_register 7
 5597 0006 7860     		str	r0, [r7, #4]
2978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Prevent unused argument(s) compilation warning */
2979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   UNUSED(hspi);
ARM GAS  /tmp/ccs34gJO.s 			page 151


2980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* NOTE : This function should not be modified, when the callback is needed,
2982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             the HAL_SPI_AbortCpltCallback can be implemented in the user file.
2983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****    */
2984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 5598              		.loc 1 2984 1
 5599 0008 00BF     		nop
 5600 000a 0C37     		adds	r7, r7, #12
 5601              		.cfi_def_cfa_offset 4
 5602 000c BD46     		mov	sp, r7
 5603              		.cfi_def_cfa_register 13
 5604              		@ sp needed
 5605 000e 5DF8047B 		ldr	r7, [sp], #4
 5606              		.cfi_restore 7
 5607              		.cfi_def_cfa_offset 0
 5608 0012 7047     		bx	lr
 5609              		.cfi_endproc
 5610              	.LFE156:
 5612              		.section	.text.HAL_SPI_GetState,"ax",%progbits
 5613              		.align	1
 5614              		.global	HAL_SPI_GetState
 5615              		.syntax unified
 5616              		.thumb
 5617              		.thumb_func
 5619              	HAL_SPI_GetState:
 5620              	.LFB157:
2985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @}
2988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
2989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
2990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /** @defgroup SPI_Exported_Functions_Group3 Peripheral State and Errors functions
2991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief   SPI control functions
2992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *
2993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** @verbatim
2994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****  ===============================================================================
2995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                       ##### Peripheral State and Errors functions #####
2996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****  ===============================================================================
2997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     [..]
2998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     This subsection provides a set of functions allowing to control the SPI.
2999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****      (+) HAL_SPI_GetState() API can be helpful to check in run-time the state of the SPI peripheral
3000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****      (+) HAL_SPI_GetError() check in run-time Errors occurring during communication
3001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** @endverbatim
3002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @{
3003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
3004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Return the SPI handle state.
3007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
3008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
3009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval SPI state
3010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
3011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_StateTypeDef HAL_SPI_GetState(SPI_HandleTypeDef *hspi)
3012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 5621              		.loc 1 3012 1
 5622              		.cfi_startproc
 5623              		@ args = 0, pretend = 0, frame = 8
ARM GAS  /tmp/ccs34gJO.s 			page 152


 5624              		@ frame_needed = 1, uses_anonymous_args = 0
 5625              		@ link register save eliminated.
 5626 0000 80B4     		push	{r7}
 5627              		.cfi_def_cfa_offset 4
 5628              		.cfi_offset 7, -4
 5629 0002 83B0     		sub	sp, sp, #12
 5630              		.cfi_def_cfa_offset 16
 5631 0004 00AF     		add	r7, sp, #0
 5632              		.cfi_def_cfa_register 7
 5633 0006 7860     		str	r0, [r7, #4]
3013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Return SPI handle state */
3014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   return hspi->State;
 5634              		.loc 1 3014 14
 5635 0008 7B68     		ldr	r3, [r7, #4]
 5636 000a 93F85D30 		ldrb	r3, [r3, #93]
 5637 000e DBB2     		uxtb	r3, r3
3015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 5638              		.loc 1 3015 1
 5639 0010 1846     		mov	r0, r3
 5640 0012 0C37     		adds	r7, r7, #12
 5641              		.cfi_def_cfa_offset 4
 5642 0014 BD46     		mov	sp, r7
 5643              		.cfi_def_cfa_register 13
 5644              		@ sp needed
 5645 0016 5DF8047B 		ldr	r7, [sp], #4
 5646              		.cfi_restore 7
 5647              		.cfi_def_cfa_offset 0
 5648 001a 7047     		bx	lr
 5649              		.cfi_endproc
 5650              	.LFE157:
 5652              		.section	.text.HAL_SPI_GetError,"ax",%progbits
 5653              		.align	1
 5654              		.global	HAL_SPI_GetError
 5655              		.syntax unified
 5656              		.thumb
 5657              		.thumb_func
 5659              	HAL_SPI_GetError:
 5660              	.LFB158:
3016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Return the SPI error code.
3019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
3020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
3021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval SPI error code in bitmap format
3022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
3023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t HAL_SPI_GetError(SPI_HandleTypeDef *hspi)
3024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 5661              		.loc 1 3024 1
 5662              		.cfi_startproc
 5663              		@ args = 0, pretend = 0, frame = 8
 5664              		@ frame_needed = 1, uses_anonymous_args = 0
 5665              		@ link register save eliminated.
 5666 0000 80B4     		push	{r7}
 5667              		.cfi_def_cfa_offset 4
 5668              		.cfi_offset 7, -4
 5669 0002 83B0     		sub	sp, sp, #12
 5670              		.cfi_def_cfa_offset 16
ARM GAS  /tmp/ccs34gJO.s 			page 153


 5671 0004 00AF     		add	r7, sp, #0
 5672              		.cfi_def_cfa_register 7
 5673 0006 7860     		str	r0, [r7, #4]
3025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Return SPI ErrorCode */
3026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   return hspi->ErrorCode;
 5674              		.loc 1 3026 14
 5675 0008 7B68     		ldr	r3, [r7, #4]
 5676 000a 1B6E     		ldr	r3, [r3, #96]
3027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 5677              		.loc 1 3027 1
 5678 000c 1846     		mov	r0, r3
 5679 000e 0C37     		adds	r7, r7, #12
 5680              		.cfi_def_cfa_offset 4
 5681 0010 BD46     		mov	sp, r7
 5682              		.cfi_def_cfa_register 13
 5683              		@ sp needed
 5684 0012 5DF8047B 		ldr	r7, [sp], #4
 5685              		.cfi_restore 7
 5686              		.cfi_def_cfa_offset 0
 5687 0016 7047     		bx	lr
 5688              		.cfi_endproc
 5689              	.LFE158:
 5691              		.section	.text.SPI_DMATransmitCplt,"ax",%progbits
 5692              		.align	1
 5693              		.syntax unified
 5694              		.thumb
 5695              		.thumb_func
 5697              	SPI_DMATransmitCplt:
 5698              	.LFB159:
3028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @}
3031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
3032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @}
3035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
3036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /** @addtogroup SPI_Private_Functions
3038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief   Private functions
3039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @{
3040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
3041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  DMA SPI transmit process complete callback.
3044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hdma pointer to a DMA_HandleTypeDef structure that contains
3045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for the specified DMA module.
3046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
3047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
3048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMATransmitCplt(DMA_HandleTypeDef *hdma)
3049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 5699              		.loc 1 3049 1
 5700              		.cfi_startproc
 5701              		@ args = 0, pretend = 0, frame = 24
 5702              		@ frame_needed = 1, uses_anonymous_args = 0
 5703 0000 80B5     		push	{r7, lr}
 5704              		.cfi_def_cfa_offset 8
ARM GAS  /tmp/ccs34gJO.s 			page 154


 5705              		.cfi_offset 7, -8
 5706              		.cfi_offset 14, -4
 5707 0002 86B0     		sub	sp, sp, #24
 5708              		.cfi_def_cfa_offset 32
 5709 0004 00AF     		add	r7, sp, #0
 5710              		.cfi_def_cfa_register 7
 5711 0006 7860     		str	r0, [r7, #4]
3050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
 5712              		.loc 1 3050 22
 5713 0008 7B68     		ldr	r3, [r7, #4]
 5714 000a 5B6A     		ldr	r3, [r3, #36]
 5715 000c 7B61     		str	r3, [r7, #20]
3051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   uint32_t tickstart;
3052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Init tickstart for timeout management*/
3054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   tickstart = HAL_GetTick();
 5716              		.loc 1 3054 15
 5717 000e FFF7FEFF 		bl	HAL_GetTick
 5718 0012 3861     		str	r0, [r7, #16]
3055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* DMA Normal Mode */
3057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((hdma->Instance->CCR & DMA_CCR_CIRC) != DMA_CCR_CIRC)
 5719              		.loc 1 3057 12
 5720 0014 7B68     		ldr	r3, [r7, #4]
 5721 0016 1B68     		ldr	r3, [r3]
 5722              		.loc 1 3057 22
 5723 0018 1B68     		ldr	r3, [r3]
 5724              		.loc 1 3057 28
 5725 001a 03F02003 		and	r3, r3, #32
 5726              		.loc 1 3057 6
 5727 001e 202B     		cmp	r3, #32
 5728 0020 3BD0     		beq	.L294
3058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
3059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Disable ERR interrupt */
3060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     __HAL_SPI_DISABLE_IT(hspi, SPI_IT_ERR);
 5729              		.loc 1 3060 5
 5730 0022 7B69     		ldr	r3, [r7, #20]
 5731 0024 1B68     		ldr	r3, [r3]
 5732 0026 5A68     		ldr	r2, [r3, #4]
 5733 0028 7B69     		ldr	r3, [r7, #20]
 5734 002a 1B68     		ldr	r3, [r3]
 5735 002c 22F02002 		bic	r2, r2, #32
 5736 0030 5A60     		str	r2, [r3, #4]
3061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Disable Tx DMA Request */
3063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN);
 5737              		.loc 1 3063 5
 5738 0032 7B69     		ldr	r3, [r7, #20]
 5739 0034 1B68     		ldr	r3, [r3]
 5740 0036 5A68     		ldr	r2, [r3, #4]
 5741 0038 7B69     		ldr	r3, [r7, #20]
 5742 003a 1B68     		ldr	r3, [r3]
 5743 003c 22F00202 		bic	r2, r2, #2
 5744 0040 5A60     		str	r2, [r3, #4]
3064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Check the end of the transaction */
3066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, tickstart) != HAL_OK)
ARM GAS  /tmp/ccs34gJO.s 			page 155


 5745              		.loc 1 3066 9
 5746 0042 3A69     		ldr	r2, [r7, #16]
 5747 0044 6421     		movs	r1, #100
 5748 0046 7869     		ldr	r0, [r7, #20]
 5749 0048 FFF7FEFF 		bl	SPI_EndRxTxTransaction
 5750 004c 0346     		mov	r3, r0
 5751              		.loc 1 3066 8 discriminator 1
 5752 004e 002B     		cmp	r3, #0
 5753 0050 05D0     		beq	.L295
3067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
3068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
 5754              		.loc 1 3068 7
 5755 0052 7B69     		ldr	r3, [r7, #20]
 5756 0054 1B6E     		ldr	r3, [r3, #96]
 5757 0056 43F02002 		orr	r2, r3, #32
 5758 005a 7B69     		ldr	r3, [r7, #20]
 5759 005c 1A66     		str	r2, [r3, #96]
 5760              	.L295:
3069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
3070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Clear overrun flag in 2 Lines communication mode because received data is not read */
3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->Init.Direction == SPI_DIRECTION_2LINES)
 5761              		.loc 1 3072 19
 5762 005e 7B69     		ldr	r3, [r7, #20]
 5763 0060 9B68     		ldr	r3, [r3, #8]
 5764              		.loc 1 3072 8
 5765 0062 002B     		cmp	r3, #0
 5766 0064 0AD1     		bne	.L296
 5767              	.LBB11:
3073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
3074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       __HAL_SPI_CLEAR_OVRFLAG(hspi);
 5768              		.loc 1 3074 7
 5769 0066 0023     		movs	r3, #0
 5770 0068 FB60     		str	r3, [r7, #12]
 5771 006a 7B69     		ldr	r3, [r7, #20]
 5772 006c 1B68     		ldr	r3, [r3]
 5773 006e DB68     		ldr	r3, [r3, #12]
 5774 0070 FB60     		str	r3, [r7, #12]
 5775 0072 7B69     		ldr	r3, [r7, #20]
 5776 0074 1B68     		ldr	r3, [r3]
 5777 0076 9B68     		ldr	r3, [r3, #8]
 5778 0078 FB60     		str	r3, [r7, #12]
 5779 007a FB68     		ldr	r3, [r7, #12]
 5780              	.L296:
 5781              	.LBE11:
3075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
3076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->TxXferCount = 0U;
 5782              		.loc 1 3077 23
 5783 007c 7B69     		ldr	r3, [r7, #20]
 5784 007e 0022     		movs	r2, #0
 5785 0080 DA87     		strh	r2, [r3, #62]	@ movhi
3078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->State = HAL_SPI_STATE_READY;
 5786              		.loc 1 3078 17
 5787 0082 7B69     		ldr	r3, [r7, #20]
 5788 0084 0122     		movs	r2, #1
 5789 0086 83F85D20 		strb	r2, [r3, #93]
ARM GAS  /tmp/ccs34gJO.s 			page 156


3079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
 5790              		.loc 1 3080 13
 5791 008a 7B69     		ldr	r3, [r7, #20]
 5792 008c 1B6E     		ldr	r3, [r3, #96]
 5793              		.loc 1 3080 8
 5794 008e 002B     		cmp	r3, #0
 5795 0090 03D0     		beq	.L294
3081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
3082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Call user error callback */
3083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->ErrorCallback(hspi);
3085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       HAL_SPI_ErrorCallback(hspi);
 5796              		.loc 1 3086 7
 5797 0092 7869     		ldr	r0, [r7, #20]
 5798 0094 FFF7FEFF 		bl	HAL_SPI_ErrorCallback
3087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       return;
 5799              		.loc 1 3088 7
 5800 0098 02E0     		b	.L293
 5801              	.L294:
3089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
3090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
3091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Call user Tx complete callback */
3092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxCpltCallback(hspi);
3094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   HAL_SPI_TxCpltCallback(hspi);
 5802              		.loc 1 3095 3
 5803 009a 7869     		ldr	r0, [r7, #20]
 5804 009c FFF7FEFF 		bl	HAL_SPI_TxCpltCallback
 5805              	.L293:
3096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 5806              		.loc 1 3097 1
 5807 00a0 1837     		adds	r7, r7, #24
 5808              		.cfi_def_cfa_offset 8
 5809 00a2 BD46     		mov	sp, r7
 5810              		.cfi_def_cfa_register 13
 5811              		@ sp needed
 5812 00a4 80BD     		pop	{r7, pc}
 5813              		.cfi_endproc
 5814              	.LFE159:
 5816              		.section	.text.SPI_DMAReceiveCplt,"ax",%progbits
 5817              		.align	1
 5818              		.syntax unified
 5819              		.thumb
 5820              		.thumb_func
 5822              	SPI_DMAReceiveCplt:
 5823              	.LFB160:
3098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  DMA SPI receive process complete callback.
3101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hdma pointer to a DMA_HandleTypeDef structure that contains
3102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for the specified DMA module.
3103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
ARM GAS  /tmp/ccs34gJO.s 			page 157


3104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
3105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAReceiveCplt(DMA_HandleTypeDef *hdma)
3106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 5824              		.loc 1 3106 1
 5825              		.cfi_startproc
 5826              		@ args = 0, pretend = 0, frame = 16
 5827              		@ frame_needed = 1, uses_anonymous_args = 0
 5828 0000 80B5     		push	{r7, lr}
 5829              		.cfi_def_cfa_offset 8
 5830              		.cfi_offset 7, -8
 5831              		.cfi_offset 14, -4
 5832 0002 84B0     		sub	sp, sp, #16
 5833              		.cfi_def_cfa_offset 24
 5834 0004 00AF     		add	r7, sp, #0
 5835              		.cfi_def_cfa_register 7
 5836 0006 7860     		str	r0, [r7, #4]
3107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
 5837              		.loc 1 3107 22
 5838 0008 7B68     		ldr	r3, [r7, #4]
 5839 000a 5B6A     		ldr	r3, [r3, #36]
 5840 000c FB60     		str	r3, [r7, #12]
3108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   uint32_t tickstart;
3109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __IO uint32_t tmpreg = 0U;
3111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __IO uint8_t  *ptmpreg8;
3112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __IO uint8_t  tmpreg8 = 0;
3113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Init tickstart for timeout management*/
3116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   tickstart = HAL_GetTick();
 5841              		.loc 1 3116 15
 5842 000e FFF7FEFF 		bl	HAL_GetTick
 5843 0012 B860     		str	r0, [r7, #8]
3117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* DMA Normal Mode */
3119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((hdma->Instance->CCR & DMA_CCR_CIRC) != DMA_CCR_CIRC)
 5844              		.loc 1 3119 12
 5845 0014 7B68     		ldr	r3, [r7, #4]
 5846 0016 1B68     		ldr	r3, [r3]
 5847              		.loc 1 3119 22
 5848 0018 1B68     		ldr	r3, [r3]
 5849              		.loc 1 3119 28
 5850 001a 03F02003 		and	r3, r3, #32
 5851              		.loc 1 3119 6
 5852 001e 202B     		cmp	r3, #32
 5853 0020 3CD0     		beq	.L299
3120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
3121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Disable ERR interrupt */
3122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     __HAL_SPI_DISABLE_IT(hspi, SPI_IT_ERR);
 5854              		.loc 1 3122 5
 5855 0022 FB68     		ldr	r3, [r7, #12]
 5856 0024 1B68     		ldr	r3, [r3]
 5857 0026 5A68     		ldr	r2, [r3, #4]
 5858 0028 FB68     		ldr	r3, [r7, #12]
 5859 002a 1B68     		ldr	r3, [r3]
 5860 002c 22F02002 		bic	r2, r2, #32
 5861 0030 5A60     		str	r2, [r3, #4]
ARM GAS  /tmp/ccs34gJO.s 			page 158


3123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* CRC handling */
3126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
3128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Wait until RXNE flag */
3129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SET, SPI_DEFAULT_TIMEOUT, tickstart) !
3130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
3131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Error on the CRC reception */
3132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
3133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
3134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Read CRC */
3135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
3136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
3137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Read 16bit CRC */
3138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         tmpreg = READ_REG(hspi->Instance->DR);
3139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* To avoid GCC warning */
3140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         UNUSED(tmpreg);
3141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
3142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       else
3143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
3144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Initialize the 8bit temporary pointer */
3145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         ptmpreg8 = (__IO uint8_t *)&hspi->Instance->DR;
3146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Read 8bit CRC */
3147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         tmpreg8 = *ptmpreg8;
3148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* To avoid GCC warning */
3149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         UNUSED(tmpreg8);
3150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         if (hspi->Init.CRCLength == SPI_CRC_LENGTH_16BIT)
3152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         {
3153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SET, SPI_DEFAULT_TIMEOUT, tickstar
3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           {
3155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             /* Error on the CRC reception */
3156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****             SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
3157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           }
3158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           /* Read 8bit CRC again in case of 16bit CRC in 8bit Data mode */
3159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           tmpreg8 = *ptmpreg8;
3160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           /* To avoid GCC warning */
3161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           UNUSED(tmpreg8);
3162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         }
3163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
3164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
3165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Check if we are in Master RX 2 line mode */
3168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if ((hspi->Init.Direction == SPI_DIRECTION_2LINES) && (hspi->Init.Mode == SPI_MODE_MASTER))
 5862              		.loc 1 3168 20
 5863 0032 FB68     		ldr	r3, [r7, #12]
 5864 0034 9B68     		ldr	r3, [r3, #8]
 5865              		.loc 1 3168 8
 5866 0036 002B     		cmp	r3, #0
 5867 0038 0DD1     		bne	.L300
 5868              		.loc 1 3168 70 discriminator 1
 5869 003a FB68     		ldr	r3, [r7, #12]
 5870 003c 5B68     		ldr	r3, [r3, #4]
 5871              		.loc 1 3168 56 discriminator 1
 5872 003e B3F5827F 		cmp	r3, #260
ARM GAS  /tmp/ccs34gJO.s 			page 159


 5873 0042 08D1     		bne	.L300
3169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
3170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Disable Rx/Tx DMA Request (done by default to handle the case master rx direction 2 lines)
3171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN);
 5874              		.loc 1 3171 7
 5875 0044 FB68     		ldr	r3, [r7, #12]
 5876 0046 1B68     		ldr	r3, [r3]
 5877 0048 5A68     		ldr	r2, [r3, #4]
 5878 004a FB68     		ldr	r3, [r7, #12]
 5879 004c 1B68     		ldr	r3, [r3]
 5880 004e 22F00302 		bic	r2, r2, #3
 5881 0052 5A60     		str	r2, [r3, #4]
 5882 0054 07E0     		b	.L301
 5883              	.L300:
3172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
3173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     else
3174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
3175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Normal case */
3176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_RXDMAEN);
 5884              		.loc 1 3176 7
 5885 0056 FB68     		ldr	r3, [r7, #12]
 5886 0058 1B68     		ldr	r3, [r3]
 5887 005a 5A68     		ldr	r2, [r3, #4]
 5888 005c FB68     		ldr	r3, [r7, #12]
 5889 005e 1B68     		ldr	r3, [r3]
 5890 0060 22F00102 		bic	r2, r2, #1
 5891 0064 5A60     		str	r2, [r3, #4]
 5892              	.L301:
3177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
3178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Check the end of the transaction */
3180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (SPI_EndRxTransaction(hspi, SPI_DEFAULT_TIMEOUT, tickstart) != HAL_OK)
 5893              		.loc 1 3180 9
 5894 0066 BA68     		ldr	r2, [r7, #8]
 5895 0068 6421     		movs	r1, #100
 5896 006a F868     		ldr	r0, [r7, #12]
 5897 006c FFF7FEFF 		bl	SPI_EndRxTransaction
 5898 0070 0346     		mov	r3, r0
 5899              		.loc 1 3180 8 discriminator 1
 5900 0072 002B     		cmp	r3, #0
 5901 0074 02D0     		beq	.L302
3181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
3182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->ErrorCode = HAL_SPI_ERROR_FLAG;
 5902              		.loc 1 3182 23
 5903 0076 FB68     		ldr	r3, [r7, #12]
 5904 0078 2022     		movs	r2, #32
 5905 007a 1A66     		str	r2, [r3, #96]
 5906              	.L302:
3183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
3184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->RxXferCount = 0U;
 5907              		.loc 1 3185 23
 5908 007c FB68     		ldr	r3, [r7, #12]
 5909 007e 0022     		movs	r2, #0
 5910 0080 A3F84620 		strh	r2, [r3, #70]	@ movhi
3186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->State = HAL_SPI_STATE_READY;
 5911              		.loc 1 3186 17
ARM GAS  /tmp/ccs34gJO.s 			page 160


 5912 0084 FB68     		ldr	r3, [r7, #12]
 5913 0086 0122     		movs	r2, #1
 5914 0088 83F85D20 		strb	r2, [r3, #93]
3187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Check if CRC error occurred */
3190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_CRCERR))
3191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
3192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
3193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       __HAL_SPI_CLEAR_CRCERRFLAG(hspi);
3194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
3195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
 5915              		.loc 1 3197 13
 5916 008c FB68     		ldr	r3, [r7, #12]
 5917 008e 1B6E     		ldr	r3, [r3, #96]
 5918              		.loc 1 3197 8
 5919 0090 002B     		cmp	r3, #0
 5920 0092 03D0     		beq	.L299
3198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
3199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Call user error callback */
3200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->ErrorCallback(hspi);
3202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       HAL_SPI_ErrorCallback(hspi);
 5921              		.loc 1 3203 7
 5922 0094 F868     		ldr	r0, [r7, #12]
 5923 0096 FFF7FEFF 		bl	HAL_SPI_ErrorCallback
3204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       return;
 5924              		.loc 1 3205 7
 5925 009a 02E0     		b	.L298
 5926              	.L299:
3206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
3207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
3208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Call user Rx complete callback */
3209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxCpltCallback(hspi);
3211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   HAL_SPI_RxCpltCallback(hspi);
 5927              		.loc 1 3212 3
 5928 009c F868     		ldr	r0, [r7, #12]
 5929 009e FFF7FEFF 		bl	HAL_SPI_RxCpltCallback
 5930              	.L298:
3213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 5931              		.loc 1 3214 1
 5932 00a2 1037     		adds	r7, r7, #16
 5933              		.cfi_def_cfa_offset 8
 5934 00a4 BD46     		mov	sp, r7
 5935              		.cfi_def_cfa_register 13
 5936              		@ sp needed
 5937 00a6 80BD     		pop	{r7, pc}
 5938              		.cfi_endproc
 5939              	.LFE160:
 5941              		.section	.text.SPI_DMATransmitReceiveCplt,"ax",%progbits
ARM GAS  /tmp/ccs34gJO.s 			page 161


 5942              		.align	1
 5943              		.syntax unified
 5944              		.thumb
 5945              		.thumb_func
 5947              	SPI_DMATransmitReceiveCplt:
 5948              	.LFB161:
3215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  DMA SPI transmit receive process complete callback.
3218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hdma pointer to a DMA_HandleTypeDef structure that contains
3219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for the specified DMA module.
3220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
3221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
3222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMATransmitReceiveCplt(DMA_HandleTypeDef *hdma)
3223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 5949              		.loc 1 3223 1
 5950              		.cfi_startproc
 5951              		@ args = 0, pretend = 0, frame = 16
 5952              		@ frame_needed = 1, uses_anonymous_args = 0
 5953 0000 80B5     		push	{r7, lr}
 5954              		.cfi_def_cfa_offset 8
 5955              		.cfi_offset 7, -8
 5956              		.cfi_offset 14, -4
 5957 0002 84B0     		sub	sp, sp, #16
 5958              		.cfi_def_cfa_offset 24
 5959 0004 00AF     		add	r7, sp, #0
 5960              		.cfi_def_cfa_register 7
 5961 0006 7860     		str	r0, [r7, #4]
3224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
 5962              		.loc 1 3224 22
 5963 0008 7B68     		ldr	r3, [r7, #4]
 5964 000a 5B6A     		ldr	r3, [r3, #36]
 5965 000c FB60     		str	r3, [r7, #12]
3225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   uint32_t tickstart;
3226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __IO uint32_t tmpreg = 0U;
3228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __IO uint8_t  *ptmpreg8;
3229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __IO uint8_t  tmpreg8 = 0;
3230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Init tickstart for timeout management*/
3233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   tickstart = HAL_GetTick();
 5966              		.loc 1 3233 15
 5967 000e FFF7FEFF 		bl	HAL_GetTick
 5968 0012 B860     		str	r0, [r7, #8]
3234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* DMA Normal Mode */
3236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((hdma->Instance->CCR & DMA_CCR_CIRC) != DMA_CCR_CIRC)
 5969              		.loc 1 3236 12
 5970 0014 7B68     		ldr	r3, [r7, #4]
 5971 0016 1B68     		ldr	r3, [r3]
 5972              		.loc 1 3236 22
 5973 0018 1B68     		ldr	r3, [r3]
 5974              		.loc 1 3236 28
 5975 001a 03F02003 		and	r3, r3, #32
 5976              		.loc 1 3236 6
 5977 001e 202B     		cmp	r3, #32
ARM GAS  /tmp/ccs34gJO.s 			page 162


 5978 0020 30D0     		beq	.L305
3237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
3238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Disable ERR interrupt */
3239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     __HAL_SPI_DISABLE_IT(hspi, SPI_IT_ERR);
 5979              		.loc 1 3239 5
 5980 0022 FB68     		ldr	r3, [r7, #12]
 5981 0024 1B68     		ldr	r3, [r3]
 5982 0026 5A68     		ldr	r2, [r3, #4]
 5983 0028 FB68     		ldr	r3, [r7, #12]
 5984 002a 1B68     		ldr	r3, [r3]
 5985 002c 22F02002 		bic	r2, r2, #32
 5986 0030 5A60     		str	r2, [r3, #4]
3240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* CRC handling */
3243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
3245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if ((hspi->Init.DataSize == SPI_DATASIZE_8BIT) && (hspi->Init.CRCLength == SPI_CRC_LENGTH_8BI
3246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
3247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_QUARTER_FULL, SPI_DEFAULT
3248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                           tickstart) != HAL_OK)
3249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         {
3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           /* Error on the CRC reception */
3251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
3252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         }
3253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Initialize the 8bit temporary pointer */
3254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         ptmpreg8 = (__IO uint8_t *)&hspi->Instance->DR;
3255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Read 8bit CRC */
3256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         tmpreg8 = *ptmpreg8;
3257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* To avoid GCC warning */
3258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         UNUSED(tmpreg8);
3259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
3260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       else
3261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
3262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_HALF_FULL, SPI_DEFAULT_TI
3263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         {
3264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           /* Error on the CRC reception */
3265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
3266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         }
3267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Read CRC to Flush DR and RXNE flag */
3268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         tmpreg = READ_REG(hspi->Instance->DR);
3269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* To avoid GCC warning */
3270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         UNUSED(tmpreg);
3271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
3272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
3273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Check the end of the transaction */
3276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, tickstart) != HAL_OK)
 5987              		.loc 1 3276 9
 5988 0032 BA68     		ldr	r2, [r7, #8]
 5989 0034 6421     		movs	r1, #100
 5990 0036 F868     		ldr	r0, [r7, #12]
 5991 0038 FFF7FEFF 		bl	SPI_EndRxTxTransaction
 5992 003c 0346     		mov	r3, r0
 5993              		.loc 1 3276 8 discriminator 1
 5994 003e 002B     		cmp	r3, #0
ARM GAS  /tmp/ccs34gJO.s 			page 163


 5995 0040 05D0     		beq	.L306
3277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
3278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
 5996              		.loc 1 3278 7
 5997 0042 FB68     		ldr	r3, [r7, #12]
 5998 0044 1B6E     		ldr	r3, [r3, #96]
 5999 0046 43F02002 		orr	r2, r3, #32
 6000 004a FB68     		ldr	r3, [r7, #12]
 6001 004c 1A66     		str	r2, [r3, #96]
 6002              	.L306:
3279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
3280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Disable Rx/Tx DMA Request */
3282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN);
 6003              		.loc 1 3282 5
 6004 004e FB68     		ldr	r3, [r7, #12]
 6005 0050 1B68     		ldr	r3, [r3]
 6006 0052 5A68     		ldr	r2, [r3, #4]
 6007 0054 FB68     		ldr	r3, [r7, #12]
 6008 0056 1B68     		ldr	r3, [r3]
 6009 0058 22F00302 		bic	r2, r2, #3
 6010 005c 5A60     		str	r2, [r3, #4]
3283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->TxXferCount = 0U;
 6011              		.loc 1 3284 23
 6012 005e FB68     		ldr	r3, [r7, #12]
 6013 0060 0022     		movs	r2, #0
 6014 0062 DA87     		strh	r2, [r3, #62]	@ movhi
3285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->RxXferCount = 0U;
 6015              		.loc 1 3285 23
 6016 0064 FB68     		ldr	r3, [r7, #12]
 6017 0066 0022     		movs	r2, #0
 6018 0068 A3F84620 		strh	r2, [r3, #70]	@ movhi
3286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->State = HAL_SPI_STATE_READY;
 6019              		.loc 1 3286 17
 6020 006c FB68     		ldr	r3, [r7, #12]
 6021 006e 0122     		movs	r2, #1
 6022 0070 83F85D20 		strb	r2, [r3, #93]
3287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Check if CRC error occurred */
3290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_CRCERR))
3291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
3292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
3293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       __HAL_SPI_CLEAR_CRCERRFLAG(hspi);
3294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
3295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
 6023              		.loc 1 3297 13
 6024 0074 FB68     		ldr	r3, [r7, #12]
 6025 0076 1B6E     		ldr	r3, [r3, #96]
 6026              		.loc 1 3297 8
 6027 0078 002B     		cmp	r3, #0
 6028 007a 03D0     		beq	.L305
3298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
3299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Call user error callback */
ARM GAS  /tmp/ccs34gJO.s 			page 164


3300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->ErrorCallback(hspi);
3302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       HAL_SPI_ErrorCallback(hspi);
 6029              		.loc 1 3303 7
 6030 007c F868     		ldr	r0, [r7, #12]
 6031 007e FFF7FEFF 		bl	HAL_SPI_ErrorCallback
3304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       return;
 6032              		.loc 1 3305 7
 6033 0082 02E0     		b	.L304
 6034              	.L305:
3306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
3307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
3308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Call user TxRx complete callback */
3309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxRxCpltCallback(hspi);
3311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   HAL_SPI_TxRxCpltCallback(hspi);
 6035              		.loc 1 3312 3
 6036 0084 F868     		ldr	r0, [r7, #12]
 6037 0086 FFF7FEFF 		bl	HAL_SPI_TxRxCpltCallback
 6038              	.L304:
3313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 6039              		.loc 1 3314 1
 6040 008a 1037     		adds	r7, r7, #16
 6041              		.cfi_def_cfa_offset 8
 6042 008c BD46     		mov	sp, r7
 6043              		.cfi_def_cfa_register 13
 6044              		@ sp needed
 6045 008e 80BD     		pop	{r7, pc}
 6046              		.cfi_endproc
 6047              	.LFE161:
 6049              		.section	.text.SPI_DMAHalfTransmitCplt,"ax",%progbits
 6050              		.align	1
 6051              		.syntax unified
 6052              		.thumb
 6053              		.thumb_func
 6055              	SPI_DMAHalfTransmitCplt:
 6056              	.LFB162:
3315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  DMA SPI half transmit process complete callback.
3318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hdma pointer to a DMA_HandleTypeDef structure that contains
3319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for the specified DMA module.
3320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
3321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
3322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAHalfTransmitCplt(DMA_HandleTypeDef *hdma)
3323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 6057              		.loc 1 3323 1
 6058              		.cfi_startproc
 6059              		@ args = 0, pretend = 0, frame = 16
 6060              		@ frame_needed = 1, uses_anonymous_args = 0
 6061 0000 80B5     		push	{r7, lr}
 6062              		.cfi_def_cfa_offset 8
 6063              		.cfi_offset 7, -8
ARM GAS  /tmp/ccs34gJO.s 			page 165


 6064              		.cfi_offset 14, -4
 6065 0002 84B0     		sub	sp, sp, #16
 6066              		.cfi_def_cfa_offset 24
 6067 0004 00AF     		add	r7, sp, #0
 6068              		.cfi_def_cfa_register 7
 6069 0006 7860     		str	r0, [r7, #4]
3324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
 6070              		.loc 1 3324 22
 6071 0008 7B68     		ldr	r3, [r7, #4]
 6072 000a 5B6A     		ldr	r3, [r3, #36]
 6073 000c FB60     		str	r3, [r7, #12]
3325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Call user Tx half complete callback */
3327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxHalfCpltCallback(hspi);
3329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   HAL_SPI_TxHalfCpltCallback(hspi);
 6074              		.loc 1 3330 3
 6075 000e F868     		ldr	r0, [r7, #12]
 6076 0010 FFF7FEFF 		bl	HAL_SPI_TxHalfCpltCallback
3331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 6077              		.loc 1 3332 1
 6078 0014 00BF     		nop
 6079 0016 1037     		adds	r7, r7, #16
 6080              		.cfi_def_cfa_offset 8
 6081 0018 BD46     		mov	sp, r7
 6082              		.cfi_def_cfa_register 13
 6083              		@ sp needed
 6084 001a 80BD     		pop	{r7, pc}
 6085              		.cfi_endproc
 6086              	.LFE162:
 6088              		.section	.text.SPI_DMAHalfReceiveCplt,"ax",%progbits
 6089              		.align	1
 6090              		.syntax unified
 6091              		.thumb
 6092              		.thumb_func
 6094              	SPI_DMAHalfReceiveCplt:
 6095              	.LFB163:
3333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  DMA SPI half receive process complete callback
3336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hdma pointer to a DMA_HandleTypeDef structure that contains
3337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for the specified DMA module.
3338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
3339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
3340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAHalfReceiveCplt(DMA_HandleTypeDef *hdma)
3341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 6096              		.loc 1 3341 1
 6097              		.cfi_startproc
 6098              		@ args = 0, pretend = 0, frame = 16
 6099              		@ frame_needed = 1, uses_anonymous_args = 0
 6100 0000 80B5     		push	{r7, lr}
 6101              		.cfi_def_cfa_offset 8
 6102              		.cfi_offset 7, -8
 6103              		.cfi_offset 14, -4
 6104 0002 84B0     		sub	sp, sp, #16
ARM GAS  /tmp/ccs34gJO.s 			page 166


 6105              		.cfi_def_cfa_offset 24
 6106 0004 00AF     		add	r7, sp, #0
 6107              		.cfi_def_cfa_register 7
 6108 0006 7860     		str	r0, [r7, #4]
3342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
 6109              		.loc 1 3342 22
 6110 0008 7B68     		ldr	r3, [r7, #4]
 6111 000a 5B6A     		ldr	r3, [r3, #36]
 6112 000c FB60     		str	r3, [r7, #12]
3343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Call user Rx half complete callback */
3345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxHalfCpltCallback(hspi);
3347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   HAL_SPI_RxHalfCpltCallback(hspi);
 6113              		.loc 1 3348 3
 6114 000e F868     		ldr	r0, [r7, #12]
 6115 0010 FFF7FEFF 		bl	HAL_SPI_RxHalfCpltCallback
3349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 6116              		.loc 1 3350 1
 6117 0014 00BF     		nop
 6118 0016 1037     		adds	r7, r7, #16
 6119              		.cfi_def_cfa_offset 8
 6120 0018 BD46     		mov	sp, r7
 6121              		.cfi_def_cfa_register 13
 6122              		@ sp needed
 6123 001a 80BD     		pop	{r7, pc}
 6124              		.cfi_endproc
 6125              	.LFE163:
 6127              		.section	.text.SPI_DMAHalfTransmitReceiveCplt,"ax",%progbits
 6128              		.align	1
 6129              		.syntax unified
 6130              		.thumb
 6131              		.thumb_func
 6133              	SPI_DMAHalfTransmitReceiveCplt:
 6134              	.LFB164:
3351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  DMA SPI half transmit receive process complete callback.
3354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hdma pointer to a DMA_HandleTypeDef structure that contains
3355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for the specified DMA module.
3356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
3357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
3358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAHalfTransmitReceiveCplt(DMA_HandleTypeDef *hdma)
3359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 6135              		.loc 1 3359 1
 6136              		.cfi_startproc
 6137              		@ args = 0, pretend = 0, frame = 16
 6138              		@ frame_needed = 1, uses_anonymous_args = 0
 6139 0000 80B5     		push	{r7, lr}
 6140              		.cfi_def_cfa_offset 8
 6141              		.cfi_offset 7, -8
 6142              		.cfi_offset 14, -4
 6143 0002 84B0     		sub	sp, sp, #16
 6144              		.cfi_def_cfa_offset 24
 6145 0004 00AF     		add	r7, sp, #0
ARM GAS  /tmp/ccs34gJO.s 			page 167


 6146              		.cfi_def_cfa_register 7
 6147 0006 7860     		str	r0, [r7, #4]
3360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
 6148              		.loc 1 3360 22
 6149 0008 7B68     		ldr	r3, [r7, #4]
 6150 000a 5B6A     		ldr	r3, [r3, #36]
 6151 000c FB60     		str	r3, [r7, #12]
3361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Call user TxRx half complete callback */
3363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxRxHalfCpltCallback(hspi);
3365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   HAL_SPI_TxRxHalfCpltCallback(hspi);
 6152              		.loc 1 3366 3
 6153 000e F868     		ldr	r0, [r7, #12]
 6154 0010 FFF7FEFF 		bl	HAL_SPI_TxRxHalfCpltCallback
3367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 6155              		.loc 1 3368 1
 6156 0014 00BF     		nop
 6157 0016 1037     		adds	r7, r7, #16
 6158              		.cfi_def_cfa_offset 8
 6159 0018 BD46     		mov	sp, r7
 6160              		.cfi_def_cfa_register 13
 6161              		@ sp needed
 6162 001a 80BD     		pop	{r7, pc}
 6163              		.cfi_endproc
 6164              	.LFE164:
 6166              		.section	.text.SPI_DMAError,"ax",%progbits
 6167              		.align	1
 6168              		.syntax unified
 6169              		.thumb
 6170              		.thumb_func
 6172              	SPI_DMAError:
 6173              	.LFB165:
3369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  DMA SPI communication error callback.
3372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hdma pointer to a DMA_HandleTypeDef structure that contains
3373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for the specified DMA module.
3374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
3375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
3376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAError(DMA_HandleTypeDef *hdma)
3377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 6174              		.loc 1 3377 1
 6175              		.cfi_startproc
 6176              		@ args = 0, pretend = 0, frame = 16
 6177              		@ frame_needed = 1, uses_anonymous_args = 0
 6178 0000 80B5     		push	{r7, lr}
 6179              		.cfi_def_cfa_offset 8
 6180              		.cfi_offset 7, -8
 6181              		.cfi_offset 14, -4
 6182 0002 84B0     		sub	sp, sp, #16
 6183              		.cfi_def_cfa_offset 24
 6184 0004 00AF     		add	r7, sp, #0
 6185              		.cfi_def_cfa_register 7
 6186 0006 7860     		str	r0, [r7, #4]
ARM GAS  /tmp/ccs34gJO.s 			page 168


3378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
 6187              		.loc 1 3378 22
 6188 0008 7B68     		ldr	r3, [r7, #4]
 6189 000a 5B6A     		ldr	r3, [r3, #36]
 6190 000c FB60     		str	r3, [r7, #12]
3379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Stop the disable DMA transfer on SPI side */
3381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN);
 6191              		.loc 1 3381 3
 6192 000e FB68     		ldr	r3, [r7, #12]
 6193 0010 1B68     		ldr	r3, [r3]
 6194 0012 5A68     		ldr	r2, [r3, #4]
 6195 0014 FB68     		ldr	r3, [r7, #12]
 6196 0016 1B68     		ldr	r3, [r3]
 6197 0018 22F00302 		bic	r2, r2, #3
 6198 001c 5A60     		str	r2, [r3, #4]
3382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
 6199              		.loc 1 3383 3
 6200 001e FB68     		ldr	r3, [r7, #12]
 6201 0020 1B6E     		ldr	r3, [r3, #96]
 6202 0022 43F01002 		orr	r2, r3, #16
 6203 0026 FB68     		ldr	r3, [r7, #12]
 6204 0028 1A66     		str	r2, [r3, #96]
3384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->State = HAL_SPI_STATE_READY;
 6205              		.loc 1 3384 15
 6206 002a FB68     		ldr	r3, [r7, #12]
 6207 002c 0122     		movs	r2, #1
 6208 002e 83F85D20 		strb	r2, [r3, #93]
3385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Call user error callback */
3386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->ErrorCallback(hspi);
3388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   HAL_SPI_ErrorCallback(hspi);
 6209              		.loc 1 3389 3
 6210 0032 F868     		ldr	r0, [r7, #12]
 6211 0034 FFF7FEFF 		bl	HAL_SPI_ErrorCallback
3390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 6212              		.loc 1 3391 1
 6213 0038 00BF     		nop
 6214 003a 1037     		adds	r7, r7, #16
 6215              		.cfi_def_cfa_offset 8
 6216 003c BD46     		mov	sp, r7
 6217              		.cfi_def_cfa_register 13
 6218              		@ sp needed
 6219 003e 80BD     		pop	{r7, pc}
 6220              		.cfi_endproc
 6221              	.LFE165:
 6223              		.section	.text.SPI_DMAAbortOnError,"ax",%progbits
 6224              		.align	1
 6225              		.syntax unified
 6226              		.thumb
 6227              		.thumb_func
 6229              	SPI_DMAAbortOnError:
 6230              	.LFB166:
3392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
ARM GAS  /tmp/ccs34gJO.s 			page 169


3393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  DMA SPI communication abort callback, when initiated by HAL services on Error
3395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *         (To be called at end of DMA Abort procedure following error occurrence).
3396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hdma DMA handle.
3397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
3398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
3399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAAbortOnError(DMA_HandleTypeDef *hdma)
3400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 6231              		.loc 1 3400 1
 6232              		.cfi_startproc
 6233              		@ args = 0, pretend = 0, frame = 16
 6234              		@ frame_needed = 1, uses_anonymous_args = 0
 6235 0000 80B5     		push	{r7, lr}
 6236              		.cfi_def_cfa_offset 8
 6237              		.cfi_offset 7, -8
 6238              		.cfi_offset 14, -4
 6239 0002 84B0     		sub	sp, sp, #16
 6240              		.cfi_def_cfa_offset 24
 6241 0004 00AF     		add	r7, sp, #0
 6242              		.cfi_def_cfa_register 7
 6243 0006 7860     		str	r0, [r7, #4]
3401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
 6244              		.loc 1 3401 22
 6245 0008 7B68     		ldr	r3, [r7, #4]
 6246 000a 5B6A     		ldr	r3, [r3, #36]
 6247 000c FB60     		str	r3, [r7, #12]
3402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxXferCount = 0U;
 6248              		.loc 1 3402 21
 6249 000e FB68     		ldr	r3, [r7, #12]
 6250 0010 0022     		movs	r2, #0
 6251 0012 A3F84620 		strh	r2, [r3, #70]	@ movhi
3403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxXferCount = 0U;
 6252              		.loc 1 3403 21
 6253 0016 FB68     		ldr	r3, [r7, #12]
 6254 0018 0022     		movs	r2, #0
 6255 001a DA87     		strh	r2, [r3, #62]	@ movhi
3404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Call user error callback */
3406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->ErrorCallback(hspi);
3408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   HAL_SPI_ErrorCallback(hspi);
 6256              		.loc 1 3409 3
 6257 001c F868     		ldr	r0, [r7, #12]
 6258 001e FFF7FEFF 		bl	HAL_SPI_ErrorCallback
3410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 6259              		.loc 1 3411 1
 6260 0022 00BF     		nop
 6261 0024 1037     		adds	r7, r7, #16
 6262              		.cfi_def_cfa_offset 8
 6263 0026 BD46     		mov	sp, r7
 6264              		.cfi_def_cfa_register 13
 6265              		@ sp needed
 6266 0028 80BD     		pop	{r7, pc}
 6267              		.cfi_endproc
 6268              	.LFE166:
ARM GAS  /tmp/ccs34gJO.s 			page 170


 6270              		.section	.text.SPI_DMATxAbortCallback,"ax",%progbits
 6271              		.align	1
 6272              		.syntax unified
 6273              		.thumb
 6274              		.thumb_func
 6276              	SPI_DMATxAbortCallback:
 6277              	.LFB167:
3412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  DMA SPI Tx communication abort callback, when initiated by user
3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *         (To be called at end of DMA Tx Abort procedure following user abort request).
3416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @note   When this callback is executed, User Abort complete call back is called only if no
3417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *         Abort still ongoing for Rx DMA Handle.
3418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hdma DMA handle.
3419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
3420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
3421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMATxAbortCallback(DMA_HandleTypeDef *hdma)
3422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 6278              		.loc 1 3422 1
 6279              		.cfi_startproc
 6280              		@ args = 0, pretend = 0, frame = 24
 6281              		@ frame_needed = 1, uses_anonymous_args = 0
 6282 0000 80B5     		push	{r7, lr}
 6283              		.cfi_def_cfa_offset 8
 6284              		.cfi_offset 7, -8
 6285              		.cfi_offset 14, -4
 6286 0002 88B0     		sub	sp, sp, #32
 6287              		.cfi_def_cfa_offset 40
 6288 0004 02AF     		add	r7, sp, #8
 6289              		.cfi_def_cfa 7, 32
 6290 0006 7860     		str	r0, [r7, #4]
3423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
 6291              		.loc 1 3423 22
 6292 0008 7B68     		ldr	r3, [r7, #4]
 6293 000a 5B6A     		ldr	r3, [r3, #36]
 6294 000c 7B61     		str	r3, [r7, #20]
3424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->hdmatx->XferAbortCallback = NULL;
 6295              		.loc 1 3425 7
 6296 000e 7B69     		ldr	r3, [r7, #20]
 6297 0010 5B6D     		ldr	r3, [r3, #84]
 6298              		.loc 1 3425 35
 6299 0012 0022     		movs	r2, #0
 6300 0014 5A63     		str	r2, [r3, #52]
3426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Disable Tx DMA Request */
3428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN);
 6301              		.loc 1 3428 3
 6302 0016 7B69     		ldr	r3, [r7, #20]
 6303 0018 1B68     		ldr	r3, [r3]
 6304 001a 5A68     		ldr	r2, [r3, #4]
 6305 001c 7B69     		ldr	r3, [r7, #20]
 6306 001e 1B68     		ldr	r3, [r3]
 6307 0020 22F00202 		bic	r2, r2, #2
 6308 0024 5A60     		str	r2, [r3, #4]
3429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, HAL_GetTick()) != HAL_OK)
ARM GAS  /tmp/ccs34gJO.s 			page 171


 6309              		.loc 1 3430 7
 6310 0026 FFF7FEFF 		bl	HAL_GetTick
 6311 002a 0346     		mov	r3, r0
 6312              		.loc 1 3430 7 is_stmt 0 discriminator 1
 6313 002c 1A46     		mov	r2, r3
 6314 002e 6421     		movs	r1, #100
 6315 0030 7869     		ldr	r0, [r7, #20]
 6316 0032 FFF7FEFF 		bl	SPI_EndRxTxTransaction
 6317 0036 0346     		mov	r3, r0
 6318              		.loc 1 3430 6 is_stmt 1 discriminator 2
 6319 0038 002B     		cmp	r3, #0
 6320 003a 02D0     		beq	.L314
3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
3432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
 6321              		.loc 1 3432 21
 6322 003c 7B69     		ldr	r3, [r7, #20]
 6323 003e 4022     		movs	r2, #64
 6324 0040 1A66     		str	r2, [r3, #96]
 6325              	.L314:
3433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
3434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Disable SPI Peripheral */
3436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_SPI_DISABLE(hspi);
 6326              		.loc 1 3436 3
 6327 0042 7B69     		ldr	r3, [r7, #20]
 6328 0044 1B68     		ldr	r3, [r3]
 6329 0046 1A68     		ldr	r2, [r3]
 6330 0048 7B69     		ldr	r3, [r7, #20]
 6331 004a 1B68     		ldr	r3, [r3]
 6332 004c 22F04002 		bic	r2, r2, #64
 6333 0050 1A60     		str	r2, [r3]
3437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Empty the FRLVL fifo */
3439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, SPI_DEFAULT_TIMEOUT, HAL
 6334              		.loc 1 3439 7
 6335 0052 FFF7FEFF 		bl	HAL_GetTick
 6336 0056 0346     		mov	r3, r0
 6337              		.loc 1 3439 7 is_stmt 0 discriminator 1
 6338 0058 0093     		str	r3, [sp]
 6339 005a 6423     		movs	r3, #100
 6340 005c 0022     		movs	r2, #0
 6341 005e 4FF4C061 		mov	r1, #1536
 6342 0062 7869     		ldr	r0, [r7, #20]
 6343 0064 FFF7FEFF 		bl	SPI_WaitFifoStateUntilTimeout
 6344 0068 0346     		mov	r3, r0
 6345              		.loc 1 3439 6 is_stmt 1 discriminator 2
 6346 006a 002B     		cmp	r3, #0
 6347 006c 02D0     		beq	.L315
3440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
3441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
 6348              		.loc 1 3441 21
 6349 006e 7B69     		ldr	r3, [r7, #20]
 6350 0070 4022     		movs	r2, #64
 6351 0072 1A66     		str	r2, [r3, #96]
 6352              	.L315:
3442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
3443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
ARM GAS  /tmp/ccs34gJO.s 			page 172


3444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check if an Abort process is still ongoing */
3445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->hdmarx != NULL)
 6353              		.loc 1 3445 11
 6354 0074 7B69     		ldr	r3, [r7, #20]
 6355 0076 9B6D     		ldr	r3, [r3, #88]
 6356              		.loc 1 3445 6
 6357 0078 002B     		cmp	r3, #0
 6358 007a 04D0     		beq	.L316
3446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
3447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->hdmarx->XferAbortCallback != NULL)
 6359              		.loc 1 3447 13
 6360 007c 7B69     		ldr	r3, [r7, #20]
 6361 007e 9B6D     		ldr	r3, [r3, #88]
 6362              		.loc 1 3447 21
 6363 0080 5B6B     		ldr	r3, [r3, #52]
 6364              		.loc 1 3447 8
 6365 0082 002B     		cmp	r3, #0
 6366 0084 27D1     		bne	.L319
 6367              	.L316:
3448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
3449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       return;
3450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
3451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
3452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* No Abort process still ongoing : All DMA Stream/Channel are aborted, call user Abort Complete 
3454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxXferCount = 0U;
 6368              		.loc 1 3454 21
 6369 0086 7B69     		ldr	r3, [r7, #20]
 6370 0088 0022     		movs	r2, #0
 6371 008a A3F84620 		strh	r2, [r3, #70]	@ movhi
3455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxXferCount = 0U;
 6372              		.loc 1 3455 21
 6373 008e 7B69     		ldr	r3, [r7, #20]
 6374 0090 0022     		movs	r2, #0
 6375 0092 DA87     		strh	r2, [r3, #62]	@ movhi
3456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check no error during Abort procedure */
3458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->ErrorCode != HAL_SPI_ERROR_ABORT)
 6376              		.loc 1 3458 11
 6377 0094 7B69     		ldr	r3, [r7, #20]
 6378 0096 1B6E     		ldr	r3, [r3, #96]
 6379              		.loc 1 3458 6
 6380 0098 402B     		cmp	r3, #64
 6381 009a 02D0     		beq	.L318
3459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
3460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Reset errorCode */
3461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->ErrorCode = HAL_SPI_ERROR_NONE;
 6382              		.loc 1 3461 21
 6383 009c 7B69     		ldr	r3, [r7, #20]
 6384 009e 0022     		movs	r2, #0
 6385 00a0 1A66     		str	r2, [r3, #96]
 6386              	.L318:
 6387              	.LBB12:
3462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
3463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Clear the Error flags in the SR register */
3465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_SPI_CLEAR_OVRFLAG(hspi);
ARM GAS  /tmp/ccs34gJO.s 			page 173


 6388              		.loc 1 3465 3
 6389 00a2 0023     		movs	r3, #0
 6390 00a4 3B61     		str	r3, [r7, #16]
 6391 00a6 7B69     		ldr	r3, [r7, #20]
 6392 00a8 1B68     		ldr	r3, [r3]
 6393 00aa DB68     		ldr	r3, [r3, #12]
 6394 00ac 3B61     		str	r3, [r7, #16]
 6395 00ae 7B69     		ldr	r3, [r7, #20]
 6396 00b0 1B68     		ldr	r3, [r3]
 6397 00b2 9B68     		ldr	r3, [r3, #8]
 6398 00b4 3B61     		str	r3, [r7, #16]
 6399 00b6 3B69     		ldr	r3, [r7, #16]
 6400              	.LBE12:
 6401              	.LBB13:
3466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_SPI_CLEAR_FREFLAG(hspi);
 6402              		.loc 1 3466 3
 6403 00b8 0023     		movs	r3, #0
 6404 00ba FB60     		str	r3, [r7, #12]
 6405 00bc 7B69     		ldr	r3, [r7, #20]
 6406 00be 1B68     		ldr	r3, [r3]
 6407 00c0 9B68     		ldr	r3, [r3, #8]
 6408 00c2 FB60     		str	r3, [r7, #12]
 6409 00c4 FB68     		ldr	r3, [r7, #12]
 6410              	.LBE13:
3467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Restore hspi->State to Ready */
3469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->State  = HAL_SPI_STATE_READY;
 6411              		.loc 1 3469 16
 6412 00c6 7B69     		ldr	r3, [r7, #20]
 6413 00c8 0122     		movs	r2, #1
 6414 00ca 83F85D20 		strb	r2, [r3, #93]
3470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Call user Abort complete callback */
3472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->AbortCpltCallback(hspi);
3474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   HAL_SPI_AbortCpltCallback(hspi);
 6415              		.loc 1 3475 3
 6416 00ce 7869     		ldr	r0, [r7, #20]
 6417 00d0 FFF7FEFF 		bl	HAL_SPI_AbortCpltCallback
 6418 00d4 00E0     		b	.L313
 6419              	.L319:
3449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
 6420              		.loc 1 3449 7
 6421 00d6 00BF     		nop
 6422              	.L313:
3476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 6423              		.loc 1 3477 1
 6424 00d8 1837     		adds	r7, r7, #24
 6425              		.cfi_def_cfa_offset 8
 6426 00da BD46     		mov	sp, r7
 6427              		.cfi_def_cfa_register 13
 6428              		@ sp needed
 6429 00dc 80BD     		pop	{r7, pc}
 6430              		.cfi_endproc
 6431              	.LFE167:
ARM GAS  /tmp/ccs34gJO.s 			page 174


 6433              		.section	.text.SPI_DMARxAbortCallback,"ax",%progbits
 6434              		.align	1
 6435              		.syntax unified
 6436              		.thumb
 6437              		.thumb_func
 6439              	SPI_DMARxAbortCallback:
 6440              	.LFB168:
3478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  DMA SPI Rx communication abort callback, when initiated by user
3481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *         (To be called at end of DMA Rx Abort procedure following user abort request).
3482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @note   When this callback is executed, User Abort complete call back is called only if no
3483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *         Abort still ongoing for Tx DMA Handle.
3484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hdma DMA handle.
3485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
3486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
3487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMARxAbortCallback(DMA_HandleTypeDef *hdma)
3488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 6441              		.loc 1 3488 1
 6442              		.cfi_startproc
 6443              		@ args = 0, pretend = 0, frame = 24
 6444              		@ frame_needed = 1, uses_anonymous_args = 0
 6445 0000 80B5     		push	{r7, lr}
 6446              		.cfi_def_cfa_offset 8
 6447              		.cfi_offset 7, -8
 6448              		.cfi_offset 14, -4
 6449 0002 88B0     		sub	sp, sp, #32
 6450              		.cfi_def_cfa_offset 40
 6451 0004 02AF     		add	r7, sp, #8
 6452              		.cfi_def_cfa 7, 32
 6453 0006 7860     		str	r0, [r7, #4]
3489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
 6454              		.loc 1 3489 22
 6455 0008 7B68     		ldr	r3, [r7, #4]
 6456 000a 5B6A     		ldr	r3, [r3, #36]
 6457 000c 7B61     		str	r3, [r7, #20]
3490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Disable SPI Peripheral */
3492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_SPI_DISABLE(hspi);
 6458              		.loc 1 3492 3
 6459 000e 7B69     		ldr	r3, [r7, #20]
 6460 0010 1B68     		ldr	r3, [r3]
 6461 0012 1A68     		ldr	r2, [r3]
 6462 0014 7B69     		ldr	r3, [r7, #20]
 6463 0016 1B68     		ldr	r3, [r3]
 6464 0018 22F04002 		bic	r2, r2, #64
 6465 001c 1A60     		str	r2, [r3]
3493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->hdmarx->XferAbortCallback = NULL;
 6466              		.loc 1 3494 7
 6467 001e 7B69     		ldr	r3, [r7, #20]
 6468 0020 9B6D     		ldr	r3, [r3, #88]
 6469              		.loc 1 3494 35
 6470 0022 0022     		movs	r2, #0
 6471 0024 5A63     		str	r2, [r3, #52]
3495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Disable Rx DMA Request */
ARM GAS  /tmp/ccs34gJO.s 			page 175


3497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_RXDMAEN);
 6472              		.loc 1 3497 3
 6473 0026 7B69     		ldr	r3, [r7, #20]
 6474 0028 1B68     		ldr	r3, [r3]
 6475 002a 5A68     		ldr	r2, [r3, #4]
 6476 002c 7B69     		ldr	r3, [r7, #20]
 6477 002e 1B68     		ldr	r3, [r3]
 6478 0030 22F00102 		bic	r2, r2, #1
 6479 0034 5A60     		str	r2, [r3, #4]
3498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Control the BSY flag */
3500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_BSY, RESET, SPI_DEFAULT_TIMEOUT, HAL_GetTick()) 
 6480              		.loc 1 3500 7
 6481 0036 FFF7FEFF 		bl	HAL_GetTick
 6482 003a 0346     		mov	r3, r0
 6483              		.loc 1 3500 7 is_stmt 0 discriminator 1
 6484 003c 0093     		str	r3, [sp]
 6485 003e 6423     		movs	r3, #100
 6486 0040 0022     		movs	r2, #0
 6487 0042 8021     		movs	r1, #128
 6488 0044 7869     		ldr	r0, [r7, #20]
 6489 0046 FFF7FEFF 		bl	SPI_WaitFlagStateUntilTimeout
 6490 004a 0346     		mov	r3, r0
 6491              		.loc 1 3500 6 is_stmt 1 discriminator 2
 6492 004c 002B     		cmp	r3, #0
 6493 004e 02D0     		beq	.L321
3501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
3502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
 6494              		.loc 1 3502 21
 6495 0050 7B69     		ldr	r3, [r7, #20]
 6496 0052 4022     		movs	r2, #64
 6497 0054 1A66     		str	r2, [r3, #96]
 6498              	.L321:
3503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
3504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Empty the FRLVL fifo */
3506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, SPI_DEFAULT_TIMEOUT, HAL
 6499              		.loc 1 3506 7
 6500 0056 FFF7FEFF 		bl	HAL_GetTick
 6501 005a 0346     		mov	r3, r0
 6502              		.loc 1 3506 7 is_stmt 0 discriminator 1
 6503 005c 0093     		str	r3, [sp]
 6504 005e 6423     		movs	r3, #100
 6505 0060 0022     		movs	r2, #0
 6506 0062 4FF4C061 		mov	r1, #1536
 6507 0066 7869     		ldr	r0, [r7, #20]
 6508 0068 FFF7FEFF 		bl	SPI_WaitFifoStateUntilTimeout
 6509 006c 0346     		mov	r3, r0
 6510              		.loc 1 3506 6 is_stmt 1 discriminator 2
 6511 006e 002B     		cmp	r3, #0
 6512 0070 02D0     		beq	.L322
3507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
3508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
 6513              		.loc 1 3508 21
 6514 0072 7B69     		ldr	r3, [r7, #20]
 6515 0074 4022     		movs	r2, #64
 6516 0076 1A66     		str	r2, [r3, #96]
ARM GAS  /tmp/ccs34gJO.s 			page 176


 6517              	.L322:
3509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
3510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check if an Abort process is still ongoing */
3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->hdmatx != NULL)
 6518              		.loc 1 3512 11
 6519 0078 7B69     		ldr	r3, [r7, #20]
 6520 007a 5B6D     		ldr	r3, [r3, #84]
 6521              		.loc 1 3512 6
 6522 007c 002B     		cmp	r3, #0
 6523 007e 04D0     		beq	.L323
3513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
3514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->hdmatx->XferAbortCallback != NULL)
 6524              		.loc 1 3514 13
 6525 0080 7B69     		ldr	r3, [r7, #20]
 6526 0082 5B6D     		ldr	r3, [r3, #84]
 6527              		.loc 1 3514 21
 6528 0084 5B6B     		ldr	r3, [r3, #52]
 6529              		.loc 1 3514 8
 6530 0086 002B     		cmp	r3, #0
 6531 0088 27D1     		bne	.L326
 6532              	.L323:
3515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
3516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       return;
3517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
3518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
3519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* No Abort process still ongoing : All DMA Stream/Channel are aborted, call user Abort Complete 
3521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxXferCount = 0U;
 6533              		.loc 1 3521 21
 6534 008a 7B69     		ldr	r3, [r7, #20]
 6535 008c 0022     		movs	r2, #0
 6536 008e A3F84620 		strh	r2, [r3, #70]	@ movhi
3522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxXferCount = 0U;
 6537              		.loc 1 3522 21
 6538 0092 7B69     		ldr	r3, [r7, #20]
 6539 0094 0022     		movs	r2, #0
 6540 0096 DA87     		strh	r2, [r3, #62]	@ movhi
3523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check no error during Abort procedure */
3525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->ErrorCode != HAL_SPI_ERROR_ABORT)
 6541              		.loc 1 3525 11
 6542 0098 7B69     		ldr	r3, [r7, #20]
 6543 009a 1B6E     		ldr	r3, [r3, #96]
 6544              		.loc 1 3525 6
 6545 009c 402B     		cmp	r3, #64
 6546 009e 02D0     		beq	.L325
3526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
3527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Reset errorCode */
3528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->ErrorCode = HAL_SPI_ERROR_NONE;
 6547              		.loc 1 3528 21
 6548 00a0 7B69     		ldr	r3, [r7, #20]
 6549 00a2 0022     		movs	r2, #0
 6550 00a4 1A66     		str	r2, [r3, #96]
 6551              	.L325:
 6552              	.LBB14:
3529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
ARM GAS  /tmp/ccs34gJO.s 			page 177


3530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Clear the Error flags in the SR register */
3532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_SPI_CLEAR_OVRFLAG(hspi);
 6553              		.loc 1 3532 3
 6554 00a6 0023     		movs	r3, #0
 6555 00a8 3B61     		str	r3, [r7, #16]
 6556 00aa 7B69     		ldr	r3, [r7, #20]
 6557 00ac 1B68     		ldr	r3, [r3]
 6558 00ae DB68     		ldr	r3, [r3, #12]
 6559 00b0 3B61     		str	r3, [r7, #16]
 6560 00b2 7B69     		ldr	r3, [r7, #20]
 6561 00b4 1B68     		ldr	r3, [r3]
 6562 00b6 9B68     		ldr	r3, [r3, #8]
 6563 00b8 3B61     		str	r3, [r7, #16]
 6564 00ba 3B69     		ldr	r3, [r7, #16]
 6565              	.LBE14:
 6566              	.LBB15:
3533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_SPI_CLEAR_FREFLAG(hspi);
 6567              		.loc 1 3533 3
 6568 00bc 0023     		movs	r3, #0
 6569 00be FB60     		str	r3, [r7, #12]
 6570 00c0 7B69     		ldr	r3, [r7, #20]
 6571 00c2 1B68     		ldr	r3, [r3]
 6572 00c4 9B68     		ldr	r3, [r3, #8]
 6573 00c6 FB60     		str	r3, [r7, #12]
 6574 00c8 FB68     		ldr	r3, [r7, #12]
 6575              	.LBE15:
3534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Restore hspi->State to Ready */
3536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->State  = HAL_SPI_STATE_READY;
 6576              		.loc 1 3536 16
 6577 00ca 7B69     		ldr	r3, [r7, #20]
 6578 00cc 0122     		movs	r2, #1
 6579 00ce 83F85D20 		strb	r2, [r3, #93]
3537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Call user Abort complete callback */
3539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->AbortCpltCallback(hspi);
3541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   HAL_SPI_AbortCpltCallback(hspi);
 6580              		.loc 1 3542 3
 6581 00d2 7869     		ldr	r0, [r7, #20]
 6582 00d4 FFF7FEFF 		bl	HAL_SPI_AbortCpltCallback
 6583 00d8 00E0     		b	.L320
 6584              	.L326:
3516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
 6585              		.loc 1 3516 7
 6586 00da 00BF     		nop
 6587              	.L320:
3543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 6588              		.loc 1 3544 1
 6589 00dc 1837     		adds	r7, r7, #24
 6590              		.cfi_def_cfa_offset 8
 6591 00de BD46     		mov	sp, r7
 6592              		.cfi_def_cfa_register 13
 6593              		@ sp needed
ARM GAS  /tmp/ccs34gJO.s 			page 178


 6594 00e0 80BD     		pop	{r7, pc}
 6595              		.cfi_endproc
 6596              	.LFE168:
 6598              		.section	.text.SPI_2linesRxISR_8BIT,"ax",%progbits
 6599              		.align	1
 6600              		.syntax unified
 6601              		.thumb
 6602              		.thumb_func
 6604              	SPI_2linesRxISR_8BIT:
 6605              	.LFB169:
3545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Rx 8-bit handler for Transmit and Receive in Interrupt mode.
3548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
3549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
3550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
3551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
3552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesRxISR_8BIT(struct __SPI_HandleTypeDef *hspi)
3553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 6606              		.loc 1 3553 1
 6607              		.cfi_startproc
 6608              		@ args = 0, pretend = 0, frame = 8
 6609              		@ frame_needed = 1, uses_anonymous_args = 0
 6610 0000 80B5     		push	{r7, lr}
 6611              		.cfi_def_cfa_offset 8
 6612              		.cfi_offset 7, -8
 6613              		.cfi_offset 14, -4
 6614 0002 82B0     		sub	sp, sp, #8
 6615              		.cfi_def_cfa_offset 16
 6616 0004 00AF     		add	r7, sp, #0
 6617              		.cfi_def_cfa_register 7
 6618 0006 7860     		str	r0, [r7, #4]
3554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Receive data in packing mode */
3555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->RxXferCount > 1U)
 6619              		.loc 1 3555 11
 6620 0008 7B68     		ldr	r3, [r7, #4]
 6621 000a B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 6622 000e 9BB2     		uxth	r3, r3
 6623              		.loc 1 3555 6
 6624 0010 012B     		cmp	r3, #1
 6625 0012 23D9     		bls	.L328
3556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
3557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)(hspi->Instance->DR);
 6626              		.loc 1 3557 54
 6627 0014 7B68     		ldr	r3, [r7, #4]
 6628 0016 1B68     		ldr	r3, [r3]
 6629              		.loc 1 3557 64
 6630 0018 DA68     		ldr	r2, [r3, #12]
 6631              		.loc 1 3557 23
 6632 001a 7B68     		ldr	r3, [r7, #4]
 6633 001c 1B6C     		ldr	r3, [r3, #64]
 6634              		.loc 1 3557 39
 6635 001e 92B2     		uxth	r2, r2
 6636              		.loc 1 3557 37
 6637 0020 1A80     		strh	r2, [r3]	@ movhi
3558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->pRxBuffPtr += sizeof(uint16_t);
 6638              		.loc 1 3558 9
ARM GAS  /tmp/ccs34gJO.s 			page 179


 6639 0022 7B68     		ldr	r3, [r7, #4]
 6640 0024 1B6C     		ldr	r3, [r3, #64]
 6641              		.loc 1 3558 22
 6642 0026 9A1C     		adds	r2, r3, #2
 6643 0028 7B68     		ldr	r3, [r7, #4]
 6644 002a 1A64     		str	r2, [r3, #64]
3559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->RxXferCount -= 2U;
 6645              		.loc 1 3559 9
 6646 002c 7B68     		ldr	r3, [r7, #4]
 6647 002e B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 6648 0032 9BB2     		uxth	r3, r3
 6649              		.loc 1 3559 23
 6650 0034 023B     		subs	r3, r3, #2
 6651 0036 9AB2     		uxth	r2, r3
 6652 0038 7B68     		ldr	r3, [r7, #4]
 6653 003a A3F84620 		strh	r2, [r3, #70]	@ movhi
3560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->RxXferCount == 1U)
 6654              		.loc 1 3560 13
 6655 003e 7B68     		ldr	r3, [r7, #4]
 6656 0040 B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 6657 0044 9BB2     		uxth	r3, r3
 6658              		.loc 1 3560 8
 6659 0046 012B     		cmp	r3, #1
 6660 0048 1FD1     		bne	.L329
3561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
3562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Set RX Fifo threshold according the reception data length: 8bit */
3563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
 6661              		.loc 1 3563 7
 6662 004a 7B68     		ldr	r3, [r7, #4]
 6663 004c 1B68     		ldr	r3, [r3]
 6664 004e 5A68     		ldr	r2, [r3, #4]
 6665 0050 7B68     		ldr	r3, [r7, #4]
 6666 0052 1B68     		ldr	r3, [r3]
 6667 0054 42F48052 		orr	r2, r2, #4096
 6668 0058 5A60     		str	r2, [r3, #4]
 6669 005a 16E0     		b	.L329
 6670              	.L328:
3564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
3565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
3566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Receive data in 8 Bit mode */
3567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   else
3568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
3569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     *hspi->pRxBuffPtr = *((__IO uint8_t *)&hspi->Instance->DR);
 6671              		.loc 1 3569 48
 6672 005c 7B68     		ldr	r3, [r7, #4]
 6673 005e 1B68     		ldr	r3, [r3]
 6674              		.loc 1 3569 43
 6675 0060 03F10C02 		add	r2, r3, #12
 6676              		.loc 1 3569 10
 6677 0064 7B68     		ldr	r3, [r7, #4]
 6678 0066 1B6C     		ldr	r3, [r3, #64]
 6679              		.loc 1 3569 25
 6680 0068 1278     		ldrb	r2, [r2]
 6681 006a D2B2     		uxtb	r2, r2
 6682              		.loc 1 3569 23
 6683 006c 1A70     		strb	r2, [r3]
3570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->pRxBuffPtr++;
ARM GAS  /tmp/ccs34gJO.s 			page 180


 6684              		.loc 1 3570 9
 6685 006e 7B68     		ldr	r3, [r7, #4]
 6686 0070 1B6C     		ldr	r3, [r3, #64]
 6687              		.loc 1 3570 21
 6688 0072 5A1C     		adds	r2, r3, #1
 6689 0074 7B68     		ldr	r3, [r7, #4]
 6690 0076 1A64     		str	r2, [r3, #64]
3571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->RxXferCount--;
 6691              		.loc 1 3571 9
 6692 0078 7B68     		ldr	r3, [r7, #4]
 6693 007a B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 6694 007e 9BB2     		uxth	r3, r3
 6695              		.loc 1 3571 22
 6696 0080 013B     		subs	r3, r3, #1
 6697 0082 9AB2     		uxth	r2, r3
 6698 0084 7B68     		ldr	r3, [r7, #4]
 6699 0086 A3F84620 		strh	r2, [r3, #70]	@ movhi
 6700              	.L329:
3572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
3573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check end of the reception */
3575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->RxXferCount == 0U)
 6701              		.loc 1 3575 11
 6702 008a 7B68     		ldr	r3, [r7, #4]
 6703 008c B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 6704 0090 9BB2     		uxth	r3, r3
 6705              		.loc 1 3575 6
 6706 0092 002B     		cmp	r3, #0
 6707 0094 0FD1     		bne	.L331
3576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
3577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
3580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
3581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->RxISR =  SPI_2linesRxISR_8BITCRC;
3582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       return;
3583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
3584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Disable RXNE  and ERR interrupt */
3587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_RXNE | SPI_IT_ERR));
 6708              		.loc 1 3587 5
 6709 0096 7B68     		ldr	r3, [r7, #4]
 6710 0098 1B68     		ldr	r3, [r3]
 6711 009a 5A68     		ldr	r2, [r3, #4]
 6712 009c 7B68     		ldr	r3, [r7, #4]
 6713 009e 1B68     		ldr	r3, [r3]
 6714 00a0 22F06002 		bic	r2, r2, #96
 6715 00a4 5A60     		str	r2, [r3, #4]
3588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->TxXferCount == 0U)
 6716              		.loc 1 3589 13
 6717 00a6 7B68     		ldr	r3, [r7, #4]
 6718 00a8 DB8F     		ldrh	r3, [r3, #62]	@ movhi
 6719 00aa 9BB2     		uxth	r3, r3
 6720              		.loc 1 3589 8
 6721 00ac 002B     		cmp	r3, #0
ARM GAS  /tmp/ccs34gJO.s 			page 181


 6722 00ae 02D1     		bne	.L331
3590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
3591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       SPI_CloseRxTx_ISR(hspi);
 6723              		.loc 1 3591 7
 6724 00b0 7868     		ldr	r0, [r7, #4]
 6725 00b2 FFF7FEFF 		bl	SPI_CloseRxTx_ISR
 6726              	.L331:
3592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
3593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
3594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 6727              		.loc 1 3594 1
 6728 00b6 00BF     		nop
 6729 00b8 0837     		adds	r7, r7, #8
 6730              		.cfi_def_cfa_offset 8
 6731 00ba BD46     		mov	sp, r7
 6732              		.cfi_def_cfa_register 13
 6733              		@ sp needed
 6734 00bc 80BD     		pop	{r7, pc}
 6735              		.cfi_endproc
 6736              	.LFE169:
 6738              		.section	.text.SPI_2linesTxISR_8BIT,"ax",%progbits
 6739              		.align	1
 6740              		.syntax unified
 6741              		.thumb
 6742              		.thumb_func
 6744              	SPI_2linesTxISR_8BIT:
 6745              	.LFB170:
3595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Rx 8-bit handler for Transmit and Receive in Interrupt mode.
3599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
3600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
3601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
3602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
3603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesRxISR_8BITCRC(struct __SPI_HandleTypeDef *hspi)
3604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __IO uint8_t  *ptmpreg8;
3606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __IO uint8_t  tmpreg8 = 0;
3607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Initialize the 8bit temporary pointer */
3609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   ptmpreg8 = (__IO uint8_t *)&hspi->Instance->DR;
3610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Read 8bit CRC to flush Data Register */
3611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   tmpreg8 = *ptmpreg8;
3612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* To avoid GCC warning */
3613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   UNUSED(tmpreg8);
3614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->CRCSize--;
3616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check end of the reception */
3618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->CRCSize == 0U)
3619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
3620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Disable RXNE and ERR interrupt */
3621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_RXNE | SPI_IT_ERR));
3622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->TxXferCount == 0U)
3624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
ARM GAS  /tmp/ccs34gJO.s 			page 182


3625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       SPI_CloseRxTx_ISR(hspi);
3626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
3627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
3628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Tx 8-bit handler for Transmit and Receive in Interrupt mode.
3633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
3634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
3635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
3636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
3637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesTxISR_8BIT(struct __SPI_HandleTypeDef *hspi)
3638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 6746              		.loc 1 3638 1
 6747              		.cfi_startproc
 6748              		@ args = 0, pretend = 0, frame = 8
 6749              		@ frame_needed = 1, uses_anonymous_args = 0
 6750 0000 80B5     		push	{r7, lr}
 6751              		.cfi_def_cfa_offset 8
 6752              		.cfi_offset 7, -8
 6753              		.cfi_offset 14, -4
 6754 0002 82B0     		sub	sp, sp, #8
 6755              		.cfi_def_cfa_offset 16
 6756 0004 00AF     		add	r7, sp, #0
 6757              		.cfi_def_cfa_register 7
 6758 0006 7860     		str	r0, [r7, #4]
3639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Transmit data in packing Bit mode */
3640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->TxXferCount >= 2U)
 6759              		.loc 1 3640 11
 6760 0008 7B68     		ldr	r3, [r7, #4]
 6761 000a DB8F     		ldrh	r3, [r3, #62]	@ movhi
 6762 000c 9BB2     		uxth	r3, r3
 6763              		.loc 1 3640 6
 6764 000e 012B     		cmp	r3, #1
 6765 0010 12D9     		bls	.L333
3641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
3642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
 6766              		.loc 1 3642 44
 6767 0012 7B68     		ldr	r3, [r7, #4]
 6768 0014 9B6B     		ldr	r3, [r3, #56]
 6769              		.loc 1 3642 26
 6770 0016 1A88     		ldrh	r2, [r3]
 6771              		.loc 1 3642 9
 6772 0018 7B68     		ldr	r3, [r7, #4]
 6773 001a 1B68     		ldr	r3, [r3]
 6774              		.loc 1 3642 24
 6775 001c DA60     		str	r2, [r3, #12]
3643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->pTxBuffPtr += sizeof(uint16_t);
 6776              		.loc 1 3643 9
 6777 001e 7B68     		ldr	r3, [r7, #4]
 6778 0020 9B6B     		ldr	r3, [r3, #56]
 6779              		.loc 1 3643 22
 6780 0022 9A1C     		adds	r2, r3, #2
 6781 0024 7B68     		ldr	r3, [r7, #4]
 6782 0026 9A63     		str	r2, [r3, #56]
3644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->TxXferCount -= 2U;
ARM GAS  /tmp/ccs34gJO.s 			page 183


 6783              		.loc 1 3644 9
 6784 0028 7B68     		ldr	r3, [r7, #4]
 6785 002a DB8F     		ldrh	r3, [r3, #62]	@ movhi
 6786 002c 9BB2     		uxth	r3, r3
 6787              		.loc 1 3644 23
 6788 002e 023B     		subs	r3, r3, #2
 6789 0030 9AB2     		uxth	r2, r3
 6790 0032 7B68     		ldr	r3, [r7, #4]
 6791 0034 DA87     		strh	r2, [r3, #62]	@ movhi
 6792 0036 12E0     		b	.L334
 6793              	.L333:
3645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
3646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Transmit data in 8 Bit mode */
3647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   else
3648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
3649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     *(__IO uint8_t *)&hspi->Instance->DR = (*hspi->pTxBuffPtr);
 6794              		.loc 1 3649 50
 6795 0038 7B68     		ldr	r3, [r7, #4]
 6796 003a 9A6B     		ldr	r2, [r3, #56]
 6797              		.loc 1 3649 27
 6798 003c 7B68     		ldr	r3, [r7, #4]
 6799 003e 1B68     		ldr	r3, [r3]
 6800              		.loc 1 3649 22
 6801 0040 0C33     		adds	r3, r3, #12
 6802              		.loc 1 3649 45
 6803 0042 1278     		ldrb	r2, [r2]	@ zero_extendqisi2
 6804              		.loc 1 3649 42
 6805 0044 1A70     		strb	r2, [r3]
3650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->pTxBuffPtr++;
 6806              		.loc 1 3650 9
 6807 0046 7B68     		ldr	r3, [r7, #4]
 6808 0048 9B6B     		ldr	r3, [r3, #56]
 6809              		.loc 1 3650 21
 6810 004a 5A1C     		adds	r2, r3, #1
 6811 004c 7B68     		ldr	r3, [r7, #4]
 6812 004e 9A63     		str	r2, [r3, #56]
3651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->TxXferCount--;
 6813              		.loc 1 3651 9
 6814 0050 7B68     		ldr	r3, [r7, #4]
 6815 0052 DB8F     		ldrh	r3, [r3, #62]	@ movhi
 6816 0054 9BB2     		uxth	r3, r3
 6817              		.loc 1 3651 22
 6818 0056 013B     		subs	r3, r3, #1
 6819 0058 9AB2     		uxth	r2, r3
 6820 005a 7B68     		ldr	r3, [r7, #4]
 6821 005c DA87     		strh	r2, [r3, #62]	@ movhi
 6822              	.L334:
3652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
3653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check the end of the transmission */
3655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->TxXferCount == 0U)
 6823              		.loc 1 3655 11
 6824 005e 7B68     		ldr	r3, [r7, #4]
 6825 0060 DB8F     		ldrh	r3, [r3, #62]	@ movhi
 6826 0062 9BB2     		uxth	r3, r3
 6827              		.loc 1 3655 6
 6828 0064 002B     		cmp	r3, #0
ARM GAS  /tmp/ccs34gJO.s 			page 184


 6829 0066 10D1     		bne	.L336
3656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
3657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
3660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Set CRC Next Bit to send CRC */
3661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
3662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Disable TXE interrupt */
3663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       __HAL_SPI_DISABLE_IT(hspi, SPI_IT_TXE);
3664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       return;
3665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
3666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Disable TXE interrupt */
3669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     __HAL_SPI_DISABLE_IT(hspi, SPI_IT_TXE);
 6830              		.loc 1 3669 5
 6831 0068 7B68     		ldr	r3, [r7, #4]
 6832 006a 1B68     		ldr	r3, [r3]
 6833 006c 5A68     		ldr	r2, [r3, #4]
 6834 006e 7B68     		ldr	r3, [r7, #4]
 6835 0070 1B68     		ldr	r3, [r3]
 6836 0072 22F08002 		bic	r2, r2, #128
 6837 0076 5A60     		str	r2, [r3, #4]
3670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->RxXferCount == 0U)
 6838              		.loc 1 3671 13
 6839 0078 7B68     		ldr	r3, [r7, #4]
 6840 007a B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 6841 007e 9BB2     		uxth	r3, r3
 6842              		.loc 1 3671 8
 6843 0080 002B     		cmp	r3, #0
 6844 0082 02D1     		bne	.L336
3672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
3673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       SPI_CloseRxTx_ISR(hspi);
 6845              		.loc 1 3673 7
 6846 0084 7868     		ldr	r0, [r7, #4]
 6847 0086 FFF7FEFF 		bl	SPI_CloseRxTx_ISR
 6848              	.L336:
3674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
3675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
3676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 6849              		.loc 1 3676 1
 6850 008a 00BF     		nop
 6851 008c 0837     		adds	r7, r7, #8
 6852              		.cfi_def_cfa_offset 8
 6853 008e BD46     		mov	sp, r7
 6854              		.cfi_def_cfa_register 13
 6855              		@ sp needed
 6856 0090 80BD     		pop	{r7, pc}
 6857              		.cfi_endproc
 6858              	.LFE170:
 6860              		.section	.text.SPI_2linesRxISR_16BIT,"ax",%progbits
 6861              		.align	1
 6862              		.syntax unified
 6863              		.thumb
 6864              		.thumb_func
 6866              	SPI_2linesRxISR_16BIT:
ARM GAS  /tmp/ccs34gJO.s 			page 185


 6867              	.LFB171:
3677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Rx 16-bit handler for Transmit and Receive in Interrupt mode.
3680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
3681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
3682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
3683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
3684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesRxISR_16BIT(struct __SPI_HandleTypeDef *hspi)
3685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 6868              		.loc 1 3685 1
 6869              		.cfi_startproc
 6870              		@ args = 0, pretend = 0, frame = 8
 6871              		@ frame_needed = 1, uses_anonymous_args = 0
 6872 0000 80B5     		push	{r7, lr}
 6873              		.cfi_def_cfa_offset 8
 6874              		.cfi_offset 7, -8
 6875              		.cfi_offset 14, -4
 6876 0002 82B0     		sub	sp, sp, #8
 6877              		.cfi_def_cfa_offset 16
 6878 0004 00AF     		add	r7, sp, #0
 6879              		.cfi_def_cfa_register 7
 6880 0006 7860     		str	r0, [r7, #4]
3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Receive data in 16 Bit mode */
3687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)(hspi->Instance->DR);
 6881              		.loc 1 3687 52
 6882 0008 7B68     		ldr	r3, [r7, #4]
 6883 000a 1B68     		ldr	r3, [r3]
 6884              		.loc 1 3687 62
 6885 000c DA68     		ldr	r2, [r3, #12]
 6886              		.loc 1 3687 21
 6887 000e 7B68     		ldr	r3, [r7, #4]
 6888 0010 1B6C     		ldr	r3, [r3, #64]
 6889              		.loc 1 3687 37
 6890 0012 92B2     		uxth	r2, r2
 6891              		.loc 1 3687 35
 6892 0014 1A80     		strh	r2, [r3]	@ movhi
3688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->pRxBuffPtr += sizeof(uint16_t);
 6893              		.loc 1 3688 7
 6894 0016 7B68     		ldr	r3, [r7, #4]
 6895 0018 1B6C     		ldr	r3, [r3, #64]
 6896              		.loc 1 3688 20
 6897 001a 9A1C     		adds	r2, r3, #2
 6898 001c 7B68     		ldr	r3, [r7, #4]
 6899 001e 1A64     		str	r2, [r3, #64]
3689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxXferCount--;
 6900              		.loc 1 3689 7
 6901 0020 7B68     		ldr	r3, [r7, #4]
 6902 0022 B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 6903 0026 9BB2     		uxth	r3, r3
 6904              		.loc 1 3689 20
 6905 0028 013B     		subs	r3, r3, #1
 6906 002a 9AB2     		uxth	r2, r3
 6907 002c 7B68     		ldr	r3, [r7, #4]
 6908 002e A3F84620 		strh	r2, [r3, #70]	@ movhi
3690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->RxXferCount == 0U)
ARM GAS  /tmp/ccs34gJO.s 			page 186


 6909              		.loc 1 3691 11
 6910 0032 7B68     		ldr	r3, [r7, #4]
 6911 0034 B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 6912 0038 9BB2     		uxth	r3, r3
 6913              		.loc 1 3691 6
 6914 003a 002B     		cmp	r3, #0
 6915 003c 0FD1     		bne	.L339
3692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
3693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
3696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->RxISR =  SPI_2linesRxISR_16BITCRC;
3697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       return;
3698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
3699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Disable RXNE interrupt */
3702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     __HAL_SPI_DISABLE_IT(hspi, SPI_IT_RXNE);
 6916              		.loc 1 3702 5
 6917 003e 7B68     		ldr	r3, [r7, #4]
 6918 0040 1B68     		ldr	r3, [r3]
 6919 0042 5A68     		ldr	r2, [r3, #4]
 6920 0044 7B68     		ldr	r3, [r7, #4]
 6921 0046 1B68     		ldr	r3, [r3]
 6922 0048 22F04002 		bic	r2, r2, #64
 6923 004c 5A60     		str	r2, [r3, #4]
3703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->TxXferCount == 0U)
 6924              		.loc 1 3704 13
 6925 004e 7B68     		ldr	r3, [r7, #4]
 6926 0050 DB8F     		ldrh	r3, [r3, #62]	@ movhi
 6927 0052 9BB2     		uxth	r3, r3
 6928              		.loc 1 3704 8
 6929 0054 002B     		cmp	r3, #0
 6930 0056 02D1     		bne	.L339
3705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
3706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       SPI_CloseRxTx_ISR(hspi);
 6931              		.loc 1 3706 7
 6932 0058 7868     		ldr	r0, [r7, #4]
 6933 005a FFF7FEFF 		bl	SPI_CloseRxTx_ISR
 6934              	.L339:
3707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
3708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
3709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 6935              		.loc 1 3709 1
 6936 005e 00BF     		nop
 6937 0060 0837     		adds	r7, r7, #8
 6938              		.cfi_def_cfa_offset 8
 6939 0062 BD46     		mov	sp, r7
 6940              		.cfi_def_cfa_register 13
 6941              		@ sp needed
 6942 0064 80BD     		pop	{r7, pc}
 6943              		.cfi_endproc
 6944              	.LFE171:
 6946              		.section	.text.SPI_2linesTxISR_16BIT,"ax",%progbits
 6947              		.align	1
 6948              		.syntax unified
ARM GAS  /tmp/ccs34gJO.s 			page 187


 6949              		.thumb
 6950              		.thumb_func
 6952              	SPI_2linesTxISR_16BIT:
 6953              	.LFB172:
3710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Manage the CRC 16-bit receive for Transmit and Receive in Interrupt mode.
3714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
3715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
3716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
3717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
3718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesRxISR_16BITCRC(struct __SPI_HandleTypeDef *hspi)
3719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __IO uint32_t tmpreg = 0U;
3721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Read 16bit CRC to flush Data Register */
3723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   tmpreg = READ_REG(hspi->Instance->DR);
3724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* To avoid GCC warning */
3725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   UNUSED(tmpreg);
3726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Disable RXNE interrupt */
3728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_SPI_DISABLE_IT(hspi, SPI_IT_RXNE);
3729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   SPI_CloseRxTx_ISR(hspi);
3731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Tx 16-bit handler for Transmit and Receive in Interrupt mode.
3736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
3737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
3738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
3740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesTxISR_16BIT(struct __SPI_HandleTypeDef *hspi)
3741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 6954              		.loc 1 3741 1
 6955              		.cfi_startproc
 6956              		@ args = 0, pretend = 0, frame = 8
 6957              		@ frame_needed = 1, uses_anonymous_args = 0
 6958 0000 80B5     		push	{r7, lr}
 6959              		.cfi_def_cfa_offset 8
 6960              		.cfi_offset 7, -8
 6961              		.cfi_offset 14, -4
 6962 0002 82B0     		sub	sp, sp, #8
 6963              		.cfi_def_cfa_offset 16
 6964 0004 00AF     		add	r7, sp, #0
 6965              		.cfi_def_cfa_register 7
 6966 0006 7860     		str	r0, [r7, #4]
3742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Transmit data in 16 Bit mode */
3743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
 6967              		.loc 1 3743 42
 6968 0008 7B68     		ldr	r3, [r7, #4]
 6969 000a 9B6B     		ldr	r3, [r3, #56]
 6970              		.loc 1 3743 24
 6971 000c 1A88     		ldrh	r2, [r3]
 6972              		.loc 1 3743 7
ARM GAS  /tmp/ccs34gJO.s 			page 188


 6973 000e 7B68     		ldr	r3, [r7, #4]
 6974 0010 1B68     		ldr	r3, [r3]
 6975              		.loc 1 3743 22
 6976 0012 DA60     		str	r2, [r3, #12]
3744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->pTxBuffPtr += sizeof(uint16_t);
 6977              		.loc 1 3744 7
 6978 0014 7B68     		ldr	r3, [r7, #4]
 6979 0016 9B6B     		ldr	r3, [r3, #56]
 6980              		.loc 1 3744 20
 6981 0018 9A1C     		adds	r2, r3, #2
 6982 001a 7B68     		ldr	r3, [r7, #4]
 6983 001c 9A63     		str	r2, [r3, #56]
3745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxXferCount--;
 6984              		.loc 1 3745 7
 6985 001e 7B68     		ldr	r3, [r7, #4]
 6986 0020 DB8F     		ldrh	r3, [r3, #62]	@ movhi
 6987 0022 9BB2     		uxth	r3, r3
 6988              		.loc 1 3745 20
 6989 0024 013B     		subs	r3, r3, #1
 6990 0026 9AB2     		uxth	r2, r3
 6991 0028 7B68     		ldr	r3, [r7, #4]
 6992 002a DA87     		strh	r2, [r3, #62]	@ movhi
3746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Enable CRC Transmission */
3748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->TxXferCount == 0U)
 6993              		.loc 1 3748 11
 6994 002c 7B68     		ldr	r3, [r7, #4]
 6995 002e DB8F     		ldrh	r3, [r3, #62]	@ movhi
 6996 0030 9BB2     		uxth	r3, r3
 6997              		.loc 1 3748 6
 6998 0032 002B     		cmp	r3, #0
 6999 0034 10D1     		bne	.L342
3749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Set CRC Next Bit to send CRC */
3754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
3755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Disable TXE interrupt */
3756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       __HAL_SPI_DISABLE_IT(hspi, SPI_IT_TXE);
3757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       return;
3758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
3759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Disable TXE interrupt */
3762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     __HAL_SPI_DISABLE_IT(hspi, SPI_IT_TXE);
 7000              		.loc 1 3762 5
 7001 0036 7B68     		ldr	r3, [r7, #4]
 7002 0038 1B68     		ldr	r3, [r3]
 7003 003a 5A68     		ldr	r2, [r3, #4]
 7004 003c 7B68     		ldr	r3, [r7, #4]
 7005 003e 1B68     		ldr	r3, [r3]
 7006 0040 22F08002 		bic	r2, r2, #128
 7007 0044 5A60     		str	r2, [r3, #4]
3763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->RxXferCount == 0U)
 7008              		.loc 1 3764 13
ARM GAS  /tmp/ccs34gJO.s 			page 189


 7009 0046 7B68     		ldr	r3, [r7, #4]
 7010 0048 B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 7011 004c 9BB2     		uxth	r3, r3
 7012              		.loc 1 3764 8
 7013 004e 002B     		cmp	r3, #0
 7014 0050 02D1     		bne	.L342
3765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
3766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       SPI_CloseRxTx_ISR(hspi);
 7015              		.loc 1 3766 7
 7016 0052 7868     		ldr	r0, [r7, #4]
 7017 0054 FFF7FEFF 		bl	SPI_CloseRxTx_ISR
 7018              	.L342:
3767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
3768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
3769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 7019              		.loc 1 3769 1
 7020 0058 00BF     		nop
 7021 005a 0837     		adds	r7, r7, #8
 7022              		.cfi_def_cfa_offset 8
 7023 005c BD46     		mov	sp, r7
 7024              		.cfi_def_cfa_register 13
 7025              		@ sp needed
 7026 005e 80BD     		pop	{r7, pc}
 7027              		.cfi_endproc
 7028              	.LFE172:
 7030              		.section	.text.SPI_RxISR_8BIT,"ax",%progbits
 7031              		.align	1
 7032              		.syntax unified
 7033              		.thumb
 7034              		.thumb_func
 7036              	SPI_RxISR_8BIT:
 7037              	.LFB173:
3770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Manage the CRC 8-bit receive in Interrupt context.
3774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
3775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
3776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
3777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
3778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_RxISR_8BITCRC(struct __SPI_HandleTypeDef *hspi)
3779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __IO uint8_t  *ptmpreg8;
3781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __IO uint8_t  tmpreg8 = 0;
3782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Initialize the 8bit temporary pointer */
3784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   ptmpreg8 = (__IO uint8_t *)&hspi->Instance->DR;
3785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Read 8bit CRC to flush Data Register */
3786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   tmpreg8 = *ptmpreg8;
3787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* To avoid GCC warning */
3788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   UNUSED(tmpreg8);
3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->CRCSize--;
3791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->CRCSize == 0U)
3793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
3794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SPI_CloseRx_ISR(hspi);
ARM GAS  /tmp/ccs34gJO.s 			page 190


3795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
3796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Manage the receive 8-bit in Interrupt context.
3801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
3802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
3803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
3804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
3805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_RxISR_8BIT(struct __SPI_HandleTypeDef *hspi)
3806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 7038              		.loc 1 3806 1
 7039              		.cfi_startproc
 7040              		@ args = 0, pretend = 0, frame = 8
 7041              		@ frame_needed = 1, uses_anonymous_args = 0
 7042 0000 80B5     		push	{r7, lr}
 7043              		.cfi_def_cfa_offset 8
 7044              		.cfi_offset 7, -8
 7045              		.cfi_offset 14, -4
 7046 0002 82B0     		sub	sp, sp, #8
 7047              		.cfi_def_cfa_offset 16
 7048 0004 00AF     		add	r7, sp, #0
 7049              		.cfi_def_cfa_register 7
 7050 0006 7860     		str	r0, [r7, #4]
3807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *hspi->pRxBuffPtr = (*(__IO uint8_t *)&hspi->Instance->DR);
 7051              		.loc 1 3807 46
 7052 0008 7B68     		ldr	r3, [r7, #4]
 7053 000a 1B68     		ldr	r3, [r3]
 7054              		.loc 1 3807 41
 7055 000c 03F10C02 		add	r2, r3, #12
 7056              		.loc 1 3807 8
 7057 0010 7B68     		ldr	r3, [r7, #4]
 7058 0012 1B6C     		ldr	r3, [r3, #64]
 7059              		.loc 1 3807 24
 7060 0014 1278     		ldrb	r2, [r2]
 7061 0016 D2B2     		uxtb	r2, r2
 7062              		.loc 1 3807 21
 7063 0018 1A70     		strb	r2, [r3]
3808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->pRxBuffPtr++;
 7064              		.loc 1 3808 7
 7065 001a 7B68     		ldr	r3, [r7, #4]
 7066 001c 1B6C     		ldr	r3, [r3, #64]
 7067              		.loc 1 3808 19
 7068 001e 5A1C     		adds	r2, r3, #1
 7069 0020 7B68     		ldr	r3, [r7, #4]
 7070 0022 1A64     		str	r2, [r3, #64]
3809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxXferCount--;
 7071              		.loc 1 3809 7
 7072 0024 7B68     		ldr	r3, [r7, #4]
 7073 0026 B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 7074 002a 9BB2     		uxth	r3, r3
 7075              		.loc 1 3809 20
 7076 002c 013B     		subs	r3, r3, #1
 7077 002e 9AB2     		uxth	r2, r3
 7078 0030 7B68     		ldr	r3, [r7, #4]
 7079 0032 A3F84620 		strh	r2, [r3, #70]	@ movhi
ARM GAS  /tmp/ccs34gJO.s 			page 191


3810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Enable CRC Transmission */
3813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((hspi->RxXferCount == 1U) && (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE))
3814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
3815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
3816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
3817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->RxXferCount == 0U)
 7080              		.loc 1 3819 11
 7081 0036 7B68     		ldr	r3, [r7, #4]
 7082 0038 B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 7083 003c 9BB2     		uxth	r3, r3
 7084              		.loc 1 3819 6
 7085 003e 002B     		cmp	r3, #0
 7086 0040 02D1     		bne	.L345
3820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
3821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
3824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->RxISR =  SPI_RxISR_8BITCRC;
3825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       return;
3826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
3827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SPI_CloseRx_ISR(hspi);
 7087              		.loc 1 3828 5
 7088 0042 7868     		ldr	r0, [r7, #4]
 7089 0044 FFF7FEFF 		bl	SPI_CloseRx_ISR
 7090              	.L345:
3829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
3830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 7091              		.loc 1 3830 1
 7092 0048 00BF     		nop
 7093 004a 0837     		adds	r7, r7, #8
 7094              		.cfi_def_cfa_offset 8
 7095 004c BD46     		mov	sp, r7
 7096              		.cfi_def_cfa_register 13
 7097              		@ sp needed
 7098 004e 80BD     		pop	{r7, pc}
 7099              		.cfi_endproc
 7100              	.LFE173:
 7102              		.section	.text.SPI_RxISR_16BIT,"ax",%progbits
 7103              		.align	1
 7104              		.syntax unified
 7105              		.thumb
 7106              		.thumb_func
 7108              	SPI_RxISR_16BIT:
 7109              	.LFB174:
3831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Manage the CRC 16-bit receive in Interrupt context.
3835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
3836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
3837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
3838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
ARM GAS  /tmp/ccs34gJO.s 			page 192


3839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_RxISR_16BITCRC(struct __SPI_HandleTypeDef *hspi)
3840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __IO uint32_t tmpreg = 0U;
3842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Read 16bit CRC to flush Data Register */
3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   tmpreg = READ_REG(hspi->Instance->DR);
3845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* To avoid GCC warning */
3846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   UNUSED(tmpreg);
3847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Disable RXNE and ERR interrupt */
3849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_RXNE | SPI_IT_ERR));
3850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   SPI_CloseRx_ISR(hspi);
3852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Manage the 16-bit receive in Interrupt context.
3857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
3858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
3859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
3860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
3861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_RxISR_16BIT(struct __SPI_HandleTypeDef *hspi)
3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 7110              		.loc 1 3862 1
 7111              		.cfi_startproc
 7112              		@ args = 0, pretend = 0, frame = 8
 7113              		@ frame_needed = 1, uses_anonymous_args = 0
 7114 0000 80B5     		push	{r7, lr}
 7115              		.cfi_def_cfa_offset 8
 7116              		.cfi_offset 7, -8
 7117              		.cfi_offset 14, -4
 7118 0002 82B0     		sub	sp, sp, #8
 7119              		.cfi_def_cfa_offset 16
 7120 0004 00AF     		add	r7, sp, #0
 7121              		.cfi_def_cfa_register 7
 7122 0006 7860     		str	r0, [r7, #4]
3863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)(hspi->Instance->DR);
 7123              		.loc 1 3863 52
 7124 0008 7B68     		ldr	r3, [r7, #4]
 7125 000a 1B68     		ldr	r3, [r3]
 7126              		.loc 1 3863 62
 7127 000c DA68     		ldr	r2, [r3, #12]
 7128              		.loc 1 3863 21
 7129 000e 7B68     		ldr	r3, [r7, #4]
 7130 0010 1B6C     		ldr	r3, [r3, #64]
 7131              		.loc 1 3863 37
 7132 0012 92B2     		uxth	r2, r2
 7133              		.loc 1 3863 35
 7134 0014 1A80     		strh	r2, [r3]	@ movhi
3864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->pRxBuffPtr += sizeof(uint16_t);
 7135              		.loc 1 3864 7
 7136 0016 7B68     		ldr	r3, [r7, #4]
 7137 0018 1B6C     		ldr	r3, [r3, #64]
 7138              		.loc 1 3864 20
 7139 001a 9A1C     		adds	r2, r3, #2
 7140 001c 7B68     		ldr	r3, [r7, #4]
ARM GAS  /tmp/ccs34gJO.s 			page 193


 7141 001e 1A64     		str	r2, [r3, #64]
3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->RxXferCount--;
 7142              		.loc 1 3865 7
 7143 0020 7B68     		ldr	r3, [r7, #4]
 7144 0022 B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 7145 0026 9BB2     		uxth	r3, r3
 7146              		.loc 1 3865 20
 7147 0028 013B     		subs	r3, r3, #1
 7148 002a 9AB2     		uxth	r2, r3
 7149 002c 7B68     		ldr	r3, [r7, #4]
 7150 002e A3F84620 		strh	r2, [r3, #70]	@ movhi
3866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Enable CRC Transmission */
3869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((hspi->RxXferCount == 1U) && (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE))
3870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
3871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
3872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
3873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->RxXferCount == 0U)
 7151              		.loc 1 3875 11
 7152 0032 7B68     		ldr	r3, [r7, #4]
 7153 0034 B3F84630 		ldrh	r3, [r3, #70]	@ movhi
 7154 0038 9BB2     		uxth	r3, r3
 7155              		.loc 1 3875 6
 7156 003a 002B     		cmp	r3, #0
 7157 003c 02D1     		bne	.L348
3876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
3877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
3880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->RxISR = SPI_RxISR_16BITCRC;
3881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       return;
3882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
3883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SPI_CloseRx_ISR(hspi);
 7158              		.loc 1 3884 5
 7159 003e 7868     		ldr	r0, [r7, #4]
 7160 0040 FFF7FEFF 		bl	SPI_CloseRx_ISR
 7161              	.L348:
3885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
3886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 7162              		.loc 1 3886 1
 7163 0044 00BF     		nop
 7164 0046 0837     		adds	r7, r7, #8
 7165              		.cfi_def_cfa_offset 8
 7166 0048 BD46     		mov	sp, r7
 7167              		.cfi_def_cfa_register 13
 7168              		@ sp needed
 7169 004a 80BD     		pop	{r7, pc}
 7170              		.cfi_endproc
 7171              	.LFE174:
 7173              		.section	.text.SPI_TxISR_8BIT,"ax",%progbits
 7174              		.align	1
 7175              		.syntax unified
 7176              		.thumb
ARM GAS  /tmp/ccs34gJO.s 			page 194


 7177              		.thumb_func
 7179              	SPI_TxISR_8BIT:
 7180              	.LFB175:
3887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Handle the data 8-bit transmit in Interrupt mode.
3890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
3891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
3892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
3893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
3894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_TxISR_8BIT(struct __SPI_HandleTypeDef *hspi)
3895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 7181              		.loc 1 3895 1
 7182              		.cfi_startproc
 7183              		@ args = 0, pretend = 0, frame = 8
 7184              		@ frame_needed = 1, uses_anonymous_args = 0
 7185 0000 80B5     		push	{r7, lr}
 7186              		.cfi_def_cfa_offset 8
 7187              		.cfi_offset 7, -8
 7188              		.cfi_offset 14, -4
 7189 0002 82B0     		sub	sp, sp, #8
 7190              		.cfi_def_cfa_offset 16
 7191 0004 00AF     		add	r7, sp, #0
 7192              		.cfi_def_cfa_register 7
 7193 0006 7860     		str	r0, [r7, #4]
3896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *(__IO uint8_t *)&hspi->Instance->DR = (*hspi->pTxBuffPtr);
 7194              		.loc 1 3896 48
 7195 0008 7B68     		ldr	r3, [r7, #4]
 7196 000a 9A6B     		ldr	r2, [r3, #56]
 7197              		.loc 1 3896 25
 7198 000c 7B68     		ldr	r3, [r7, #4]
 7199 000e 1B68     		ldr	r3, [r3]
 7200              		.loc 1 3896 20
 7201 0010 0C33     		adds	r3, r3, #12
 7202              		.loc 1 3896 43
 7203 0012 1278     		ldrb	r2, [r2]	@ zero_extendqisi2
 7204              		.loc 1 3896 40
 7205 0014 1A70     		strb	r2, [r3]
3897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->pTxBuffPtr++;
 7206              		.loc 1 3897 7
 7207 0016 7B68     		ldr	r3, [r7, #4]
 7208 0018 9B6B     		ldr	r3, [r3, #56]
 7209              		.loc 1 3897 19
 7210 001a 5A1C     		adds	r2, r3, #1
 7211 001c 7B68     		ldr	r3, [r7, #4]
 7212 001e 9A63     		str	r2, [r3, #56]
3898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxXferCount--;
 7213              		.loc 1 3898 7
 7214 0020 7B68     		ldr	r3, [r7, #4]
 7215 0022 DB8F     		ldrh	r3, [r3, #62]	@ movhi
 7216 0024 9BB2     		uxth	r3, r3
 7217              		.loc 1 3898 20
 7218 0026 013B     		subs	r3, r3, #1
 7219 0028 9AB2     		uxth	r2, r3
 7220 002a 7B68     		ldr	r3, [r7, #4]
 7221 002c DA87     		strh	r2, [r3, #62]	@ movhi
3899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
ARM GAS  /tmp/ccs34gJO.s 			page 195


3900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->TxXferCount == 0U)
 7222              		.loc 1 3900 11
 7223 002e 7B68     		ldr	r3, [r7, #4]
 7224 0030 DB8F     		ldrh	r3, [r3, #62]	@ movhi
 7225 0032 9BB2     		uxth	r3, r3
 7226              		.loc 1 3900 6
 7227 0034 002B     		cmp	r3, #0
 7228 0036 02D1     		bne	.L351
3901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
3902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
3905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Enable CRC Transmission */
3906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
3907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
3908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SPI_CloseTx_ISR(hspi);
 7229              		.loc 1 3909 5
 7230 0038 7868     		ldr	r0, [r7, #4]
 7231 003a FFF7FEFF 		bl	SPI_CloseTx_ISR
 7232              	.L351:
3910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
3911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 7233              		.loc 1 3911 1
 7234 003e 00BF     		nop
 7235 0040 0837     		adds	r7, r7, #8
 7236              		.cfi_def_cfa_offset 8
 7237 0042 BD46     		mov	sp, r7
 7238              		.cfi_def_cfa_register 13
 7239              		@ sp needed
 7240 0044 80BD     		pop	{r7, pc}
 7241              		.cfi_endproc
 7242              	.LFE175:
 7244              		.section	.text.SPI_TxISR_16BIT,"ax",%progbits
 7245              		.align	1
 7246              		.syntax unified
 7247              		.thumb
 7248              		.thumb_func
 7250              	SPI_TxISR_16BIT:
 7251              	.LFB176:
3912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Handle the data 16-bit transmit in Interrupt mode.
3915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
3916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
3917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
3918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
3919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_TxISR_16BIT(struct __SPI_HandleTypeDef *hspi)
3920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 7252              		.loc 1 3920 1
 7253              		.cfi_startproc
 7254              		@ args = 0, pretend = 0, frame = 8
 7255              		@ frame_needed = 1, uses_anonymous_args = 0
 7256 0000 80B5     		push	{r7, lr}
 7257              		.cfi_def_cfa_offset 8
 7258              		.cfi_offset 7, -8
 7259              		.cfi_offset 14, -4
ARM GAS  /tmp/ccs34gJO.s 			page 196


 7260 0002 82B0     		sub	sp, sp, #8
 7261              		.cfi_def_cfa_offset 16
 7262 0004 00AF     		add	r7, sp, #0
 7263              		.cfi_def_cfa_register 7
 7264 0006 7860     		str	r0, [r7, #4]
3921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Transmit data in 16 Bit mode */
3922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
 7265              		.loc 1 3922 42
 7266 0008 7B68     		ldr	r3, [r7, #4]
 7267 000a 9B6B     		ldr	r3, [r3, #56]
 7268              		.loc 1 3922 24
 7269 000c 1A88     		ldrh	r2, [r3]
 7270              		.loc 1 3922 7
 7271 000e 7B68     		ldr	r3, [r7, #4]
 7272 0010 1B68     		ldr	r3, [r3]
 7273              		.loc 1 3922 22
 7274 0012 DA60     		str	r2, [r3, #12]
3923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->pTxBuffPtr += sizeof(uint16_t);
 7275              		.loc 1 3923 7
 7276 0014 7B68     		ldr	r3, [r7, #4]
 7277 0016 9B6B     		ldr	r3, [r3, #56]
 7278              		.loc 1 3923 20
 7279 0018 9A1C     		adds	r2, r3, #2
 7280 001a 7B68     		ldr	r3, [r7, #4]
 7281 001c 9A63     		str	r2, [r3, #56]
3924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->TxXferCount--;
 7282              		.loc 1 3924 7
 7283 001e 7B68     		ldr	r3, [r7, #4]
 7284 0020 DB8F     		ldrh	r3, [r3, #62]	@ movhi
 7285 0022 9BB2     		uxth	r3, r3
 7286              		.loc 1 3924 20
 7287 0024 013B     		subs	r3, r3, #1
 7288 0026 9AB2     		uxth	r2, r3
 7289 0028 7B68     		ldr	r3, [r7, #4]
 7290 002a DA87     		strh	r2, [r3, #62]	@ movhi
3925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->TxXferCount == 0U)
 7291              		.loc 1 3926 11
 7292 002c 7B68     		ldr	r3, [r7, #4]
 7293 002e DB8F     		ldrh	r3, [r3, #62]	@ movhi
 7294 0030 9BB2     		uxth	r3, r3
 7295              		.loc 1 3926 6
 7296 0032 002B     		cmp	r3, #0
 7297 0034 02D1     		bne	.L354
3927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
3928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
3931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Enable CRC Transmission */
3932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
3933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
3934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SPI_CloseTx_ISR(hspi);
 7298              		.loc 1 3935 5
 7299 0036 7868     		ldr	r0, [r7, #4]
 7300 0038 FFF7FEFF 		bl	SPI_CloseTx_ISR
 7301              	.L354:
ARM GAS  /tmp/ccs34gJO.s 			page 197


3936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 7302              		.loc 1 3937 1
 7303 003c 00BF     		nop
 7304 003e 0837     		adds	r7, r7, #8
 7305              		.cfi_def_cfa_offset 8
 7306 0040 BD46     		mov	sp, r7
 7307              		.cfi_def_cfa_register 13
 7308              		@ sp needed
 7309 0042 80BD     		pop	{r7, pc}
 7310              		.cfi_endproc
 7311              	.LFE176:
 7313              		.section	.text.SPI_WaitFlagStateUntilTimeout,"ax",%progbits
 7314              		.align	1
 7315              		.syntax unified
 7316              		.thumb
 7317              		.thumb_func
 7319              	SPI_WaitFlagStateUntilTimeout:
 7320              	.LFB177:
3938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Handle SPI Communication Timeout.
3941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
3942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *              the configuration information for SPI module.
3943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  Flag SPI flag to check
3944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  State flag state to check
3945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  Timeout Timeout duration
3946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  Tickstart tick start value
3947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval HAL status
3948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
3949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static HAL_StatusTypeDef SPI_WaitFlagStateUntilTimeout(SPI_HandleTypeDef *hspi, uint32_t Flag, Flag
3950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                                        uint32_t Timeout, uint32_t Tickstart)
3951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 7321              		.loc 1 3951 1
 7322              		.cfi_startproc
 7323              		@ args = 4, pretend = 0, frame = 32
 7324              		@ frame_needed = 1, uses_anonymous_args = 0
 7325 0000 80B5     		push	{r7, lr}
 7326              		.cfi_def_cfa_offset 8
 7327              		.cfi_offset 7, -8
 7328              		.cfi_offset 14, -4
 7329 0002 88B0     		sub	sp, sp, #32
 7330              		.cfi_def_cfa_offset 40
 7331 0004 00AF     		add	r7, sp, #0
 7332              		.cfi_def_cfa_register 7
 7333 0006 F860     		str	r0, [r7, #12]
 7334 0008 B960     		str	r1, [r7, #8]
 7335 000a 3B60     		str	r3, [r7]
 7336 000c 1346     		mov	r3, r2
 7337 000e FB71     		strb	r3, [r7, #7]
3952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __IO uint32_t count;
3953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   uint32_t tmp_timeout;
3954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   uint32_t tmp_tickstart;
3955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Adjust Timeout value  in case of end of transfer */
3957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   tmp_timeout   = Timeout - (HAL_GetTick() - Tickstart);
 7338              		.loc 1 3957 30
ARM GAS  /tmp/ccs34gJO.s 			page 198


 7339 0010 FFF7FEFF 		bl	HAL_GetTick
 7340 0014 0246     		mov	r2, r0
 7341              		.loc 1 3957 44 discriminator 1
 7342 0016 BB6A     		ldr	r3, [r7, #40]
 7343 0018 9B1A     		subs	r3, r3, r2
 7344              		.loc 1 3957 17 discriminator 1
 7345 001a 3A68     		ldr	r2, [r7]
 7346 001c 1344     		add	r3, r3, r2
 7347 001e FB61     		str	r3, [r7, #28]
3958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   tmp_tickstart = HAL_GetTick();
 7348              		.loc 1 3958 19
 7349 0020 FFF7FEFF 		bl	HAL_GetTick
 7350 0024 B861     		str	r0, [r7, #24]
3959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Calculate Timeout based on a software loop to avoid blocking issue if Systick is disabled */
3961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   count = tmp_timeout * ((SystemCoreClock * 32U) >> 20U);
 7351              		.loc 1 3961 43
 7352 0026 394B     		ldr	r3, .L366
 7353 0028 1B68     		ldr	r3, [r3]
 7354 002a 5B01     		lsls	r3, r3, #5
 7355              		.loc 1 3961 50
 7356 002c 1B0D     		lsrs	r3, r3, #20
 7357              		.loc 1 3961 23
 7358 002e FA69     		ldr	r2, [r7, #28]
 7359 0030 02FB03F3 		mul	r3, r2, r3
 7360              		.loc 1 3961 9
 7361 0034 7B61     		str	r3, [r7, #20]
3962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   while ((__HAL_SPI_GET_FLAG(hspi, Flag) ? SET : RESET) != State)
 7362              		.loc 1 3963 9
 7363 0036 54E0     		b	.L357
 7364              	.L365:
3964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
3965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (Timeout != HAL_MAX_DELAY)
 7365              		.loc 1 3965 8
 7366 0038 3B68     		ldr	r3, [r7]
 7367 003a B3F1FF3F 		cmp	r3, #-1
 7368 003e 50D0     		beq	.L357
3966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
3967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if (((HAL_GetTick() - tmp_tickstart) >= tmp_timeout) || (tmp_timeout == 0U))
 7369              		.loc 1 3967 13
 7370 0040 FFF7FEFF 		bl	HAL_GetTick
 7371 0044 0246     		mov	r2, r0
 7372              		.loc 1 3967 27 discriminator 1
 7373 0046 BB69     		ldr	r3, [r7, #24]
 7374 0048 D31A     		subs	r3, r2, r3
 7375              		.loc 1 3967 10 discriminator 1
 7376 004a FA69     		ldr	r2, [r7, #28]
 7377 004c 9A42     		cmp	r2, r3
 7378 004e 02D9     		bls	.L358
 7379              		.loc 1 3967 60 discriminator 1
 7380 0050 FB69     		ldr	r3, [r7, #28]
 7381 0052 002B     		cmp	r3, #0
 7382 0054 3DD1     		bne	.L359
 7383              	.L358:
3968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
3969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Disable the SPI and reset the CRC: the CRC value should be cleared
ARM GAS  /tmp/ccs34gJO.s 			page 199


3970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****            on both master and slave sides in order to resynchronize the master
3971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****            and slave for their respective CRC calculation */
3972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Disable TXE, RXNE and ERR interrupts for the interrupt process */
3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_TXE | SPI_IT_RXNE | SPI_IT_ERR));
 7384              		.loc 1 3974 9
 7385 0056 FB68     		ldr	r3, [r7, #12]
 7386 0058 1B68     		ldr	r3, [r3]
 7387 005a 5A68     		ldr	r2, [r3, #4]
 7388 005c FB68     		ldr	r3, [r7, #12]
 7389 005e 1B68     		ldr	r3, [r3]
 7390 0060 22F0E002 		bic	r2, r2, #224
 7391 0064 5A60     		str	r2, [r3, #4]
3975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE)
 7392              		.loc 1 3976 24
 7393 0066 FB68     		ldr	r3, [r7, #12]
 7394 0068 5B68     		ldr	r3, [r3, #4]
 7395              		.loc 1 3976 12
 7396 006a B3F5827F 		cmp	r3, #260
 7397 006e 11D1     		bne	.L360
 7398              		.loc 1 3976 65 discriminator 1
 7399 0070 FB68     		ldr	r3, [r7, #12]
 7400 0072 9B68     		ldr	r3, [r3, #8]
 7401              		.loc 1 3976 50 discriminator 1
 7402 0074 B3F5004F 		cmp	r3, #32768
 7403 0078 04D0     		beq	.L361
3977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                                      || (hspi->Init.Direction == SPI_DIRECTION_2LIN
 7404              		.loc 1 3977 68
 7405 007a FB68     		ldr	r3, [r7, #12]
 7406 007c 9B68     		ldr	r3, [r3, #8]
 7407              		.loc 1 3977 54
 7408 007e B3F5806F 		cmp	r3, #1024
 7409 0082 07D1     		bne	.L360
 7410              	.L361:
3978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         {
3979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           /* Disable SPI peripheral */
3980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           __HAL_SPI_DISABLE(hspi);
 7411              		.loc 1 3980 11
 7412 0084 FB68     		ldr	r3, [r7, #12]
 7413 0086 1B68     		ldr	r3, [r3]
 7414 0088 1A68     		ldr	r2, [r3]
 7415 008a FB68     		ldr	r3, [r7, #12]
 7416 008c 1B68     		ldr	r3, [r3]
 7417 008e 22F04002 		bic	r2, r2, #64
 7418 0092 1A60     		str	r2, [r3]
 7419              	.L360:
3981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         }
3982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Reset CRC Calculation */
3984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
 7420              		.loc 1 3984 23
 7421 0094 FB68     		ldr	r3, [r7, #12]
 7422 0096 9B6A     		ldr	r3, [r3, #40]
 7423              		.loc 1 3984 12
 7424 0098 B3F5005F 		cmp	r3, #8192
 7425 009c 0FD1     		bne	.L362
ARM GAS  /tmp/ccs34gJO.s 			page 200


3985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         {
3986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           SPI_RESET_CRC(hspi);
 7426              		.loc 1 3986 11
 7427 009e FB68     		ldr	r3, [r7, #12]
 7428 00a0 1B68     		ldr	r3, [r3]
 7429 00a2 1A68     		ldr	r2, [r3]
 7430 00a4 FB68     		ldr	r3, [r7, #12]
 7431 00a6 1B68     		ldr	r3, [r3]
 7432 00a8 22F40052 		bic	r2, r2, #8192
 7433 00ac 1A60     		str	r2, [r3]
 7434 00ae FB68     		ldr	r3, [r7, #12]
 7435 00b0 1B68     		ldr	r3, [r3]
 7436 00b2 1A68     		ldr	r2, [r3]
 7437 00b4 FB68     		ldr	r3, [r7, #12]
 7438 00b6 1B68     		ldr	r3, [r3]
 7439 00b8 42F40052 		orr	r2, r2, #8192
 7440 00bc 1A60     		str	r2, [r3]
 7441              	.L362:
3987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         }
3988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->State = HAL_SPI_STATE_READY;
 7442              		.loc 1 3989 21
 7443 00be FB68     		ldr	r3, [r7, #12]
 7444 00c0 0122     		movs	r2, #1
 7445 00c2 83F85D20 		strb	r2, [r3, #93]
3990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Process Unlocked */
3992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         __HAL_UNLOCK(hspi);
 7446              		.loc 1 3992 9
 7447 00c6 FB68     		ldr	r3, [r7, #12]
 7448 00c8 0022     		movs	r2, #0
 7449 00ca 83F85C20 		strb	r2, [r3, #92]
3993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
3994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         return HAL_TIMEOUT;
 7450              		.loc 1 3994 16
 7451 00ce 0323     		movs	r3, #3
 7452 00d0 17E0     		b	.L363
 7453              	.L359:
3995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
3996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* If Systick is disabled or not incremented, deactivate timeout to go in disable loop proced
3997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if (count == 0U)
 7454              		.loc 1 3997 17
 7455 00d2 7B69     		ldr	r3, [r7, #20]
 7456              		.loc 1 3997 10
 7457 00d4 002B     		cmp	r3, #0
 7458 00d6 01D1     		bne	.L364
3998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
3999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         tmp_timeout = 0U;
 7459              		.loc 1 3999 21
 7460 00d8 0023     		movs	r3, #0
 7461 00da FB61     		str	r3, [r7, #28]
 7462              	.L364:
4000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
4001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       count--;
 7463              		.loc 1 4001 12
 7464 00dc 7B69     		ldr	r3, [r7, #20]
 7465 00de 013B     		subs	r3, r3, #1
ARM GAS  /tmp/ccs34gJO.s 			page 201


 7466 00e0 7B61     		str	r3, [r7, #20]
 7467              	.L357:
3963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 7468              		.loc 1 3963 11
 7469 00e2 FB68     		ldr	r3, [r7, #12]
 7470 00e4 1B68     		ldr	r3, [r3]
 7471 00e6 9A68     		ldr	r2, [r3, #8]
 7472 00e8 BB68     		ldr	r3, [r7, #8]
 7473 00ea 1340     		ands	r3, r3, r2
3963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 7474              		.loc 1 3963 48
 7475 00ec BA68     		ldr	r2, [r7, #8]
 7476 00ee 9A42     		cmp	r2, r3
 7477 00f0 0CBF     		ite	eq
 7478 00f2 0123     		moveq	r3, #1
 7479 00f4 0023     		movne	r3, #0
 7480 00f6 DBB2     		uxtb	r3, r3
 7481 00f8 1A46     		mov	r2, r3
3963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 7482              		.loc 1 3963 57
 7483 00fa FB79     		ldrb	r3, [r7, #7]	@ zero_extendqisi2
 7484 00fc 9A42     		cmp	r2, r3
 7485 00fe 9BD1     		bne	.L365
4002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
4003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
4004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   return HAL_OK;
 7486              		.loc 1 4005 10
 7487 0100 0023     		movs	r3, #0
 7488              	.L363:
4006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 7489              		.loc 1 4006 1
 7490 0102 1846     		mov	r0, r3
 7491 0104 2037     		adds	r7, r7, #32
 7492              		.cfi_def_cfa_offset 8
 7493 0106 BD46     		mov	sp, r7
 7494              		.cfi_def_cfa_register 13
 7495              		@ sp needed
 7496 0108 80BD     		pop	{r7, pc}
 7497              	.L367:
 7498 010a 00BF     		.align	2
 7499              	.L366:
 7500 010c 00000000 		.word	SystemCoreClock
 7501              		.cfi_endproc
 7502              	.LFE177:
 7504              		.section	.text.SPI_WaitFifoStateUntilTimeout,"ax",%progbits
 7505              		.align	1
 7506              		.syntax unified
 7507              		.thumb
 7508              		.thumb_func
 7510              	SPI_WaitFifoStateUntilTimeout:
 7511              	.LFB178:
4007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
4009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Handle SPI FIFO Communication Timeout.
4010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
4011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *              the configuration information for SPI module.
ARM GAS  /tmp/ccs34gJO.s 			page 202


4012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  Fifo Fifo to check
4013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  State Fifo state to check
4014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  Timeout Timeout duration
4015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  Tickstart tick start value
4016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval HAL status
4017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
4018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static HAL_StatusTypeDef SPI_WaitFifoStateUntilTimeout(SPI_HandleTypeDef *hspi, uint32_t Fifo, uint
4019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                                        uint32_t Timeout, uint32_t Tickstart)
4020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 7512              		.loc 1 4020 1
 7513              		.cfi_startproc
 7514              		@ args = 4, pretend = 0, frame = 40
 7515              		@ frame_needed = 1, uses_anonymous_args = 0
 7516 0000 80B5     		push	{r7, lr}
 7517              		.cfi_def_cfa_offset 8
 7518              		.cfi_offset 7, -8
 7519              		.cfi_offset 14, -4
 7520 0002 8AB0     		sub	sp, sp, #40
 7521              		.cfi_def_cfa_offset 48
 7522 0004 00AF     		add	r7, sp, #0
 7523              		.cfi_def_cfa_register 7
 7524 0006 F860     		str	r0, [r7, #12]
 7525 0008 B960     		str	r1, [r7, #8]
 7526 000a 7A60     		str	r2, [r7, #4]
 7527 000c 3B60     		str	r3, [r7]
4021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __IO uint32_t count;
4022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   uint32_t tmp_timeout;
4023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   uint32_t tmp_tickstart;
4024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __IO uint8_t  *ptmpreg8;
4025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __IO uint8_t  tmpreg8 = 0;
 7528              		.loc 1 4025 17
 7529 000e 0023     		movs	r3, #0
 7530 0010 FB75     		strb	r3, [r7, #23]
4026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Adjust Timeout value  in case of end of transfer */
4028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   tmp_timeout = Timeout - (HAL_GetTick() - Tickstart);
 7531              		.loc 1 4028 28
 7532 0012 FFF7FEFF 		bl	HAL_GetTick
 7533 0016 0246     		mov	r2, r0
 7534              		.loc 1 4028 42 discriminator 1
 7535 0018 3B6B     		ldr	r3, [r7, #48]
 7536 001a 9B1A     		subs	r3, r3, r2
 7537              		.loc 1 4028 15 discriminator 1
 7538 001c 3A68     		ldr	r2, [r7]
 7539 001e 1344     		add	r3, r3, r2
 7540 0020 7B62     		str	r3, [r7, #36]
4029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   tmp_tickstart = HAL_GetTick();
 7541              		.loc 1 4029 19
 7542 0022 FFF7FEFF 		bl	HAL_GetTick
 7543 0026 3862     		str	r0, [r7, #32]
4030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Initialize the 8bit temporary pointer */
4032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   ptmpreg8 = (__IO uint8_t *)&hspi->Instance->DR;
 7544              		.loc 1 4032 35
 7545 0028 FB68     		ldr	r3, [r7, #12]
 7546 002a 1B68     		ldr	r3, [r3]
 7547              		.loc 1 4032 12
ARM GAS  /tmp/ccs34gJO.s 			page 203


 7548 002c 0C33     		adds	r3, r3, #12
 7549 002e FB61     		str	r3, [r7, #28]
4033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Calculate Timeout based on a software loop to avoid blocking issue if Systick is disabled */
4035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   count = tmp_timeout * ((SystemCoreClock * 35U) >> 20U);
 7550              		.loc 1 4035 43
 7551 0030 3D4B     		ldr	r3, .L380
 7552 0032 1A68     		ldr	r2, [r3]
 7553 0034 1346     		mov	r3, r2
 7554 0036 9B00     		lsls	r3, r3, #2
 7555 0038 1344     		add	r3, r3, r2
 7556 003a DA00     		lsls	r2, r3, #3
 7557 003c D31A     		subs	r3, r2, r3
 7558              		.loc 1 4035 50
 7559 003e 1B0D     		lsrs	r3, r3, #20
 7560              		.loc 1 4035 23
 7561 0040 7A6A     		ldr	r2, [r7, #36]
 7562 0042 02FB03F3 		mul	r3, r2, r3
 7563              		.loc 1 4035 9
 7564 0046 BB61     		str	r3, [r7, #24]
4036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   while ((hspi->Instance->SR & Fifo) != State)
 7565              		.loc 1 4037 9
 7566 0048 60E0     		b	.L371
 7567              	.L379:
4038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
4039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if ((Fifo == SPI_SR_FRLVL) && (State == SPI_FRLVL_EMPTY))
 7568              		.loc 1 4039 8
 7569 004a BB68     		ldr	r3, [r7, #8]
 7570 004c B3F5C06F 		cmp	r3, #1536
 7571 0050 07D1     		bne	.L370
 7572              		.loc 1 4039 32 discriminator 1
 7573 0052 7B68     		ldr	r3, [r7, #4]
 7574 0054 002B     		cmp	r3, #0
 7575 0056 04D1     		bne	.L370
4040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
4041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Flush Data Register by a blank read */
4042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       tmpreg8 = *ptmpreg8;
 7576              		.loc 1 4042 17
 7577 0058 FB69     		ldr	r3, [r7, #28]
 7578 005a 1B78     		ldrb	r3, [r3]
 7579 005c DBB2     		uxtb	r3, r3
 7580              		.loc 1 4042 15
 7581 005e FB75     		strb	r3, [r7, #23]
4043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* To avoid GCC warning */
4044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       UNUSED(tmpreg8);
 7582              		.loc 1 4044 7
 7583 0060 FB7D     		ldrb	r3, [r7, #23]
 7584              	.L370:
4045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
4046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (Timeout != HAL_MAX_DELAY)
 7585              		.loc 1 4047 8
 7586 0062 3B68     		ldr	r3, [r7]
 7587 0064 B3F1FF3F 		cmp	r3, #-1
 7588 0068 50D0     		beq	.L371
4048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
ARM GAS  /tmp/ccs34gJO.s 			page 204


4049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if (((HAL_GetTick() - tmp_tickstart) >= tmp_timeout) || (tmp_timeout == 0U))
 7589              		.loc 1 4049 13
 7590 006a FFF7FEFF 		bl	HAL_GetTick
 7591 006e 0246     		mov	r2, r0
 7592              		.loc 1 4049 27 discriminator 1
 7593 0070 3B6A     		ldr	r3, [r7, #32]
 7594 0072 D31A     		subs	r3, r2, r3
 7595              		.loc 1 4049 10 discriminator 1
 7596 0074 7A6A     		ldr	r2, [r7, #36]
 7597 0076 9A42     		cmp	r2, r3
 7598 0078 02D9     		bls	.L372
 7599              		.loc 1 4049 60 discriminator 1
 7600 007a 7B6A     		ldr	r3, [r7, #36]
 7601 007c 002B     		cmp	r3, #0
 7602 007e 3DD1     		bne	.L373
 7603              	.L372:
4050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
4051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Disable the SPI and reset the CRC: the CRC value should be cleared
4052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****            on both master and slave sides in order to resynchronize the master
4053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****            and slave for their respective CRC calculation */
4054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Disable TXE, RXNE and ERR interrupts for the interrupt process */
4056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_TXE | SPI_IT_RXNE | SPI_IT_ERR));
 7604              		.loc 1 4056 9
 7605 0080 FB68     		ldr	r3, [r7, #12]
 7606 0082 1B68     		ldr	r3, [r3]
 7607 0084 5A68     		ldr	r2, [r3, #4]
 7608 0086 FB68     		ldr	r3, [r7, #12]
 7609 0088 1B68     		ldr	r3, [r3]
 7610 008a 22F0E002 		bic	r2, r2, #224
 7611 008e 5A60     		str	r2, [r3, #4]
4057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE)
 7612              		.loc 1 4058 24
 7613 0090 FB68     		ldr	r3, [r7, #12]
 7614 0092 5B68     		ldr	r3, [r3, #4]
 7615              		.loc 1 4058 12
 7616 0094 B3F5827F 		cmp	r3, #260
 7617 0098 11D1     		bne	.L374
 7618              		.loc 1 4058 65 discriminator 1
 7619 009a FB68     		ldr	r3, [r7, #12]
 7620 009c 9B68     		ldr	r3, [r3, #8]
 7621              		.loc 1 4058 50 discriminator 1
 7622 009e B3F5004F 		cmp	r3, #32768
 7623 00a2 04D0     		beq	.L375
4059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                                      || (hspi->Init.Direction == SPI_DIRECTION_2LIN
 7624              		.loc 1 4059 68
 7625 00a4 FB68     		ldr	r3, [r7, #12]
 7626 00a6 9B68     		ldr	r3, [r3, #8]
 7627              		.loc 1 4059 54
 7628 00a8 B3F5806F 		cmp	r3, #1024
 7629 00ac 07D1     		bne	.L374
 7630              	.L375:
4060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         {
4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           /* Disable SPI peripheral */
4062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           __HAL_SPI_DISABLE(hspi);
 7631              		.loc 1 4062 11
ARM GAS  /tmp/ccs34gJO.s 			page 205


 7632 00ae FB68     		ldr	r3, [r7, #12]
 7633 00b0 1B68     		ldr	r3, [r3]
 7634 00b2 1A68     		ldr	r2, [r3]
 7635 00b4 FB68     		ldr	r3, [r7, #12]
 7636 00b6 1B68     		ldr	r3, [r3]
 7637 00b8 22F04002 		bic	r2, r2, #64
 7638 00bc 1A60     		str	r2, [r3]
 7639              	.L374:
4063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         }
4064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Reset CRC Calculation */
4066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
 7640              		.loc 1 4066 23
 7641 00be FB68     		ldr	r3, [r7, #12]
 7642 00c0 9B6A     		ldr	r3, [r3, #40]
 7643              		.loc 1 4066 12
 7644 00c2 B3F5005F 		cmp	r3, #8192
 7645 00c6 0FD1     		bne	.L376
4067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         {
4068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****           SPI_RESET_CRC(hspi);
 7646              		.loc 1 4068 11
 7647 00c8 FB68     		ldr	r3, [r7, #12]
 7648 00ca 1B68     		ldr	r3, [r3]
 7649 00cc 1A68     		ldr	r2, [r3]
 7650 00ce FB68     		ldr	r3, [r7, #12]
 7651 00d0 1B68     		ldr	r3, [r3]
 7652 00d2 22F40052 		bic	r2, r2, #8192
 7653 00d6 1A60     		str	r2, [r3]
 7654 00d8 FB68     		ldr	r3, [r7, #12]
 7655 00da 1B68     		ldr	r3, [r3]
 7656 00dc 1A68     		ldr	r2, [r3]
 7657 00de FB68     		ldr	r3, [r7, #12]
 7658 00e0 1B68     		ldr	r3, [r3]
 7659 00e2 42F40052 		orr	r2, r2, #8192
 7660 00e6 1A60     		str	r2, [r3]
 7661              	.L376:
4069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         }
4070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->State = HAL_SPI_STATE_READY;
 7662              		.loc 1 4071 21
 7663 00e8 FB68     		ldr	r3, [r7, #12]
 7664 00ea 0122     		movs	r2, #1
 7665 00ec 83F85D20 		strb	r2, [r3, #93]
4072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Process Unlocked */
4074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         __HAL_UNLOCK(hspi);
 7666              		.loc 1 4074 9
 7667 00f0 FB68     		ldr	r3, [r7, #12]
 7668 00f2 0022     		movs	r2, #0
 7669 00f4 83F85C20 		strb	r2, [r3, #92]
4075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         return HAL_TIMEOUT;
 7670              		.loc 1 4076 16
 7671 00f8 0323     		movs	r3, #3
 7672 00fa 10E0     		b	.L377
 7673              	.L373:
4077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
ARM GAS  /tmp/ccs34gJO.s 			page 206


4078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* If Systick is disabled or not incremented, deactivate timeout to go in disable loop proced
4079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if (count == 0U)
 7674              		.loc 1 4079 17
 7675 00fc BB69     		ldr	r3, [r7, #24]
 7676              		.loc 1 4079 10
 7677 00fe 002B     		cmp	r3, #0
 7678 0100 01D1     		bne	.L378
4080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
4081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         tmp_timeout = 0U;
 7679              		.loc 1 4081 21
 7680 0102 0023     		movs	r3, #0
 7681 0104 7B62     		str	r3, [r7, #36]
 7682              	.L378:
4082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
4083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       count--;
 7683              		.loc 1 4083 12
 7684 0106 BB69     		ldr	r3, [r7, #24]
 7685 0108 013B     		subs	r3, r3, #1
 7686 010a BB61     		str	r3, [r7, #24]
 7687              	.L371:
4037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 7688              		.loc 1 4037 15
 7689 010c FB68     		ldr	r3, [r7, #12]
 7690 010e 1B68     		ldr	r3, [r3]
4037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 7691              		.loc 1 4037 25
 7692 0110 9A68     		ldr	r2, [r3, #8]
4037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 7693              		.loc 1 4037 30
 7694 0112 BB68     		ldr	r3, [r7, #8]
 7695 0114 1340     		ands	r3, r3, r2
4037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
 7696              		.loc 1 4037 38
 7697 0116 7A68     		ldr	r2, [r7, #4]
 7698 0118 9A42     		cmp	r2, r3
 7699 011a 96D1     		bne	.L379
4084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
4085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
4086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   return HAL_OK;
 7700              		.loc 1 4087 10
 7701 011c 0023     		movs	r3, #0
 7702              	.L377:
4088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 7703              		.loc 1 4088 1
 7704 011e 1846     		mov	r0, r3
 7705 0120 2837     		adds	r7, r7, #40
 7706              		.cfi_def_cfa_offset 8
 7707 0122 BD46     		mov	sp, r7
 7708              		.cfi_def_cfa_register 13
 7709              		@ sp needed
 7710 0124 80BD     		pop	{r7, pc}
 7711              	.L381:
 7712 0126 00BF     		.align	2
 7713              	.L380:
 7714 0128 00000000 		.word	SystemCoreClock
 7715              		.cfi_endproc
ARM GAS  /tmp/ccs34gJO.s 			page 207


 7716              	.LFE178:
 7718              		.section	.text.SPI_EndRxTransaction,"ax",%progbits
 7719              		.align	1
 7720              		.syntax unified
 7721              		.thumb
 7722              		.thumb_func
 7724              	SPI_EndRxTransaction:
 7725              	.LFB179:
4089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
4091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Handle the check of the RX transaction complete.
4092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
4093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
4094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  Timeout Timeout duration
4095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  Tickstart tick start value
4096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval HAL status
4097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
4098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static HAL_StatusTypeDef SPI_EndRxTransaction(SPI_HandleTypeDef *hspi,  uint32_t Timeout, uint32_t 
4099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 7726              		.loc 1 4099 1
 7727              		.cfi_startproc
 7728              		@ args = 0, pretend = 0, frame = 16
 7729              		@ frame_needed = 1, uses_anonymous_args = 0
 7730 0000 80B5     		push	{r7, lr}
 7731              		.cfi_def_cfa_offset 8
 7732              		.cfi_offset 7, -8
 7733              		.cfi_offset 14, -4
 7734 0002 86B0     		sub	sp, sp, #24
 7735              		.cfi_def_cfa_offset 32
 7736 0004 02AF     		add	r7, sp, #8
 7737              		.cfi_def_cfa 7, 24
 7738 0006 F860     		str	r0, [r7, #12]
 7739 0008 B960     		str	r1, [r7, #8]
 7740 000a 7A60     		str	r2, [r7, #4]
4100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE)
 7741              		.loc 1 4100 18
 7742 000c FB68     		ldr	r3, [r7, #12]
 7743 000e 5B68     		ldr	r3, [r3, #4]
 7744              		.loc 1 4100 6
 7745 0010 B3F5827F 		cmp	r3, #260
 7746 0014 11D1     		bne	.L383
 7747              		.loc 1 4100 59 discriminator 1
 7748 0016 FB68     		ldr	r3, [r7, #12]
 7749 0018 9B68     		ldr	r3, [r3, #8]
 7750              		.loc 1 4100 44 discriminator 1
 7751 001a B3F5004F 		cmp	r3, #32768
 7752 001e 04D0     		beq	.L384
4101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                                || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO
 7753              		.loc 1 4101 62
 7754 0020 FB68     		ldr	r3, [r7, #12]
 7755 0022 9B68     		ldr	r3, [r3, #8]
 7756              		.loc 1 4101 48
 7757 0024 B3F5806F 		cmp	r3, #1024
 7758 0028 07D1     		bne	.L383
 7759              	.L384:
4102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
4103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Disable SPI peripheral */
ARM GAS  /tmp/ccs34gJO.s 			page 208


4104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     __HAL_SPI_DISABLE(hspi);
 7760              		.loc 1 4104 5
 7761 002a FB68     		ldr	r3, [r7, #12]
 7762 002c 1B68     		ldr	r3, [r3]
 7763 002e 1A68     		ldr	r2, [r3]
 7764 0030 FB68     		ldr	r3, [r7, #12]
 7765 0032 1B68     		ldr	r3, [r3]
 7766 0034 22F04002 		bic	r2, r2, #64
 7767 0038 1A60     		str	r2, [r3]
 7768              	.L383:
4105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
4106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Control the BSY flag */
4108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_BSY, RESET, Timeout, Tickstart) != HAL_OK)
 7769              		.loc 1 4108 7
 7770 003a 7B68     		ldr	r3, [r7, #4]
 7771 003c 0093     		str	r3, [sp]
 7772 003e BB68     		ldr	r3, [r7, #8]
 7773 0040 0022     		movs	r2, #0
 7774 0042 8021     		movs	r1, #128
 7775 0044 F868     		ldr	r0, [r7, #12]
 7776 0046 FFF7FEFF 		bl	SPI_WaitFlagStateUntilTimeout
 7777 004a 0346     		mov	r3, r0
 7778              		.loc 1 4108 6 discriminator 1
 7779 004c 002B     		cmp	r3, #0
 7780 004e 07D0     		beq	.L385
4109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
4110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
 7781              		.loc 1 4110 5
 7782 0050 FB68     		ldr	r3, [r7, #12]
 7783 0052 1B6E     		ldr	r3, [r3, #96]
 7784 0054 43F02002 		orr	r2, r3, #32
 7785 0058 FB68     		ldr	r3, [r7, #12]
 7786 005a 1A66     		str	r2, [r3, #96]
4111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     return HAL_TIMEOUT;
 7787              		.loc 1 4111 12
 7788 005c 0323     		movs	r3, #3
 7789 005e 23E0     		b	.L386
 7790              	.L385:
4112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
4113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE)
 7791              		.loc 1 4114 18
 7792 0060 FB68     		ldr	r3, [r7, #12]
 7793 0062 5B68     		ldr	r3, [r3, #4]
 7794              		.loc 1 4114 6
 7795 0064 B3F5827F 		cmp	r3, #260
 7796 0068 1DD1     		bne	.L387
 7797              		.loc 1 4114 59 discriminator 1
 7798 006a FB68     		ldr	r3, [r7, #12]
 7799 006c 9B68     		ldr	r3, [r3, #8]
 7800              		.loc 1 4114 44 discriminator 1
 7801 006e B3F5004F 		cmp	r3, #32768
 7802 0072 04D0     		beq	.L388
4115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****                                                || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO
 7803              		.loc 1 4115 62
 7804 0074 FB68     		ldr	r3, [r7, #12]
ARM GAS  /tmp/ccs34gJO.s 			page 209


 7805 0076 9B68     		ldr	r3, [r3, #8]
 7806              		.loc 1 4115 48
 7807 0078 B3F5806F 		cmp	r3, #1024
 7808 007c 13D1     		bne	.L387
 7809              	.L388:
4116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
4117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Empty the FRLVL fifo */
4118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, Timeout, Tickstart) !=
 7810              		.loc 1 4118 9
 7811 007e 7B68     		ldr	r3, [r7, #4]
 7812 0080 0093     		str	r3, [sp]
 7813 0082 BB68     		ldr	r3, [r7, #8]
 7814 0084 0022     		movs	r2, #0
 7815 0086 4FF4C061 		mov	r1, #1536
 7816 008a F868     		ldr	r0, [r7, #12]
 7817 008c FFF7FEFF 		bl	SPI_WaitFifoStateUntilTimeout
 7818 0090 0346     		mov	r3, r0
 7819              		.loc 1 4118 8 discriminator 1
 7820 0092 002B     		cmp	r3, #0
 7821 0094 07D0     		beq	.L387
4119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
4120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
 7822              		.loc 1 4120 7
 7823 0096 FB68     		ldr	r3, [r7, #12]
 7824 0098 1B6E     		ldr	r3, [r3, #96]
 7825 009a 43F02002 		orr	r2, r3, #32
 7826 009e FB68     		ldr	r3, [r7, #12]
 7827 00a0 1A66     		str	r2, [r3, #96]
4121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       return HAL_TIMEOUT;
 7828              		.loc 1 4121 14
 7829 00a2 0323     		movs	r3, #3
 7830 00a4 00E0     		b	.L386
 7831              	.L387:
4122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
4123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
4124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   return HAL_OK;
 7832              		.loc 1 4124 10
 7833 00a6 0023     		movs	r3, #0
 7834              	.L386:
4125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 7835              		.loc 1 4125 1
 7836 00a8 1846     		mov	r0, r3
 7837 00aa 1037     		adds	r7, r7, #16
 7838              		.cfi_def_cfa_offset 8
 7839 00ac BD46     		mov	sp, r7
 7840              		.cfi_def_cfa_register 13
 7841              		@ sp needed
 7842 00ae 80BD     		pop	{r7, pc}
 7843              		.cfi_endproc
 7844              	.LFE179:
 7846              		.section	.text.SPI_EndRxTxTransaction,"ax",%progbits
 7847              		.align	1
 7848              		.syntax unified
 7849              		.thumb
 7850              		.thumb_func
 7852              	SPI_EndRxTxTransaction:
 7853              	.LFB180:
ARM GAS  /tmp/ccs34gJO.s 			page 210


4126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
4128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Handle the check of the RXTX or TX transaction complete.
4129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi SPI handle
4130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  Timeout Timeout duration
4131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  Tickstart tick start value
4132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval HAL status
4133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
4134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static HAL_StatusTypeDef SPI_EndRxTxTransaction(SPI_HandleTypeDef *hspi, uint32_t Timeout, uint32_t
4135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 7854              		.loc 1 4135 1
 7855              		.cfi_startproc
 7856              		@ args = 0, pretend = 0, frame = 16
 7857              		@ frame_needed = 1, uses_anonymous_args = 0
 7858 0000 80B5     		push	{r7, lr}
 7859              		.cfi_def_cfa_offset 8
 7860              		.cfi_offset 7, -8
 7861              		.cfi_offset 14, -4
 7862 0002 86B0     		sub	sp, sp, #24
 7863              		.cfi_def_cfa_offset 32
 7864 0004 02AF     		add	r7, sp, #8
 7865              		.cfi_def_cfa 7, 24
 7866 0006 F860     		str	r0, [r7, #12]
 7867 0008 B960     		str	r1, [r7, #8]
 7868 000a 7A60     		str	r2, [r7, #4]
4136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Control if the TX fifo is empty */
4137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FTLVL, SPI_FTLVL_EMPTY, Timeout, Tickstart) != H
 7869              		.loc 1 4137 7
 7870 000c 7B68     		ldr	r3, [r7, #4]
 7871 000e 0093     		str	r3, [sp]
 7872 0010 BB68     		ldr	r3, [r7, #8]
 7873 0012 0022     		movs	r2, #0
 7874 0014 4FF4C051 		mov	r1, #6144
 7875 0018 F868     		ldr	r0, [r7, #12]
 7876 001a FFF7FEFF 		bl	SPI_WaitFifoStateUntilTimeout
 7877 001e 0346     		mov	r3, r0
 7878              		.loc 1 4137 6 discriminator 1
 7879 0020 002B     		cmp	r3, #0
 7880 0022 07D0     		beq	.L390
4138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
4139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
 7881              		.loc 1 4139 5
 7882 0024 FB68     		ldr	r3, [r7, #12]
 7883 0026 1B6E     		ldr	r3, [r3, #96]
 7884 0028 43F02002 		orr	r2, r3, #32
 7885 002c FB68     		ldr	r3, [r7, #12]
 7886 002e 1A66     		str	r2, [r3, #96]
4140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     return HAL_TIMEOUT;
 7887              		.loc 1 4140 12
 7888 0030 0323     		movs	r3, #3
 7889 0032 27E0     		b	.L391
 7890              	.L390:
4141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
4142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Control the BSY flag */
4144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_BSY, RESET, Timeout, Tickstart) != HAL_OK)
 7891              		.loc 1 4144 7
ARM GAS  /tmp/ccs34gJO.s 			page 211


 7892 0034 7B68     		ldr	r3, [r7, #4]
 7893 0036 0093     		str	r3, [sp]
 7894 0038 BB68     		ldr	r3, [r7, #8]
 7895 003a 0022     		movs	r2, #0
 7896 003c 8021     		movs	r1, #128
 7897 003e F868     		ldr	r0, [r7, #12]
 7898 0040 FFF7FEFF 		bl	SPI_WaitFlagStateUntilTimeout
 7899 0044 0346     		mov	r3, r0
 7900              		.loc 1 4144 6 discriminator 1
 7901 0046 002B     		cmp	r3, #0
 7902 0048 07D0     		beq	.L392
4145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
4146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
 7903              		.loc 1 4146 5
 7904 004a FB68     		ldr	r3, [r7, #12]
 7905 004c 1B6E     		ldr	r3, [r3, #96]
 7906 004e 43F02002 		orr	r2, r3, #32
 7907 0052 FB68     		ldr	r3, [r7, #12]
 7908 0054 1A66     		str	r2, [r3, #96]
4147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     return HAL_TIMEOUT;
 7909              		.loc 1 4147 12
 7910 0056 0323     		movs	r3, #3
 7911 0058 14E0     		b	.L391
 7912              	.L392:
4148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
4149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Control if the RX fifo is empty */
4151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, Timeout, Tickstart) != H
 7913              		.loc 1 4151 7
 7914 005a 7B68     		ldr	r3, [r7, #4]
 7915 005c 0093     		str	r3, [sp]
 7916 005e BB68     		ldr	r3, [r7, #8]
 7917 0060 0022     		movs	r2, #0
 7918 0062 4FF4C061 		mov	r1, #1536
 7919 0066 F868     		ldr	r0, [r7, #12]
 7920 0068 FFF7FEFF 		bl	SPI_WaitFifoStateUntilTimeout
 7921 006c 0346     		mov	r3, r0
 7922              		.loc 1 4151 6 discriminator 1
 7923 006e 002B     		cmp	r3, #0
 7924 0070 07D0     		beq	.L393
4152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
4153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
 7925              		.loc 1 4153 5
 7926 0072 FB68     		ldr	r3, [r7, #12]
 7927 0074 1B6E     		ldr	r3, [r3, #96]
 7928 0076 43F02002 		orr	r2, r3, #32
 7929 007a FB68     		ldr	r3, [r7, #12]
 7930 007c 1A66     		str	r2, [r3, #96]
4154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     return HAL_TIMEOUT;
 7931              		.loc 1 4154 12
 7932 007e 0323     		movs	r3, #3
 7933 0080 00E0     		b	.L391
 7934              	.L393:
4155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
4156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   return HAL_OK;
 7935              		.loc 1 4157 10
ARM GAS  /tmp/ccs34gJO.s 			page 212


 7936 0082 0023     		movs	r3, #0
 7937              	.L391:
4158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 7938              		.loc 1 4158 1
 7939 0084 1846     		mov	r0, r3
 7940 0086 1037     		adds	r7, r7, #16
 7941              		.cfi_def_cfa_offset 8
 7942 0088 BD46     		mov	sp, r7
 7943              		.cfi_def_cfa_register 13
 7944              		@ sp needed
 7945 008a 80BD     		pop	{r7, pc}
 7946              		.cfi_endproc
 7947              	.LFE180:
 7949              		.section	.text.SPI_CloseRxTx_ISR,"ax",%progbits
 7950              		.align	1
 7951              		.syntax unified
 7952              		.thumb
 7953              		.thumb_func
 7955              	SPI_CloseRxTx_ISR:
 7956              	.LFB181:
4159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
4161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Handle the end of the RXTX transaction.
4162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
4163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
4164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
4165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
4166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_CloseRxTx_ISR(SPI_HandleTypeDef *hspi)
4167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 7957              		.loc 1 4167 1
 7958              		.cfi_startproc
 7959              		@ args = 0, pretend = 0, frame = 16
 7960              		@ frame_needed = 1, uses_anonymous_args = 0
 7961 0000 80B5     		push	{r7, lr}
 7962              		.cfi_def_cfa_offset 8
 7963              		.cfi_offset 7, -8
 7964              		.cfi_offset 14, -4
 7965 0002 84B0     		sub	sp, sp, #16
 7966              		.cfi_def_cfa_offset 24
 7967 0004 00AF     		add	r7, sp, #0
 7968              		.cfi_def_cfa_register 7
 7969 0006 7860     		str	r0, [r7, #4]
4168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   uint32_t tickstart;
4169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Init tickstart for timeout management */
4171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   tickstart = HAL_GetTick();
 7970              		.loc 1 4171 15
 7971 0008 FFF7FEFF 		bl	HAL_GetTick
 7972 000c F860     		str	r0, [r7, #12]
4172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Disable ERR interrupt */
4174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_SPI_DISABLE_IT(hspi, SPI_IT_ERR);
 7973              		.loc 1 4174 3
 7974 000e 7B68     		ldr	r3, [r7, #4]
 7975 0010 1B68     		ldr	r3, [r3]
 7976 0012 5A68     		ldr	r2, [r3, #4]
 7977 0014 7B68     		ldr	r3, [r7, #4]
ARM GAS  /tmp/ccs34gJO.s 			page 213


 7978 0016 1B68     		ldr	r3, [r3]
 7979 0018 22F02002 		bic	r2, r2, #32
 7980 001c 5A60     		str	r2, [r3, #4]
4175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check the end of the transaction */
4177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, tickstart) != HAL_OK)
 7981              		.loc 1 4177 7
 7982 001e FA68     		ldr	r2, [r7, #12]
 7983 0020 6421     		movs	r1, #100
 7984 0022 7868     		ldr	r0, [r7, #4]
 7985 0024 FFF7FEFF 		bl	SPI_EndRxTxTransaction
 7986 0028 0346     		mov	r3, r0
 7987              		.loc 1 4177 6 discriminator 1
 7988 002a 002B     		cmp	r3, #0
 7989 002c 05D0     		beq	.L395
4178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
4179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
 7990              		.loc 1 4179 5
 7991 002e 7B68     		ldr	r3, [r7, #4]
 7992 0030 1B6E     		ldr	r3, [r3, #96]
 7993 0032 43F02002 		orr	r2, r3, #32
 7994 0036 7B68     		ldr	r3, [r7, #4]
 7995 0038 1A66     		str	r2, [r3, #96]
 7996              	.L395:
4180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
4181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
4183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check if CRC error occurred */
4184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_CRCERR) != RESET)
4185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
4186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->State = HAL_SPI_STATE_READY;
4187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
4188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     __HAL_SPI_CLEAR_CRCERRFLAG(hspi);
4189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Call user error callback */
4190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
4191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->ErrorCallback(hspi);
4192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
4193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     HAL_SPI_ErrorCallback(hspi);
4194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
4196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   else
4197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
4198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
4199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->ErrorCode == HAL_SPI_ERROR_NONE)
 7997              		.loc 1 4199 13
 7998 003a 7B68     		ldr	r3, [r7, #4]
 7999 003c 1B6E     		ldr	r3, [r3, #96]
 8000              		.loc 1 4199 8
 8001 003e 002B     		cmp	r3, #0
 8002 0040 15D1     		bne	.L396
4200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
4201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if (hspi->State == HAL_SPI_STATE_BUSY_RX)
 8003              		.loc 1 4201 15
 8004 0042 7B68     		ldr	r3, [r7, #4]
 8005 0044 93F85D30 		ldrb	r3, [r3, #93]
 8006 0048 DBB2     		uxtb	r3, r3
 8007              		.loc 1 4201 10
ARM GAS  /tmp/ccs34gJO.s 			page 214


 8008 004a 042B     		cmp	r3, #4
 8009 004c 07D1     		bne	.L397
4202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
4203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->State = HAL_SPI_STATE_READY;
 8010              		.loc 1 4203 21
 8011 004e 7B68     		ldr	r3, [r7, #4]
 8012 0050 0122     		movs	r2, #1
 8013 0052 83F85D20 		strb	r2, [r3, #93]
4204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Call user Rx complete callback */
4205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
4206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->RxCpltCallback(hspi);
4207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
4208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         HAL_SPI_RxCpltCallback(hspi);
 8014              		.loc 1 4208 9
 8015 0056 7868     		ldr	r0, [r7, #4]
 8016 0058 FFF7FEFF 		bl	HAL_SPI_RxCpltCallback
4209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
4211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       else
4212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
4213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->State = HAL_SPI_STATE_READY;
4214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Call user TxRx complete callback */
4215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
4216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         hspi->TxRxCpltCallback(hspi);
4217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
4218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         HAL_SPI_TxRxCpltCallback(hspi);
4219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
4221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
4222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     else
4223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
4224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->State = HAL_SPI_STATE_READY;
4225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Call user error callback */
4226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
4227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->ErrorCallback(hspi);
4228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
4229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       HAL_SPI_ErrorCallback(hspi);
4230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
4232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
4233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
4234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
4235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 8017              		.loc 1 4235 1
 8018 005c 0EE0     		b	.L399
 8019              	.L397:
4213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         /* Call user TxRx complete callback */
 8020              		.loc 1 4213 21
 8021 005e 7B68     		ldr	r3, [r7, #4]
 8022 0060 0122     		movs	r2, #1
 8023 0062 83F85D20 		strb	r2, [r3, #93]
4218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
 8024              		.loc 1 4218 9
 8025 0066 7868     		ldr	r0, [r7, #4]
 8026 0068 FFF7FEFF 		bl	HAL_SPI_TxRxCpltCallback
 8027              		.loc 1 4235 1
 8028 006c 06E0     		b	.L399
ARM GAS  /tmp/ccs34gJO.s 			page 215


 8029              	.L396:
4224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Call user error callback */
 8030              		.loc 1 4224 19
 8031 006e 7B68     		ldr	r3, [r7, #4]
 8032 0070 0122     		movs	r2, #1
 8033 0072 83F85D20 		strb	r2, [r3, #93]
4229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
 8034              		.loc 1 4229 7
 8035 0076 7868     		ldr	r0, [r7, #4]
 8036 0078 FFF7FEFF 		bl	HAL_SPI_ErrorCallback
 8037              	.L399:
 8038              		.loc 1 4235 1
 8039 007c 00BF     		nop
 8040 007e 1037     		adds	r7, r7, #16
 8041              		.cfi_def_cfa_offset 8
 8042 0080 BD46     		mov	sp, r7
 8043              		.cfi_def_cfa_register 13
 8044              		@ sp needed
 8045 0082 80BD     		pop	{r7, pc}
 8046              		.cfi_endproc
 8047              	.LFE181:
 8049              		.section	.text.SPI_CloseRx_ISR,"ax",%progbits
 8050              		.align	1
 8051              		.syntax unified
 8052              		.thumb
 8053              		.thumb_func
 8055              	SPI_CloseRx_ISR:
 8056              	.LFB182:
4236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
4238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Handle the end of the RX transaction.
4239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
4240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
4241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
4242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
4243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_CloseRx_ISR(SPI_HandleTypeDef *hspi)
4244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 8057              		.loc 1 4244 1
 8058              		.cfi_startproc
 8059              		@ args = 0, pretend = 0, frame = 8
 8060              		@ frame_needed = 1, uses_anonymous_args = 0
 8061 0000 80B5     		push	{r7, lr}
 8062              		.cfi_def_cfa_offset 8
 8063              		.cfi_offset 7, -8
 8064              		.cfi_offset 14, -4
 8065 0002 82B0     		sub	sp, sp, #8
 8066              		.cfi_def_cfa_offset 16
 8067 0004 00AF     		add	r7, sp, #0
 8068              		.cfi_def_cfa_register 7
 8069 0006 7860     		str	r0, [r7, #4]
4245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Disable RXNE and ERR interrupt */
4246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_RXNE | SPI_IT_ERR));
 8070              		.loc 1 4246 3
 8071 0008 7B68     		ldr	r3, [r7, #4]
 8072 000a 1B68     		ldr	r3, [r3]
 8073 000c 5A68     		ldr	r2, [r3, #4]
 8074 000e 7B68     		ldr	r3, [r7, #4]
ARM GAS  /tmp/ccs34gJO.s 			page 216


 8075 0010 1B68     		ldr	r3, [r3]
 8076 0012 22F06002 		bic	r2, r2, #96
 8077 0016 5A60     		str	r2, [r3, #4]
4247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check the end of the transaction */
4249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (SPI_EndRxTransaction(hspi, SPI_DEFAULT_TIMEOUT, HAL_GetTick()) != HAL_OK)
 8078              		.loc 1 4249 7
 8079 0018 FFF7FEFF 		bl	HAL_GetTick
 8080 001c 0346     		mov	r3, r0
 8081              		.loc 1 4249 7 is_stmt 0 discriminator 1
 8082 001e 1A46     		mov	r2, r3
 8083 0020 6421     		movs	r1, #100
 8084 0022 7868     		ldr	r0, [r7, #4]
 8085 0024 FFF7FEFF 		bl	SPI_EndRxTransaction
 8086 0028 0346     		mov	r3, r0
 8087              		.loc 1 4249 6 is_stmt 1 discriminator 2
 8088 002a 002B     		cmp	r3, #0
 8089 002c 05D0     		beq	.L401
4250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
4251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
 8090              		.loc 1 4251 5
 8091 002e 7B68     		ldr	r3, [r7, #4]
 8092 0030 1B6E     		ldr	r3, [r3, #96]
 8093 0032 43F02002 		orr	r2, r3, #32
 8094 0036 7B68     		ldr	r3, [r7, #4]
 8095 0038 1A66     		str	r2, [r3, #96]
 8096              	.L401:
4252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
4253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->State = HAL_SPI_STATE_READY;
 8097              		.loc 1 4253 15
 8098 003a 7B68     		ldr	r3, [r7, #4]
 8099 003c 0122     		movs	r2, #1
 8100 003e 83F85D20 		strb	r2, [r3, #93]
4254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
4256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check if CRC error occurred */
4257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_CRCERR) != RESET)
4258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
4259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
4260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     __HAL_SPI_CLEAR_CRCERRFLAG(hspi);
4261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Call user error callback */
4262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
4263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->ErrorCallback(hspi);
4264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
4265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     HAL_SPI_ErrorCallback(hspi);
4266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
4268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   else
4269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
4270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
4271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (hspi->ErrorCode == HAL_SPI_ERROR_NONE)
 8101              		.loc 1 4271 13
 8102 0042 7B68     		ldr	r3, [r7, #4]
 8103 0044 1B6E     		ldr	r3, [r3, #96]
 8104              		.loc 1 4271 8
 8105 0046 002B     		cmp	r3, #0
 8106 0048 03D1     		bne	.L402
ARM GAS  /tmp/ccs34gJO.s 			page 217


4272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
4273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Call user Rx complete callback */
4274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
4275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->RxCpltCallback(hspi);
4276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
4277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       HAL_SPI_RxCpltCallback(hspi);
 8107              		.loc 1 4277 7
 8108 004a 7868     		ldr	r0, [r7, #4]
 8109 004c FFF7FEFF 		bl	HAL_SPI_RxCpltCallback
4278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
4280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     else
4281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
4282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       /* Call user error callback */
4283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
4284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->ErrorCallback(hspi);
4285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
4286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       HAL_SPI_ErrorCallback(hspi);
4287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
4289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
4290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
4291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
4292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 8110              		.loc 1 4292 1
 8111 0050 02E0     		b	.L404
 8112              	.L402:
4286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
 8113              		.loc 1 4286 7
 8114 0052 7868     		ldr	r0, [r7, #4]
 8115 0054 FFF7FEFF 		bl	HAL_SPI_ErrorCallback
 8116              	.L404:
 8117              		.loc 1 4292 1
 8118 0058 00BF     		nop
 8119 005a 0837     		adds	r7, r7, #8
 8120              		.cfi_def_cfa_offset 8
 8121 005c BD46     		mov	sp, r7
 8122              		.cfi_def_cfa_register 13
 8123              		@ sp needed
 8124 005e 80BD     		pop	{r7, pc}
 8125              		.cfi_endproc
 8126              	.LFE182:
 8128              		.section	.text.SPI_CloseTx_ISR,"ax",%progbits
 8129              		.align	1
 8130              		.syntax unified
 8131              		.thumb
 8132              		.thumb_func
 8134              	SPI_CloseTx_ISR:
 8135              	.LFB183:
4293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
4295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Handle the end of the TX transaction.
4296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
4297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
4298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
4299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
4300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_CloseTx_ISR(SPI_HandleTypeDef *hspi)
ARM GAS  /tmp/ccs34gJO.s 			page 218


4301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 8136              		.loc 1 4301 1
 8137              		.cfi_startproc
 8138              		@ args = 0, pretend = 0, frame = 16
 8139              		@ frame_needed = 1, uses_anonymous_args = 0
 8140 0000 80B5     		push	{r7, lr}
 8141              		.cfi_def_cfa_offset 8
 8142              		.cfi_offset 7, -8
 8143              		.cfi_offset 14, -4
 8144 0002 84B0     		sub	sp, sp, #16
 8145              		.cfi_def_cfa_offset 24
 8146 0004 00AF     		add	r7, sp, #0
 8147              		.cfi_def_cfa_register 7
 8148 0006 7860     		str	r0, [r7, #4]
4302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   uint32_t tickstart;
4303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Init tickstart for timeout management*/
4305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   tickstart = HAL_GetTick();
 8149              		.loc 1 4305 15
 8150 0008 FFF7FEFF 		bl	HAL_GetTick
 8151 000c F860     		str	r0, [r7, #12]
4306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Disable TXE and ERR interrupt */
4308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_TXE | SPI_IT_ERR));
 8152              		.loc 1 4308 3
 8153 000e 7B68     		ldr	r3, [r7, #4]
 8154 0010 1B68     		ldr	r3, [r3]
 8155 0012 5A68     		ldr	r2, [r3, #4]
 8156 0014 7B68     		ldr	r3, [r7, #4]
 8157 0016 1B68     		ldr	r3, [r3]
 8158 0018 22F0A002 		bic	r2, r2, #160
 8159 001c 5A60     		str	r2, [r3, #4]
4309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check the end of the transaction */
4311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, tickstart) != HAL_OK)
 8160              		.loc 1 4311 7
 8161 001e FA68     		ldr	r2, [r7, #12]
 8162 0020 6421     		movs	r1, #100
 8163 0022 7868     		ldr	r0, [r7, #4]
 8164 0024 FFF7FEFF 		bl	SPI_EndRxTxTransaction
 8165 0028 0346     		mov	r3, r0
 8166              		.loc 1 4311 6 discriminator 1
 8167 002a 002B     		cmp	r3, #0
 8168 002c 05D0     		beq	.L406
4312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
4313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
 8169              		.loc 1 4313 5
 8170 002e 7B68     		ldr	r3, [r7, #4]
 8171 0030 1B6E     		ldr	r3, [r3, #96]
 8172 0032 43F02002 		orr	r2, r3, #32
 8173 0036 7B68     		ldr	r3, [r7, #4]
 8174 0038 1A66     		str	r2, [r3, #96]
 8175              	.L406:
4314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
4315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Clear overrun flag in 2 Lines communication mode because received is not read */
4317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->Init.Direction == SPI_DIRECTION_2LINES)
ARM GAS  /tmp/ccs34gJO.s 			page 219


 8176              		.loc 1 4317 17
 8177 003a 7B68     		ldr	r3, [r7, #4]
 8178 003c 9B68     		ldr	r3, [r3, #8]
 8179              		.loc 1 4317 6
 8180 003e 002B     		cmp	r3, #0
 8181 0040 0AD1     		bne	.L407
 8182              	.LBB16:
4318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
4319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     __HAL_SPI_CLEAR_OVRFLAG(hspi);
 8183              		.loc 1 4319 5
 8184 0042 0023     		movs	r3, #0
 8185 0044 BB60     		str	r3, [r7, #8]
 8186 0046 7B68     		ldr	r3, [r7, #4]
 8187 0048 1B68     		ldr	r3, [r3]
 8188 004a DB68     		ldr	r3, [r3, #12]
 8189 004c BB60     		str	r3, [r7, #8]
 8190 004e 7B68     		ldr	r3, [r7, #4]
 8191 0050 1B68     		ldr	r3, [r3]
 8192 0052 9B68     		ldr	r3, [r3, #8]
 8193 0054 BB60     		str	r3, [r7, #8]
 8194 0056 BB68     		ldr	r3, [r7, #8]
 8195              	.L407:
 8196              	.LBE16:
4320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
4321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->State = HAL_SPI_STATE_READY;
 8197              		.loc 1 4322 15
 8198 0058 7B68     		ldr	r3, [r7, #4]
 8199 005a 0122     		movs	r2, #1
 8200 005c 83F85D20 		strb	r2, [r3, #93]
4323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
 8201              		.loc 1 4323 11
 8202 0060 7B68     		ldr	r3, [r7, #4]
 8203 0062 1B6E     		ldr	r3, [r3, #96]
 8204              		.loc 1 4323 6
 8205 0064 002B     		cmp	r3, #0
 8206 0066 03D0     		beq	.L408
4324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
4325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Call user error callback */
4326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
4327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->ErrorCallback(hspi);
4328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
4329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     HAL_SPI_ErrorCallback(hspi);
 8207              		.loc 1 4329 5
 8208 0068 7868     		ldr	r0, [r7, #4]
 8209 006a FFF7FEFF 		bl	HAL_SPI_ErrorCallback
4330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
4332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   else
4333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
4334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Call user Rx complete callback */
4335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
4336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->TxCpltCallback(hspi);
4337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
4338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     HAL_SPI_TxCpltCallback(hspi);
4339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
ARM GAS  /tmp/ccs34gJO.s 			page 220


4341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 8210              		.loc 1 4341 1
 8211 006e 02E0     		b	.L410
 8212              	.L408:
4338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
 8213              		.loc 1 4338 5
 8214 0070 7868     		ldr	r0, [r7, #4]
 8215 0072 FFF7FEFF 		bl	HAL_SPI_TxCpltCallback
 8216              	.L410:
 8217              		.loc 1 4341 1
 8218 0076 00BF     		nop
 8219 0078 1037     		adds	r7, r7, #16
 8220              		.cfi_def_cfa_offset 8
 8221 007a BD46     		mov	sp, r7
 8222              		.cfi_def_cfa_register 13
 8223              		@ sp needed
 8224 007c 80BD     		pop	{r7, pc}
 8225              		.cfi_endproc
 8226              	.LFE183:
 8228              		.section	.text.SPI_AbortRx_ISR,"ax",%progbits
 8229              		.align	1
 8230              		.syntax unified
 8231              		.thumb
 8232              		.thumb_func
 8234              	SPI_AbortRx_ISR:
 8235              	.LFB184:
4342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
4344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Handle abort a Rx transaction.
4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
4346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
4347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
4348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
4349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_AbortRx_ISR(SPI_HandleTypeDef *hspi)
4350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 8236              		.loc 1 4350 1
 8237              		.cfi_startproc
 8238              		@ args = 0, pretend = 0, frame = 16
 8239              		@ frame_needed = 1, uses_anonymous_args = 0
 8240 0000 80B5     		push	{r7, lr}
 8241              		.cfi_def_cfa_offset 8
 8242              		.cfi_offset 7, -8
 8243              		.cfi_offset 14, -4
 8244 0002 86B0     		sub	sp, sp, #24
 8245              		.cfi_def_cfa_offset 32
 8246 0004 02AF     		add	r7, sp, #8
 8247              		.cfi_def_cfa 7, 24
 8248 0006 7860     		str	r0, [r7, #4]
4351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __IO uint32_t count;
4352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Disable SPI Peripheral */
4354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_SPI_DISABLE(hspi);
 8249              		.loc 1 4354 3
 8250 0008 7B68     		ldr	r3, [r7, #4]
 8251 000a 1B68     		ldr	r3, [r3]
 8252 000c 1A68     		ldr	r2, [r3]
 8253 000e 7B68     		ldr	r3, [r7, #4]
ARM GAS  /tmp/ccs34gJO.s 			page 221


 8254 0010 1B68     		ldr	r3, [r3]
 8255 0012 22F04002 		bic	r2, r2, #64
 8256 0016 1A60     		str	r2, [r3]
4355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
 8257              		.loc 1 4356 56
 8258 0018 274B     		ldr	r3, .L417
 8259 001a 1B68     		ldr	r3, [r3]
 8260 001c 274A     		ldr	r2, .L417+4
 8261 001e A2FB0323 		umull	r2, r3, r2, r3
 8262 0022 5B0A     		lsrs	r3, r3, #9
 8263              		.loc 1 4356 31
 8264 0024 6422     		movs	r2, #100
 8265 0026 02FB03F3 		mul	r3, r2, r3
 8266              		.loc 1 4356 9
 8267 002a FB60     		str	r3, [r7, #12]
4357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Disable RXNEIE interrupt */
4359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_RXNEIE));
 8268              		.loc 1 4359 3
 8269 002c 7B68     		ldr	r3, [r7, #4]
 8270 002e 1B68     		ldr	r3, [r3]
 8271 0030 5A68     		ldr	r2, [r3, #4]
 8272 0032 7B68     		ldr	r3, [r7, #4]
 8273 0034 1B68     		ldr	r3, [r3]
 8274 0036 22F04002 		bic	r2, r2, #64
 8275 003a 5A60     		str	r2, [r3, #4]
 8276              	.L414:
4360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check RXNEIE is disabled */
4362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   do
4363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
4364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (count == 0U)
 8277              		.loc 1 4364 15
 8278 003c FB68     		ldr	r3, [r7, #12]
 8279              		.loc 1 4364 8
 8280 003e 002B     		cmp	r3, #0
 8281 0040 06D1     		bne	.L412
4365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
4366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
 8282              		.loc 1 4366 7
 8283 0042 7B68     		ldr	r3, [r7, #4]
 8284 0044 1B6E     		ldr	r3, [r3, #96]
 8285 0046 43F04002 		orr	r2, r3, #64
 8286 004a 7B68     		ldr	r3, [r7, #4]
 8287 004c 1A66     		str	r2, [r3, #96]
4367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       break;
 8288              		.loc 1 4367 7
 8289 004e 09E0     		b	.L413
 8290              	.L412:
4368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
4369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     count--;
 8291              		.loc 1 4369 10
 8292 0050 FB68     		ldr	r3, [r7, #12]
 8293 0052 013B     		subs	r3, r3, #1
 8294 0054 FB60     		str	r3, [r7, #12]
4370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   } while (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXNEIE));
ARM GAS  /tmp/ccs34gJO.s 			page 222


 8295              		.loc 1 4370 12
 8296 0056 7B68     		ldr	r3, [r7, #4]
 8297 0058 1B68     		ldr	r3, [r3]
 8298 005a 5B68     		ldr	r3, [r3, #4]
 8299 005c 03F04003 		and	r3, r3, #64
 8300 0060 402B     		cmp	r3, #64
 8301 0062 EBD0     		beq	.L414
 8302              	.L413:
4371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Control the BSY flag */
4373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_BSY, RESET, SPI_DEFAULT_TIMEOUT, HAL_GetTick()) 
 8303              		.loc 1 4373 7
 8304 0064 FFF7FEFF 		bl	HAL_GetTick
 8305 0068 0346     		mov	r3, r0
 8306              		.loc 1 4373 7 is_stmt 0 discriminator 1
 8307 006a 0093     		str	r3, [sp]
 8308 006c 6423     		movs	r3, #100
 8309 006e 0022     		movs	r2, #0
 8310 0070 8021     		movs	r1, #128
 8311 0072 7868     		ldr	r0, [r7, #4]
 8312 0074 FFF7FEFF 		bl	SPI_WaitFlagStateUntilTimeout
 8313 0078 0346     		mov	r3, r0
 8314              		.loc 1 4373 6 is_stmt 1 discriminator 2
 8315 007a 002B     		cmp	r3, #0
 8316 007c 02D0     		beq	.L415
4374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
4375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
 8317              		.loc 1 4375 21
 8318 007e 7B68     		ldr	r3, [r7, #4]
 8319 0080 4022     		movs	r2, #64
 8320 0082 1A66     		str	r2, [r3, #96]
 8321              	.L415:
4376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
4377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Empty the FRLVL fifo */
4379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, SPI_DEFAULT_TIMEOUT, HAL
 8322              		.loc 1 4379 7
 8323 0084 FFF7FEFF 		bl	HAL_GetTick
 8324 0088 0346     		mov	r3, r0
 8325              		.loc 1 4379 7 is_stmt 0 discriminator 1
 8326 008a 0093     		str	r3, [sp]
 8327 008c 6423     		movs	r3, #100
 8328 008e 0022     		movs	r2, #0
 8329 0090 4FF4C061 		mov	r1, #1536
 8330 0094 7868     		ldr	r0, [r7, #4]
 8331 0096 FFF7FEFF 		bl	SPI_WaitFifoStateUntilTimeout
 8332 009a 0346     		mov	r3, r0
 8333              		.loc 1 4379 6 is_stmt 1 discriminator 2
 8334 009c 002B     		cmp	r3, #0
 8335 009e 02D0     		beq	.L416
4380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
4381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
 8336              		.loc 1 4381 21
 8337 00a0 7B68     		ldr	r3, [r7, #4]
 8338 00a2 4022     		movs	r2, #64
 8339 00a4 1A66     		str	r2, [r3, #96]
 8340              	.L416:
ARM GAS  /tmp/ccs34gJO.s 			page 223


4382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
4383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->State = HAL_SPI_STATE_ABORT;
 8341              		.loc 1 4384 15
 8342 00a6 7B68     		ldr	r3, [r7, #4]
 8343 00a8 0722     		movs	r2, #7
 8344 00aa 83F85D20 		strb	r2, [r3, #93]
4385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 8345              		.loc 1 4385 1
 8346 00ae 00BF     		nop
 8347 00b0 1037     		adds	r7, r7, #16
 8348              		.cfi_def_cfa_offset 8
 8349 00b2 BD46     		mov	sp, r7
 8350              		.cfi_def_cfa_register 13
 8351              		@ sp needed
 8352 00b4 80BD     		pop	{r7, pc}
 8353              	.L418:
 8354 00b6 00BF     		.align	2
 8355              	.L417:
 8356 00b8 00000000 		.word	SystemCoreClock
 8357 00bc F1197605 		.word	91625969
 8358              		.cfi_endproc
 8359              	.LFE184:
 8361              		.section	.text.SPI_AbortTx_ISR,"ax",%progbits
 8362              		.align	1
 8363              		.syntax unified
 8364              		.thumb
 8365              		.thumb_func
 8367              	SPI_AbortTx_ISR:
 8368              	.LFB185:
4386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
4388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @brief  Handle abort a Tx or Rx/Tx transaction.
4389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @param  hspi pointer to a SPI_HandleTypeDef structure that contains
4390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   *               the configuration information for SPI module.
4391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   * @retval None
4392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   */
4393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_AbortTx_ISR(SPI_HandleTypeDef *hspi)
4394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
 8369              		.loc 1 4394 1
 8370              		.cfi_startproc
 8371              		@ args = 0, pretend = 0, frame = 16
 8372              		@ frame_needed = 1, uses_anonymous_args = 0
 8373 0000 80B5     		push	{r7, lr}
 8374              		.cfi_def_cfa_offset 8
 8375              		.cfi_offset 7, -8
 8376              		.cfi_offset 14, -4
 8377 0002 86B0     		sub	sp, sp, #24
 8378              		.cfi_def_cfa_offset 32
 8379 0004 02AF     		add	r7, sp, #8
 8380              		.cfi_def_cfa 7, 24
 8381 0006 7860     		str	r0, [r7, #4]
4395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __IO uint32_t count;
4396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
 8382              		.loc 1 4397 56
 8383 0008 4C4B     		ldr	r3, .L430
ARM GAS  /tmp/ccs34gJO.s 			page 224


 8384 000a 1B68     		ldr	r3, [r3]
 8385 000c 4C4A     		ldr	r2, .L430+4
 8386 000e A2FB0323 		umull	r2, r3, r2, r3
 8387 0012 5B0A     		lsrs	r3, r3, #9
 8388              		.loc 1 4397 31
 8389 0014 6422     		movs	r2, #100
 8390 0016 02FB03F3 		mul	r3, r2, r3
 8391              		.loc 1 4397 9
 8392 001a FB60     		str	r3, [r7, #12]
4398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Disable TXEIE interrupt */
4400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_TXEIE));
 8393              		.loc 1 4400 3
 8394 001c 7B68     		ldr	r3, [r7, #4]
 8395 001e 1B68     		ldr	r3, [r3]
 8396 0020 5A68     		ldr	r2, [r3, #4]
 8397 0022 7B68     		ldr	r3, [r7, #4]
 8398 0024 1B68     		ldr	r3, [r3]
 8399 0026 22F08002 		bic	r2, r2, #128
 8400 002a 5A60     		str	r2, [r3, #4]
 8401              	.L422:
4401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check TXEIE is disabled */
4403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   do
4404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
4405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (count == 0U)
 8402              		.loc 1 4405 15
 8403 002c FB68     		ldr	r3, [r7, #12]
 8404              		.loc 1 4405 8
 8405 002e 002B     		cmp	r3, #0
 8406 0030 06D1     		bne	.L420
4406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
4407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
 8407              		.loc 1 4407 7
 8408 0032 7B68     		ldr	r3, [r7, #4]
 8409 0034 1B6E     		ldr	r3, [r3, #96]
 8410 0036 43F04002 		orr	r2, r3, #64
 8411 003a 7B68     		ldr	r3, [r7, #4]
 8412 003c 1A66     		str	r2, [r3, #96]
4408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       break;
 8413              		.loc 1 4408 7
 8414 003e 09E0     		b	.L421
 8415              	.L420:
4409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
4410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     count--;
 8416              		.loc 1 4410 10
 8417 0040 FB68     		ldr	r3, [r7, #12]
 8418 0042 013B     		subs	r3, r3, #1
 8419 0044 FB60     		str	r3, [r7, #12]
4411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   } while (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_TXEIE));
 8420              		.loc 1 4411 12
 8421 0046 7B68     		ldr	r3, [r7, #4]
 8422 0048 1B68     		ldr	r3, [r3]
 8423 004a 5B68     		ldr	r3, [r3, #4]
 8424 004c 03F08003 		and	r3, r3, #128
 8425 0050 802B     		cmp	r3, #128
 8426 0052 EBD0     		beq	.L422
ARM GAS  /tmp/ccs34gJO.s 			page 225


 8427              	.L421:
4412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, HAL_GetTick()) != HAL_OK)
 8428              		.loc 1 4413 7
 8429 0054 FFF7FEFF 		bl	HAL_GetTick
 8430 0058 0346     		mov	r3, r0
 8431              		.loc 1 4413 7 is_stmt 0 discriminator 1
 8432 005a 1A46     		mov	r2, r3
 8433 005c 6421     		movs	r1, #100
 8434 005e 7868     		ldr	r0, [r7, #4]
 8435 0060 FFF7FEFF 		bl	SPI_EndRxTxTransaction
 8436 0064 0346     		mov	r3, r0
 8437              		.loc 1 4413 6 is_stmt 1 discriminator 2
 8438 0066 002B     		cmp	r3, #0
 8439 0068 02D0     		beq	.L423
4414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
4415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
 8440              		.loc 1 4415 21
 8441 006a 7B68     		ldr	r3, [r7, #4]
 8442 006c 4022     		movs	r2, #64
 8443 006e 1A66     		str	r2, [r3, #96]
 8444              	.L423:
4416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
4417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Disable SPI Peripheral */
4419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   __HAL_SPI_DISABLE(hspi);
 8445              		.loc 1 4419 3
 8446 0070 7B68     		ldr	r3, [r7, #4]
 8447 0072 1B68     		ldr	r3, [r3]
 8448 0074 1A68     		ldr	r2, [r3]
 8449 0076 7B68     		ldr	r3, [r7, #4]
 8450 0078 1B68     		ldr	r3, [r3]
 8451 007a 22F04002 		bic	r2, r2, #64
 8452 007e 1A60     		str	r2, [r3]
4420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Empty the FRLVL fifo */
4422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, SPI_DEFAULT_TIMEOUT, HAL
 8453              		.loc 1 4422 7
 8454 0080 FFF7FEFF 		bl	HAL_GetTick
 8455 0084 0346     		mov	r3, r0
 8456              		.loc 1 4422 7 is_stmt 0 discriminator 1
 8457 0086 0093     		str	r3, [sp]
 8458 0088 6423     		movs	r3, #100
 8459 008a 0022     		movs	r2, #0
 8460 008c 4FF4C061 		mov	r1, #1536
 8461 0090 7868     		ldr	r0, [r7, #4]
 8462 0092 FFF7FEFF 		bl	SPI_WaitFifoStateUntilTimeout
 8463 0096 0346     		mov	r3, r0
 8464              		.loc 1 4422 6 is_stmt 1 discriminator 2
 8465 0098 002B     		cmp	r3, #0
 8466 009a 02D0     		beq	.L424
4423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
4424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
 8467              		.loc 1 4424 21
 8468 009c 7B68     		ldr	r3, [r7, #4]
 8469 009e 4022     		movs	r2, #64
 8470 00a0 1A66     		str	r2, [r3, #96]
ARM GAS  /tmp/ccs34gJO.s 			page 226


 8471              	.L424:
4425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
4426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   /* Check case of Full-Duplex Mode and disable directly RXNEIE interrupt */
4428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXNEIE))
 8472              		.loc 1 4428 7
 8473 00a2 7B68     		ldr	r3, [r7, #4]
 8474 00a4 1B68     		ldr	r3, [r3]
 8475 00a6 5B68     		ldr	r3, [r3, #4]
 8476 00a8 03F04003 		and	r3, r3, #64
 8477              		.loc 1 4428 6
 8478 00ac 402B     		cmp	r3, #64
 8479 00ae 3CD1     		bne	.L425
4429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   {
4430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Disable RXNEIE interrupt */
4431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_RXNEIE));
 8480              		.loc 1 4431 5
 8481 00b0 7B68     		ldr	r3, [r7, #4]
 8482 00b2 1B68     		ldr	r3, [r3]
 8483 00b4 5A68     		ldr	r2, [r3, #4]
 8484 00b6 7B68     		ldr	r3, [r7, #4]
 8485 00b8 1B68     		ldr	r3, [r3]
 8486 00ba 22F04002 		bic	r2, r2, #64
 8487 00be 5A60     		str	r2, [r3, #4]
 8488              	.L428:
4432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Check RXNEIE is disabled */
4434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     do
4435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
4436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       if (count == 0U)
 8489              		.loc 1 4436 17
 8490 00c0 FB68     		ldr	r3, [r7, #12]
 8491              		.loc 1 4436 10
 8492 00c2 002B     		cmp	r3, #0
 8493 00c4 06D1     		bne	.L426
4437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       {
4438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
 8494              		.loc 1 4438 9
 8495 00c6 7B68     		ldr	r3, [r7, #4]
 8496 00c8 1B6E     		ldr	r3, [r3, #96]
 8497 00ca 43F04002 		orr	r2, r3, #64
 8498 00ce 7B68     		ldr	r3, [r7, #4]
 8499 00d0 1A66     		str	r2, [r3, #96]
4439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****         break;
 8500              		.loc 1 4439 9
 8501 00d2 09E0     		b	.L427
 8502              	.L426:
4440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       }
4441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       count--;
 8503              		.loc 1 4441 12
 8504 00d4 FB68     		ldr	r3, [r7, #12]
 8505 00d6 013B     		subs	r3, r3, #1
 8506 00d8 FB60     		str	r3, [r7, #12]
4442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     } while (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXNEIE));
 8507              		.loc 1 4442 14
 8508 00da 7B68     		ldr	r3, [r7, #4]
 8509 00dc 1B68     		ldr	r3, [r3]
ARM GAS  /tmp/ccs34gJO.s 			page 227


 8510 00de 5B68     		ldr	r3, [r3, #4]
 8511 00e0 03F04003 		and	r3, r3, #64
 8512 00e4 402B     		cmp	r3, #64
 8513 00e6 EBD0     		beq	.L428
 8514              	.L427:
4443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Control the BSY flag */
4445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_BSY, RESET, SPI_DEFAULT_TIMEOUT, HAL_GetTick()
 8515              		.loc 1 4445 9
 8516 00e8 FFF7FEFF 		bl	HAL_GetTick
 8517 00ec 0346     		mov	r3, r0
 8518              		.loc 1 4445 9 is_stmt 0 discriminator 1
 8519 00ee 0093     		str	r3, [sp]
 8520 00f0 6423     		movs	r3, #100
 8521 00f2 0022     		movs	r2, #0
 8522 00f4 8021     		movs	r1, #128
 8523 00f6 7868     		ldr	r0, [r7, #4]
 8524 00f8 FFF7FEFF 		bl	SPI_WaitFlagStateUntilTimeout
 8525 00fc 0346     		mov	r3, r0
 8526              		.loc 1 4445 8 is_stmt 1 discriminator 2
 8527 00fe 002B     		cmp	r3, #0
 8528 0100 02D0     		beq	.L429
4446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
4447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
 8529              		.loc 1 4447 23
 8530 0102 7B68     		ldr	r3, [r7, #4]
 8531 0104 4022     		movs	r2, #64
 8532 0106 1A66     		str	r2, [r3, #96]
 8533              	.L429:
4448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
4449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** 
4450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     /* Empty the FRLVL fifo */
4451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, SPI_DEFAULT_TIMEOUT, H
 8534              		.loc 1 4451 9
 8535 0108 FFF7FEFF 		bl	HAL_GetTick
 8536 010c 0346     		mov	r3, r0
 8537              		.loc 1 4451 9 is_stmt 0 discriminator 1
 8538 010e 0093     		str	r3, [sp]
 8539 0110 6423     		movs	r3, #100
 8540 0112 0022     		movs	r2, #0
 8541 0114 4FF4C061 		mov	r1, #1536
 8542 0118 7868     		ldr	r0, [r7, #4]
 8543 011a FFF7FEFF 		bl	SPI_WaitFifoStateUntilTimeout
 8544 011e 0346     		mov	r3, r0
 8545              		.loc 1 4451 8 is_stmt 1 discriminator 2
 8546 0120 002B     		cmp	r3, #0
 8547 0122 02D0     		beq	.L425
4452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     {
4453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****       hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
 8548              		.loc 1 4453 23
 8549 0124 7B68     		ldr	r3, [r7, #4]
 8550 0126 4022     		movs	r2, #64
 8551 0128 1A66     		str	r2, [r3, #96]
 8552              	.L425:
4454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****     }
4455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   }
4456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****   hspi->State = HAL_SPI_STATE_ABORT;
ARM GAS  /tmp/ccs34gJO.s 			page 228


 8553              		.loc 1 4456 15
 8554 012a 7B68     		ldr	r3, [r7, #4]
 8555 012c 0722     		movs	r2, #7
 8556 012e 83F85D20 		strb	r2, [r3, #93]
4457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
 8557              		.loc 1 4457 1
 8558 0132 00BF     		nop
 8559 0134 1037     		adds	r7, r7, #16
 8560              		.cfi_def_cfa_offset 8
 8561 0136 BD46     		mov	sp, r7
 8562              		.cfi_def_cfa_register 13
 8563              		@ sp needed
 8564 0138 80BD     		pop	{r7, pc}
 8565              	.L431:
 8566 013a 00BF     		.align	2
 8567              	.L430:
 8568 013c 00000000 		.word	SystemCoreClock
 8569 0140 F1197605 		.word	91625969
 8570              		.cfi_endproc
 8571              	.LFE185:
 8573              		.text
 8574              	.Letext0:
 8575              		.file 2 "/nix/store/p8vkamc9b2vlibs9aw76vnasdbifhcbm-gcc-arm-embedded-13.2.rel1/arm-none-eabi/incl
 8576              		.file 3 "/nix/store/p8vkamc9b2vlibs9aw76vnasdbifhcbm-gcc-arm-embedded-13.2.rel1/arm-none-eabi/incl
 8577              		.file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h"
 8578              		.file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f3xx.h"
 8579              		.file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h"
 8580              		.file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_dma.h"
 8581              		.file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_spi.h"
 8582              		.file 9 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/system_stm32f3xx.h"
 8583              		.file 10 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal.h"
ARM GAS  /tmp/ccs34gJO.s 			page 229


DEFINED SYMBOLS
                            *ABS*:00000000 stm32f3xx_hal_spi.c
     /tmp/ccs34gJO.s:21     .text.HAL_SPI_Init:00000000 $t
     /tmp/ccs34gJO.s:27     .text.HAL_SPI_Init:00000000 HAL_SPI_Init
     /tmp/ccs34gJO.s:306    .text.HAL_SPI_MspInit:00000000 HAL_SPI_MspInit
     /tmp/ccs34gJO.s:229    .text.HAL_SPI_DeInit:00000000 $t
     /tmp/ccs34gJO.s:235    .text.HAL_SPI_DeInit:00000000 HAL_SPI_DeInit
     /tmp/ccs34gJO.s:342    .text.HAL_SPI_MspDeInit:00000000 HAL_SPI_MspDeInit
     /tmp/ccs34gJO.s:300    .text.HAL_SPI_MspInit:00000000 $t
     /tmp/ccs34gJO.s:336    .text.HAL_SPI_MspDeInit:00000000 $t
     /tmp/ccs34gJO.s:372    .text.HAL_SPI_Transmit:00000000 $t
     /tmp/ccs34gJO.s:378    .text.HAL_SPI_Transmit:00000000 HAL_SPI_Transmit
     /tmp/ccs34gJO.s:7852   .text.SPI_EndRxTxTransaction:00000000 SPI_EndRxTxTransaction
     /tmp/ccs34gJO.s:909    .text.HAL_SPI_Receive:00000000 $t
     /tmp/ccs34gJO.s:915    .text.HAL_SPI_Receive:00000000 HAL_SPI_Receive
     /tmp/ccs34gJO.s:1335   .text.HAL_SPI_TransmitReceive:00000000 HAL_SPI_TransmitReceive
     /tmp/ccs34gJO.s:7724   .text.SPI_EndRxTransaction:00000000 SPI_EndRxTransaction
     /tmp/ccs34gJO.s:1329   .text.HAL_SPI_TransmitReceive:00000000 $t
     /tmp/ccs34gJO.s:2075   .text.HAL_SPI_Transmit_IT:00000000 $t
     /tmp/ccs34gJO.s:2081   .text.HAL_SPI_Transmit_IT:00000000 HAL_SPI_Transmit_IT
     /tmp/ccs34gJO.s:2272   .text.HAL_SPI_Transmit_IT:00000114 $d
     /tmp/ccs34gJO.s:7250   .text.SPI_TxISR_16BIT:00000000 SPI_TxISR_16BIT
     /tmp/ccs34gJO.s:7179   .text.SPI_TxISR_8BIT:00000000 SPI_TxISR_8BIT
     /tmp/ccs34gJO.s:2278   .text.HAL_SPI_Receive_IT:00000000 $t
     /tmp/ccs34gJO.s:2284   .text.HAL_SPI_Receive_IT:00000000 HAL_SPI_Receive_IT
     /tmp/ccs34gJO.s:2525   .text.HAL_SPI_TransmitReceive_IT:00000000 HAL_SPI_TransmitReceive_IT
     /tmp/ccs34gJO.s:2513   .text.HAL_SPI_Receive_IT:00000158 $d
     /tmp/ccs34gJO.s:7108   .text.SPI_RxISR_16BIT:00000000 SPI_RxISR_16BIT
     /tmp/ccs34gJO.s:7036   .text.SPI_RxISR_8BIT:00000000 SPI_RxISR_8BIT
     /tmp/ccs34gJO.s:2519   .text.HAL_SPI_TransmitReceive_IT:00000000 $t
     /tmp/ccs34gJO.s:2759   .text.HAL_SPI_TransmitReceive_IT:00000150 $d
     /tmp/ccs34gJO.s:6866   .text.SPI_2linesRxISR_16BIT:00000000 SPI_2linesRxISR_16BIT
     /tmp/ccs34gJO.s:6952   .text.SPI_2linesTxISR_16BIT:00000000 SPI_2linesTxISR_16BIT
     /tmp/ccs34gJO.s:6604   .text.SPI_2linesRxISR_8BIT:00000000 SPI_2linesRxISR_8BIT
     /tmp/ccs34gJO.s:6744   .text.SPI_2linesTxISR_8BIT:00000000 SPI_2linesTxISR_8BIT
     /tmp/ccs34gJO.s:2767   .text.HAL_SPI_Transmit_DMA:00000000 $t
     /tmp/ccs34gJO.s:2773   .text.HAL_SPI_Transmit_DMA:00000000 HAL_SPI_Transmit_DMA
     /tmp/ccs34gJO.s:3085   .text.HAL_SPI_Transmit_DMA:000001d4 $d
     /tmp/ccs34gJO.s:6055   .text.SPI_DMAHalfTransmitCplt:00000000 SPI_DMAHalfTransmitCplt
     /tmp/ccs34gJO.s:5697   .text.SPI_DMATransmitCplt:00000000 SPI_DMATransmitCplt
     /tmp/ccs34gJO.s:6172   .text.SPI_DMAError:00000000 SPI_DMAError
     /tmp/ccs34gJO.s:3092   .text.HAL_SPI_Receive_DMA:00000000 $t
     /tmp/ccs34gJO.s:3098   .text.HAL_SPI_Receive_DMA:00000000 HAL_SPI_Receive_DMA
     /tmp/ccs34gJO.s:3490   .text.HAL_SPI_TransmitReceive_DMA:00000000 HAL_SPI_TransmitReceive_DMA
     /tmp/ccs34gJO.s:3477   .text.HAL_SPI_Receive_DMA:00000250 $d
     /tmp/ccs34gJO.s:6094   .text.SPI_DMAHalfReceiveCplt:00000000 SPI_DMAHalfReceiveCplt
     /tmp/ccs34gJO.s:5822   .text.SPI_DMAReceiveCplt:00000000 SPI_DMAReceiveCplt
     /tmp/ccs34gJO.s:3484   .text.HAL_SPI_TransmitReceive_DMA:00000000 $t
     /tmp/ccs34gJO.s:4004   .text.HAL_SPI_TransmitReceive_DMA:00000310 $d
     /tmp/ccs34gJO.s:6133   .text.SPI_DMAHalfTransmitReceiveCplt:00000000 SPI_DMAHalfTransmitReceiveCplt
     /tmp/ccs34gJO.s:5947   .text.SPI_DMATransmitReceiveCplt:00000000 SPI_DMATransmitReceiveCplt
     /tmp/ccs34gJO.s:4013   .text.HAL_SPI_Abort:00000000 $t
     /tmp/ccs34gJO.s:4019   .text.HAL_SPI_Abort:00000000 HAL_SPI_Abort
     /tmp/ccs34gJO.s:7510   .text.SPI_WaitFifoStateUntilTimeout:00000000 SPI_WaitFifoStateUntilTimeout
     /tmp/ccs34gJO.s:7319   .text.SPI_WaitFlagStateUntilTimeout:00000000 SPI_WaitFlagStateUntilTimeout
     /tmp/ccs34gJO.s:4385   .text.HAL_SPI_Abort:00000230 $d
     /tmp/ccs34gJO.s:8367   .text.SPI_AbortTx_ISR:00000000 SPI_AbortTx_ISR
ARM GAS  /tmp/ccs34gJO.s 			page 230


     /tmp/ccs34gJO.s:8234   .text.SPI_AbortRx_ISR:00000000 SPI_AbortRx_ISR
     /tmp/ccs34gJO.s:4393   .text.HAL_SPI_Abort_IT:00000000 $t
     /tmp/ccs34gJO.s:4399   .text.HAL_SPI_Abort_IT:00000000 HAL_SPI_Abort_IT
     /tmp/ccs34gJO.s:5583   .text.HAL_SPI_AbortCpltCallback:00000000 HAL_SPI_AbortCpltCallback
     /tmp/ccs34gJO.s:4737   .text.HAL_SPI_Abort_IT:000001dc $d
     /tmp/ccs34gJO.s:6276   .text.SPI_DMATxAbortCallback:00000000 SPI_DMATxAbortCallback
     /tmp/ccs34gJO.s:6439   .text.SPI_DMARxAbortCallback:00000000 SPI_DMARxAbortCallback
     /tmp/ccs34gJO.s:4747   .text.HAL_SPI_DMAPause:00000000 $t
     /tmp/ccs34gJO.s:4753   .text.HAL_SPI_DMAPause:00000000 HAL_SPI_DMAPause
     /tmp/ccs34gJO.s:4812   .text.HAL_SPI_DMAResume:00000000 $t
     /tmp/ccs34gJO.s:4818   .text.HAL_SPI_DMAResume:00000000 HAL_SPI_DMAResume
     /tmp/ccs34gJO.s:4877   .text.HAL_SPI_DMAStop:00000000 $t
     /tmp/ccs34gJO.s:4883   .text.HAL_SPI_DMAStop:00000000 HAL_SPI_DMAStop
     /tmp/ccs34gJO.s:4977   .text.HAL_SPI_IRQHandler:00000000 $t
     /tmp/ccs34gJO.s:4983   .text.HAL_SPI_IRQHandler:00000000 HAL_SPI_IRQHandler
     /tmp/ccs34gJO.s:5547   .text.HAL_SPI_ErrorCallback:00000000 HAL_SPI_ErrorCallback
     /tmp/ccs34gJO.s:5320   .text.HAL_SPI_IRQHandler:000001fc $d
     /tmp/ccs34gJO.s:6229   .text.SPI_DMAAbortOnError:00000000 SPI_DMAAbortOnError
     /tmp/ccs34gJO.s:5325   .text.HAL_SPI_TxCpltCallback:00000000 $t
     /tmp/ccs34gJO.s:5331   .text.HAL_SPI_TxCpltCallback:00000000 HAL_SPI_TxCpltCallback
     /tmp/ccs34gJO.s:5361   .text.HAL_SPI_RxCpltCallback:00000000 $t
     /tmp/ccs34gJO.s:5367   .text.HAL_SPI_RxCpltCallback:00000000 HAL_SPI_RxCpltCallback
     /tmp/ccs34gJO.s:5397   .text.HAL_SPI_TxRxCpltCallback:00000000 $t
     /tmp/ccs34gJO.s:5403   .text.HAL_SPI_TxRxCpltCallback:00000000 HAL_SPI_TxRxCpltCallback
     /tmp/ccs34gJO.s:5433   .text.HAL_SPI_TxHalfCpltCallback:00000000 $t
     /tmp/ccs34gJO.s:5439   .text.HAL_SPI_TxHalfCpltCallback:00000000 HAL_SPI_TxHalfCpltCallback
     /tmp/ccs34gJO.s:5469   .text.HAL_SPI_RxHalfCpltCallback:00000000 $t
     /tmp/ccs34gJO.s:5475   .text.HAL_SPI_RxHalfCpltCallback:00000000 HAL_SPI_RxHalfCpltCallback
     /tmp/ccs34gJO.s:5505   .text.HAL_SPI_TxRxHalfCpltCallback:00000000 $t
     /tmp/ccs34gJO.s:5511   .text.HAL_SPI_TxRxHalfCpltCallback:00000000 HAL_SPI_TxRxHalfCpltCallback
     /tmp/ccs34gJO.s:5541   .text.HAL_SPI_ErrorCallback:00000000 $t
     /tmp/ccs34gJO.s:5577   .text.HAL_SPI_AbortCpltCallback:00000000 $t
     /tmp/ccs34gJO.s:5613   .text.HAL_SPI_GetState:00000000 $t
     /tmp/ccs34gJO.s:5619   .text.HAL_SPI_GetState:00000000 HAL_SPI_GetState
     /tmp/ccs34gJO.s:5653   .text.HAL_SPI_GetError:00000000 $t
     /tmp/ccs34gJO.s:5659   .text.HAL_SPI_GetError:00000000 HAL_SPI_GetError
     /tmp/ccs34gJO.s:5692   .text.SPI_DMATransmitCplt:00000000 $t
     /tmp/ccs34gJO.s:5817   .text.SPI_DMAReceiveCplt:00000000 $t
     /tmp/ccs34gJO.s:5942   .text.SPI_DMATransmitReceiveCplt:00000000 $t
     /tmp/ccs34gJO.s:6050   .text.SPI_DMAHalfTransmitCplt:00000000 $t
     /tmp/ccs34gJO.s:6089   .text.SPI_DMAHalfReceiveCplt:00000000 $t
     /tmp/ccs34gJO.s:6128   .text.SPI_DMAHalfTransmitReceiveCplt:00000000 $t
     /tmp/ccs34gJO.s:6167   .text.SPI_DMAError:00000000 $t
     /tmp/ccs34gJO.s:6224   .text.SPI_DMAAbortOnError:00000000 $t
     /tmp/ccs34gJO.s:6271   .text.SPI_DMATxAbortCallback:00000000 $t
     /tmp/ccs34gJO.s:6434   .text.SPI_DMARxAbortCallback:00000000 $t
     /tmp/ccs34gJO.s:6599   .text.SPI_2linesRxISR_8BIT:00000000 $t
     /tmp/ccs34gJO.s:7955   .text.SPI_CloseRxTx_ISR:00000000 SPI_CloseRxTx_ISR
     /tmp/ccs34gJO.s:6739   .text.SPI_2linesTxISR_8BIT:00000000 $t
     /tmp/ccs34gJO.s:6861   .text.SPI_2linesRxISR_16BIT:00000000 $t
     /tmp/ccs34gJO.s:6947   .text.SPI_2linesTxISR_16BIT:00000000 $t
     /tmp/ccs34gJO.s:7031   .text.SPI_RxISR_8BIT:00000000 $t
     /tmp/ccs34gJO.s:8055   .text.SPI_CloseRx_ISR:00000000 SPI_CloseRx_ISR
     /tmp/ccs34gJO.s:7103   .text.SPI_RxISR_16BIT:00000000 $t
     /tmp/ccs34gJO.s:7174   .text.SPI_TxISR_8BIT:00000000 $t
     /tmp/ccs34gJO.s:8134   .text.SPI_CloseTx_ISR:00000000 SPI_CloseTx_ISR
     /tmp/ccs34gJO.s:7245   .text.SPI_TxISR_16BIT:00000000 $t
ARM GAS  /tmp/ccs34gJO.s 			page 231


     /tmp/ccs34gJO.s:7314   .text.SPI_WaitFlagStateUntilTimeout:00000000 $t
     /tmp/ccs34gJO.s:7500   .text.SPI_WaitFlagStateUntilTimeout:0000010c $d
     /tmp/ccs34gJO.s:7505   .text.SPI_WaitFifoStateUntilTimeout:00000000 $t
     /tmp/ccs34gJO.s:7714   .text.SPI_WaitFifoStateUntilTimeout:00000128 $d
     /tmp/ccs34gJO.s:7719   .text.SPI_EndRxTransaction:00000000 $t
     /tmp/ccs34gJO.s:7847   .text.SPI_EndRxTxTransaction:00000000 $t
     /tmp/ccs34gJO.s:7950   .text.SPI_CloseRxTx_ISR:00000000 $t
     /tmp/ccs34gJO.s:8050   .text.SPI_CloseRx_ISR:00000000 $t
     /tmp/ccs34gJO.s:8129   .text.SPI_CloseTx_ISR:00000000 $t
     /tmp/ccs34gJO.s:8229   .text.SPI_AbortRx_ISR:00000000 $t
     /tmp/ccs34gJO.s:8356   .text.SPI_AbortRx_ISR:000000b8 $d
     /tmp/ccs34gJO.s:8362   .text.SPI_AbortTx_ISR:00000000 $t
     /tmp/ccs34gJO.s:8568   .text.SPI_AbortTx_ISR:0000013c $d

UNDEFINED SYMBOLS
HAL_GetTick
HAL_DMA_Start_IT
HAL_DMA_Abort
SystemCoreClock
HAL_DMA_Abort_IT