ARM GAS  /tmp/ccGtkZvD.s 			page 1


   1              		.cpu cortex-m4
   2              		.arch armv7e-m
   3              		.fpu fpv4-sp-d16
   4              		.eabi_attribute 27, 1
   5              		.eabi_attribute 28, 1
   6              		.eabi_attribute 20, 1
   7              		.eabi_attribute 21, 1
   8              		.eabi_attribute 23, 3
   9              		.eabi_attribute 24, 1
  10              		.eabi_attribute 25, 1
  11              		.eabi_attribute 26, 1
  12              		.eabi_attribute 30, 1
  13              		.eabi_attribute 34, 1
  14              		.eabi_attribute 18, 4
  15              		.file	"stm32f4xx_hal_uart.c"
  16              		.text
  17              	.Ltext0:
  18              		.cfi_sections	.debug_frame
  19              		.section	.text.UART_EndTxTransfer,"ax",%progbits
  20              		.align	1
  21              		.syntax unified
  22              		.thumb
  23              		.thumb_func
  25              	UART_EndTxTransfer:
  26              	.LVL0:
  27              	.LFB174:
  28              		.file 1 "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c"
   1:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
   2:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   ******************************************************************************
   3:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @file    stm32f4xx_hal_uart.c
   4:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @author  MCD Application Team
   5:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief   UART HAL module driver.
   6:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *          This file provides firmware functions to manage the following
   7:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *          functionalities of the Universal Asynchronous Receiver Transmitter Peripheral (UART).
   8:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           + Initialization and de-initialization functions
   9:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           + IO operation functions
  10:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           + Peripheral Control functions
  11:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           + Peripheral State and Errors functions
  12:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   @verbatim
  13:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   ==============================================================================
  14:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****                         ##### How to use this driver #####
  15:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   ==============================================================================
  16:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   [..]
  17:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     The UART HAL driver can be used as follows:
  18:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
  19:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (#) Declare a UART_HandleTypeDef handle structure (eg. UART_HandleTypeDef huart).
  20:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (#) Initialize the UART low level resources by implementing the HAL_UART_MspInit() API:
  21:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (##) Enable the USARTx interface clock.
  22:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (##) UART pins configuration:
  23:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             (+++) Enable the clock for the UART GPIOs.
  24:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             (+++) Configure these UART pins (TX as alternate function pull-up, RX as alternate func
  25:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (##) NVIC configuration if you need to use interrupt process (HAL_UART_Transmit_IT()
  26:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****              and HAL_UART_Receive_IT() APIs):
  27:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             (+++) Configure the USARTx interrupt priority.
  28:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             (+++) Enable the NVIC USART IRQ handle.
  29:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (##) DMA Configuration if you need to use DMA process (HAL_UART_Transmit_DMA()
  30:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****              and HAL_UART_Receive_DMA() APIs):
ARM GAS  /tmp/ccGtkZvD.s 			page 2


  31:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             (+++) Declare a DMA handle structure for the Tx/Rx stream.
  32:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             (+++) Enable the DMAx interface clock.
  33:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             (+++) Configure the declared DMA handle structure with the required
  34:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****                   Tx/Rx parameters.
  35:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             (+++) Configure the DMA Tx/Rx stream.
  36:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             (+++) Associate the initialized DMA handle to the UART DMA Tx/Rx handle.
  37:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             (+++) Configure the priority and enable the NVIC for the transfer complete
  38:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****                   interrupt on the DMA Tx/Rx stream.
  39:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             (+++) Configure the USARTx interrupt priority and enable the NVIC USART IRQ handle
  40:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****                   (used for last byte sending completion detection in DMA non circular mode)
  41:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
  42:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (#) Program the Baud Rate, Word Length, Stop Bit, Parity, Hardware
  43:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         flow control and Mode(Receiver/Transmitter) in the huart Init structure.
  44:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
  45:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (#) For the UART asynchronous mode, initialize the UART registers by calling
  46:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         the HAL_UART_Init() API.
  47:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
  48:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (#) For the UART Half duplex mode, initialize the UART registers by calling
  49:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         the HAL_HalfDuplex_Init() API.
  50:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
  51:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (#) For the LIN mode, initialize the UART registers by calling the HAL_LIN_Init() API.
  52:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
  53:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (#) For the Multi-Processor mode, initialize the UART registers by calling
  54:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         the HAL_MultiProcessor_Init() API.
  55:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
  56:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      [..]
  57:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****        (@) The specific UART interrupts (Transmission complete interrupt,
  58:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             RXNE interrupt and Error Interrupts) will be managed using the macros
  59:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             __HAL_UART_ENABLE_IT() and __HAL_UART_DISABLE_IT() inside the transmit
  60:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             and receive process.
  61:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
  62:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      [..]
  63:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****        (@) These APIs (HAL_UART_Init() and HAL_HalfDuplex_Init()) configure also the
  64:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             low level Hardware GPIO, CLOCK, CORTEX...etc) by calling the customized
  65:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             HAL_UART_MspInit() API.
  66:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
  67:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     ##### Callback registration #####
  68:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     ==================================
  69:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
  70:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     [..]
  71:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     The compilation define USE_HAL_UART_REGISTER_CALLBACKS when set to 1
  72:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     allows the user to configure dynamically the driver callbacks.
  73:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
  74:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     [..]
  75:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     Use Function @ref HAL_UART_RegisterCallback() to register a user callback.
  76:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     Function @ref HAL_UART_RegisterCallback() allows to register following callbacks:
  77:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (+) TxHalfCpltCallback        : Tx Half Complete Callback.
  78:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (+) TxCpltCallback            : Tx Complete Callback.
  79:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (+) RxHalfCpltCallback        : Rx Half Complete Callback.
  80:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (+) RxCpltCallback            : Rx Complete Callback.
  81:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (+) ErrorCallback             : Error Callback.
  82:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (+) AbortCpltCallback         : Abort Complete Callback.
  83:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback.
  84:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (+) AbortReceiveCpltCallback  : Abort Receive Complete Callback.
  85:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (+) MspInitCallback           : UART MspInit.
  86:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (+) MspDeInitCallback         : UART MspDeInit.
  87:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     This function takes as parameters the HAL peripheral handle, the Callback ID
ARM GAS  /tmp/ccGtkZvD.s 			page 3


  88:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     and a pointer to the user callback function.
  89:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
  90:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     [..]
  91:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     Use function @ref HAL_UART_UnRegisterCallback() to reset a callback to the default
  92:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     weak (surcharged) function.
  93:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     @ref HAL_UART_UnRegisterCallback() takes as parameters the HAL peripheral handle,
  94:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     and the Callback ID.
  95:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     This function allows to reset following callbacks:
  96:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (+) TxHalfCpltCallback        : Tx Half Complete Callback.
  97:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (+) TxCpltCallback            : Tx Complete Callback.
  98:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (+) RxHalfCpltCallback        : Rx Half Complete Callback.
  99:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (+) RxCpltCallback            : Rx Complete Callback.
 100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (+) ErrorCallback             : Error Callback.
 101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (+) AbortCpltCallback         : Abort Complete Callback.
 102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback.
 103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (+) AbortReceiveCpltCallback  : Abort Receive Complete Callback.
 104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (+) MspInitCallback           : UART MspInit.
 105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (+) MspDeInitCallback         : UART MspDeInit.
 106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     [..]
 108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     By default, after the @ref HAL_UART_Init() and when the state is HAL_UART_STATE_RESET
 109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     all callbacks are set to the corresponding weak (surcharged) functions:
 110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     examples @ref HAL_UART_TxCpltCallback(), @ref HAL_UART_RxHalfCpltCallback().
 111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     Exception done for MspInit and MspDeInit functions that are respectively
 112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     reset to the legacy weak (surcharged) functions in the @ref HAL_UART_Init()
 113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     and @ref HAL_UART_DeInit() only when these callbacks are null (not registered beforehand).
 114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     If not, MspInit or MspDeInit are not null, the @ref HAL_UART_Init() and @ref HAL_UART_DeInit()
 115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     keep and use the user MspInit/MspDeInit callbacks (registered beforehand).
 116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     [..]
 118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     Callbacks can be registered/unregistered in HAL_UART_STATE_READY state only.
 119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     Exception done MspInit/MspDeInit that can be registered/unregistered
 120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     in HAL_UART_STATE_READY or HAL_UART_STATE_RESET state, thus registered (user)
 121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     MspInit/DeInit callbacks can be used during the Init/DeInit.
 122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     In that case first register the MspInit/MspDeInit user callbacks
 123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     using @ref HAL_UART_RegisterCallback() before calling @ref HAL_UART_DeInit()
 124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     or @ref HAL_UART_Init() function.
 125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     [..]
 127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     When The compilation define USE_HAL_UART_REGISTER_CALLBACKS is set to 0 or
 128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     not defined, the callback registration feature is not available
 129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     and weak (surcharged) callbacks are used.
 130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      [..]
 132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         Three operation modes are available within this driver :
 133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      *** Polling mode IO operation ***
 135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      =================================
 136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      [..]
 137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****        (+) Send an amount of data in blocking mode using HAL_UART_Transmit()
 138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****        (+) Receive an amount of data in blocking mode using HAL_UART_Receive()
 139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      *** Interrupt mode IO operation ***
 141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      ===================================
 142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      [..]
 143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****        (+) Send an amount of data in non blocking mode using HAL_UART_Transmit_IT()
 144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****        (+) At transmission end of transfer HAL_UART_TxCpltCallback is executed and user can
ARM GAS  /tmp/ccGtkZvD.s 			page 4


 145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             add his own code by customization of function pointer HAL_UART_TxCpltCallback
 146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****        (+) Receive an amount of data in non blocking mode using HAL_UART_Receive_IT()
 147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****        (+) At reception end of transfer HAL_UART_RxCpltCallback is executed and user can
 148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             add his own code by customization of function pointer HAL_UART_RxCpltCallback
 149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****        (+) In case of transfer Error, HAL_UART_ErrorCallback() function is executed and user can
 150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             add his own code by customization of function pointer HAL_UART_ErrorCallback
 151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      *** DMA mode IO operation ***
 153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      ==============================
 154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      [..]
 155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****        (+) Send an amount of data in non blocking mode (DMA) using HAL_UART_Transmit_DMA()
 156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****        (+) At transmission end of half transfer HAL_UART_TxHalfCpltCallback is executed and user ca
 157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             add his own code by customization of function pointer HAL_UART_TxHalfCpltCallback
 158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****        (+) At transmission end of transfer HAL_UART_TxCpltCallback is executed and user can
 159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             add his own code by customization of function pointer HAL_UART_TxCpltCallback
 160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****        (+) Receive an amount of data in non blocking mode (DMA) using HAL_UART_Receive_DMA()
 161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****        (+) At reception end of half transfer HAL_UART_RxHalfCpltCallback is executed and user can
 162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             add his own code by customization of function pointer HAL_UART_RxHalfCpltCallback
 163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****        (+) At reception end of transfer HAL_UART_RxCpltCallback is executed and user can
 164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             add his own code by customization of function pointer HAL_UART_RxCpltCallback
 165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****        (+) In case of transfer Error, HAL_UART_ErrorCallback() function is executed and user can
 166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             add his own code by customization of function pointer HAL_UART_ErrorCallback
 167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****        (+) Pause the DMA Transfer using HAL_UART_DMAPause()
 168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****        (+) Resume the DMA Transfer using HAL_UART_DMAResume()
 169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****        (+) Stop the DMA Transfer using HAL_UART_DMAStop()
 170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      *** UART HAL driver macros list ***
 172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      =============================================
 173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      [..]
 174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****        Below the list of most used macros in UART HAL driver.
 175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       (+) __HAL_UART_ENABLE: Enable the UART peripheral
 177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       (+) __HAL_UART_DISABLE: Disable the UART peripheral
 178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       (+) __HAL_UART_GET_FLAG : Check whether the specified UART flag is set or not
 179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       (+) __HAL_UART_CLEAR_FLAG : Clear the specified UART pending flag
 180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       (+) __HAL_UART_ENABLE_IT: Enable the specified UART interrupt
 181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       (+) __HAL_UART_DISABLE_IT: Disable the specified UART interrupt
 182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       (+) __HAL_UART_GET_IT_SOURCE: Check whether the specified UART interrupt has occurred or not
 183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      [..]
 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****        (@) You can refer to the UART HAL driver header file for more useful macros
 186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   @endverbatim
 188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      [..]
 189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****        (@) Additionnal remark: If the parity is enabled, then the MSB bit of the data written
 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****            in the data register is transmitted but is changed by the parity bit.
 191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****            Depending on the frame length defined by the M bit (8-bits or 9-bits),
 192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****            the possible UART frame formats are as listed in the following table:
 193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     +-------------------------------------------------------------+
 194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     |   M bit |  PCE bit  |            UART frame                 |
 195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     |---------------------|---------------------------------------|
 196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     |    0    |    0      |    | SB | 8 bit data | STB |          |
 197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     |---------|-----------|---------------------------------------|
 198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     |    0    |    1      |    | SB | 7 bit data | PB | STB |     |
 199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     |---------|-----------|---------------------------------------|
 200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     |    1    |    0      |    | SB | 9 bit data | STB |          |
 201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     |---------|-----------|---------------------------------------|
ARM GAS  /tmp/ccGtkZvD.s 			page 5


 202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     |    1    |    1      |    | SB | 8 bit data | PB | STB |     |
 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     +-------------------------------------------------------------+
 204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   ******************************************************************************
 205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @attention
 206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *
 207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
 208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * All rights reserved.</center></h2>
 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *
 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * This software component is licensed by ST under BSD 3-Clause license,
 211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * the "License"; You may not use this file except in compliance with the
 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * License. You may obtain a copy of the License at:
 213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                        opensource.org/licenses/BSD-3-Clause
 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *
 215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   ******************************************************************************
 216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
 217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Includes ------------------------------------------------------------------*/
 219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #include "stm32f4xx_hal.h"
 220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @addtogroup STM32F4xx_HAL_Driver
 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @{
 223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
 224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART UART
 226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief HAL UART module driver
 227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @{
 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
 229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #ifdef HAL_UART_MODULE_ENABLED
 230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Private typedef -----------------------------------------------------------*/
 232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Private define ------------------------------------------------------------*/
 233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @addtogroup UART_Private_Constants
 234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @{
 235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
 236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
 237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @}
 238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
 239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Private macro -------------------------------------------------------------*/
 240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Private variables ---------------------------------------------------------*/
 241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Private function prototypes -----------------------------------------------*/
 242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @addtogroup UART_Private_Functions  UART Private Functions
 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @{
 244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
 245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** void UART_InitCallbacksToDefault(UART_HandleTypeDef *huart);
 248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart);
 250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart);
 251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma);
 252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma);
 253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma);
 254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma);
 255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma);
 256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma);
 257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma);
 258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma);
ARM GAS  /tmp/ccGtkZvD.s 			page 6


 259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma);
 260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma);
 261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_Transmit_IT(UART_HandleTypeDef *huart);
 262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_EndTransmit_IT(UART_HandleTypeDef *huart);
 263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_Receive_IT(UART_HandleTypeDef *huart);
 264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, Flag
 265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_SetConfig(UART_HandleTypeDef *huart);
 266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
 268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @}
 269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
 270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Exported functions ---------------------------------------------------------*/
 272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions UART Exported Functions
 273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @{
 274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
 275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group1 Initialization and de-initialization functions
 277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *  @brief    Initialization and Configuration functions
 278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *
 279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @verbatim
 280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****  ===============================================================================
 281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             ##### Initialization and Configuration functions #####
 282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****  ===============================================================================
 283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     [..]
 284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     This subsection provides a set of functions allowing to initialize the USARTx or the UARTy
 285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     in asynchronous mode.
 286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       (+) For the asynchronous mode only these parameters can be configured:
 287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (++) Baud Rate
 288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (++) Word Length
 289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (++) Stop Bit
 290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (++) Parity: If the parity is enabled, then the MSB bit of the data written
 291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****              in the data register is transmitted but is changed by the parity bit.
 292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****              Depending on the frame length defined by the M bit (8-bits or 9-bits),
 293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****              please refer to Reference manual for possible UART frame formats.
 294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (++) Hardware flow control
 295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (++) Receiver/transmitter modes
 296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (++) Over Sampling Method
 297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     [..]
 298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     The HAL_UART_Init(), HAL_HalfDuplex_Init(), HAL_LIN_Init() and HAL_MultiProcessor_Init() APIs
 299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     follow respectively the UART asynchronous, UART Half duplex, LIN and Multi-Processor configurat
 300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     procedures (details for the procedures are available in reference manual
 301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (RM0430 for STM32F4X3xx MCUs and RM0402 for STM32F412xx MCUs
 302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      RM0383 for STM32F411xC/E MCUs and RM0401 for STM32F410xx MCUs
 303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      RM0090 for STM32F4X5xx/STM32F4X7xx/STM32F429xx/STM32F439xx MCUs
 304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      RM0390 for STM32F446xx MCUs and RM0386 for STM32F469xx/STM32F479xx MCUs)).
 305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @endverbatim
 307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @{
 308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
 309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
 311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Initializes the UART mode according to the specified parameters in
 312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *         the UART_InitTypeDef and create the associated handle.
 313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
 314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
 315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval HAL status
ARM GAS  /tmp/ccGtkZvD.s 			page 7


 316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
 317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart)
 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check the UART handle allocation */
 320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (huart == NULL)
 321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     return HAL_ERROR;
 323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check the parameters */
 326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (huart->Init.HwFlowCtl != UART_HWCONTROL_NONE)
 327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* The hardware flow control is available only for USART1, USART2, USART3 and USART6 */
 329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     assert_param(IS_UART_HWFLOW_INSTANCE(huart->Instance));
 330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl));
 331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   else
 333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     assert_param(IS_UART_INSTANCE(huart->Instance));
 335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
 337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
 338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (huart->gState == HAL_UART_STATE_RESET)
 340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Allocate lock resource and initialize it */
 342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->Lock = HAL_UNLOCKED;
 343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
 345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     UART_InitCallbacksToDefault(huart);
 346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if (huart->MspInitCallback == NULL)
 348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->MspInitCallback = HAL_UART_MspInit;
 350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Init the low level hardware */
 353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->MspInitCallback(huart);
 354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
 355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Init the low level hardware : GPIO, CLOCK */
 356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     HAL_UART_MspInit(huart);
 357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
 358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_BUSY;
 361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable the peripheral */
 363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   __HAL_UART_DISABLE(huart);
 364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Set the UART Communication parameters */
 366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_SetConfig(huart);
 367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* In asynchronous mode, the following bits must be kept cleared:
 369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      - LINEN and CLKEN bits in the USART_CR2 register,
 370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      - SCEN, HDSEL and IREN  bits in the USART_CR3 register.*/
 371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
 372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
ARM GAS  /tmp/ccGtkZvD.s 			page 8


 373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Enable the peripheral */
 375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   __HAL_UART_ENABLE(huart);
 376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Initialize the UART state */
 378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->ErrorCode = HAL_UART_ERROR_NONE;
 379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
 380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
 381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   return HAL_OK;
 383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
 386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Initializes the half-duplex mode according to the specified
 387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *         parameters in the UART_InitTypeDef and create the associated handle.
 388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
 389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
 390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval HAL status
 391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
 392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_Init(UART_HandleTypeDef *huart)
 393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
 394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check the UART handle allocation */
 395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (huart == NULL)
 396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     return HAL_ERROR;
 398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check the parameters */
 401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   assert_param(IS_UART_HALFDUPLEX_INSTANCE(huart->Instance));
 402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
 403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
 404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (huart->gState == HAL_UART_STATE_RESET)
 406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Allocate lock resource and initialize it */
 408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->Lock = HAL_UNLOCKED;
 409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
 411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     UART_InitCallbacksToDefault(huart);
 412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if (huart->MspInitCallback == NULL)
 414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->MspInitCallback = HAL_UART_MspInit;
 416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Init the low level hardware */
 419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->MspInitCallback(huart);
 420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
 421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Init the low level hardware : GPIO, CLOCK */
 422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     HAL_UART_MspInit(huart);
 423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
 424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_BUSY;
 427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable the peripheral */
 429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   __HAL_UART_DISABLE(huart);
ARM GAS  /tmp/ccGtkZvD.s 			page 9


 430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Set the UART Communication parameters */
 432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_SetConfig(huart);
 433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* In half-duplex mode, the following bits must be kept cleared:
 435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      - LINEN and CLKEN bits in the USART_CR2 register,
 436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      - SCEN and IREN bits in the USART_CR3 register.*/
 437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
 438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN));
 439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Enable the Half-Duplex mode by setting the HDSEL bit in the CR3 register */
 441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   SET_BIT(huart->Instance->CR3, USART_CR3_HDSEL);
 442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Enable the peripheral */
 444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   __HAL_UART_ENABLE(huart);
 445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Initialize the UART state*/
 447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->ErrorCode = HAL_UART_ERROR_NONE;
 448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
 449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
 450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   return HAL_OK;
 452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
 455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Initializes the LIN mode according to the specified
 456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *         parameters in the UART_InitTypeDef and create the associated handle.
 457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
 458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
 459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  BreakDetectLength Specifies the LIN break detection length.
 460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *         This parameter can be one of the following values:
 461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *            @arg UART_LINBREAKDETECTLENGTH_10B: 10-bit break detection
 462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *            @arg UART_LINBREAKDETECTLENGTH_11B: 11-bit break detection
 463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval HAL status
 464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
 465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_Init(UART_HandleTypeDef *huart, uint32_t BreakDetectLength)
 466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
 467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check the UART handle allocation */
 468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (huart == NULL)
 469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     return HAL_ERROR;
 471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check the LIN UART instance */
 474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   assert_param(IS_UART_LIN_INSTANCE(huart->Instance));
 475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check the Break detection length parameter */
 477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   assert_param(IS_UART_LIN_BREAK_DETECT_LENGTH(BreakDetectLength));
 478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   assert_param(IS_UART_LIN_WORD_LENGTH(huart->Init.WordLength));
 479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   assert_param(IS_UART_LIN_OVERSAMPLING(huart->Init.OverSampling));
 480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (huart->gState == HAL_UART_STATE_RESET)
 482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Allocate lock resource and initialize it */
 484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->Lock = HAL_UNLOCKED;
 485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
ARM GAS  /tmp/ccGtkZvD.s 			page 10


 487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     UART_InitCallbacksToDefault(huart);
 488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if (huart->MspInitCallback == NULL)
 490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->MspInitCallback = HAL_UART_MspInit;
 492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Init the low level hardware */
 495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->MspInitCallback(huart);
 496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
 497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Init the low level hardware : GPIO, CLOCK */
 498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     HAL_UART_MspInit(huart);
 499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
 500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_BUSY;
 503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable the peripheral */
 505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   __HAL_UART_DISABLE(huart);
 506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Set the UART Communication parameters */
 508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_SetConfig(huart);
 509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* In LIN mode, the following bits must be kept cleared:
 511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      - CLKEN bits in the USART_CR2 register,
 512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      - SCEN, HDSEL and IREN bits in the USART_CR3 register.*/
 513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR2, (USART_CR2_CLKEN));
 514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN));
 515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Enable the LIN mode by setting the LINEN bit in the CR2 register */
 517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   SET_BIT(huart->Instance->CR2, USART_CR2_LINEN);
 518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Set the USART LIN Break detection length. */
 520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR2, USART_CR2_LBDL);
 521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   SET_BIT(huart->Instance->CR2, BreakDetectLength);
 522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Enable the peripheral */
 524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   __HAL_UART_ENABLE(huart);
 525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Initialize the UART state*/
 527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->ErrorCode = HAL_UART_ERROR_NONE;
 528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
 529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
 530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   return HAL_OK;
 532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
 535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Initializes the Multi-Processor mode according to the specified
 536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *         parameters in the UART_InitTypeDef and create the associated handle.
 537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
 538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
 539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  Address USART address
 540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  WakeUpMethod specifies the USART wake-up method.
 541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *         This parameter can be one of the following values:
 542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *            @arg UART_WAKEUPMETHOD_IDLELINE: Wake-up by an idle line detection
 543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *            @arg UART_WAKEUPMETHOD_ADDRESSMARK: Wake-up by an address mark
ARM GAS  /tmp/ccGtkZvD.s 			page 11


 544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval HAL status
 545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
 546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_Init(UART_HandleTypeDef *huart, uint8_t Address, uint32_t Wake
 547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
 548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check the UART handle allocation */
 549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (huart == NULL)
 550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     return HAL_ERROR;
 552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check the parameters */
 555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   assert_param(IS_UART_INSTANCE(huart->Instance));
 556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check the Address & wake up method parameters */
 558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   assert_param(IS_UART_WAKEUPMETHOD(WakeUpMethod));
 559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   assert_param(IS_UART_ADDRESS(Address));
 560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
 561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
 562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (huart->gState == HAL_UART_STATE_RESET)
 564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Allocate lock resource and initialize it */
 566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->Lock = HAL_UNLOCKED;
 567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
 569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     UART_InitCallbacksToDefault(huart);
 570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if (huart->MspInitCallback == NULL)
 572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->MspInitCallback = HAL_UART_MspInit;
 574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Init the low level hardware */
 577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->MspInitCallback(huart);
 578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
 579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Init the low level hardware : GPIO, CLOCK */
 580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     HAL_UART_MspInit(huart);
 581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
 582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_BUSY;
 585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable the peripheral */
 587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   __HAL_UART_DISABLE(huart);
 588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Set the UART Communication parameters */
 590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_SetConfig(huart);
 591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* In Multi-Processor mode, the following bits must be kept cleared:
 593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      - LINEN and CLKEN bits in the USART_CR2 register,
 594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      - SCEN, HDSEL and IREN  bits in the USART_CR3 register */
 595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
 596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
 597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Set the USART address node */
 599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR2, USART_CR2_ADD);
 600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   SET_BIT(huart->Instance->CR2, Address);
ARM GAS  /tmp/ccGtkZvD.s 			page 12


 601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Set the wake up method by setting the WAKE bit in the CR1 register */
 603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR1, USART_CR1_WAKE);
 604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   SET_BIT(huart->Instance->CR1, WakeUpMethod);
 605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Enable the peripheral */
 607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   __HAL_UART_ENABLE(huart);
 608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Initialize the UART state */
 610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->ErrorCode = HAL_UART_ERROR_NONE;
 611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
 612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
 613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   return HAL_OK;
 615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
 618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  DeInitializes the UART peripheral.
 619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
 620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
 621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval HAL status
 622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
 623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DeInit(UART_HandleTypeDef *huart)
 624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
 625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check the UART handle allocation */
 626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (huart == NULL)
 627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     return HAL_ERROR;
 629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check the parameters */
 632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   assert_param(IS_UART_INSTANCE(huart->Instance));
 633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_BUSY;
 635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable the Peripheral */
 637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   __HAL_UART_DISABLE(huart);
 638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
 640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (huart->MspDeInitCallback == NULL)
 641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->MspDeInitCallback = HAL_UART_MspDeInit;
 643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* DeInit the low level hardware */
 645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->MspDeInitCallback(huart);
 646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
 647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* DeInit the low level hardware */
 648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   HAL_UART_MspDeInit(huart);
 649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
 650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->ErrorCode = HAL_UART_ERROR_NONE;
 652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_RESET;
 653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_RESET;
 654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Process Unlock */
 656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   __HAL_UNLOCK(huart);
 657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
ARM GAS  /tmp/ccGtkZvD.s 			page 13


 658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   return HAL_OK;
 659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
 662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  UART MSP Init.
 663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
 664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
 665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval None
 666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
 667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_MspInit(UART_HandleTypeDef *huart)
 668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
 669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
 670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UNUSED(huart);
 671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* NOTE: This function should not be modified, when the callback is needed,
 672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****            the HAL_UART_MspInit could be implemented in the user file
 673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****    */
 674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
 677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  UART MSP DeInit.
 678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
 679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
 680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval None
 681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
 682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_MspDeInit(UART_HandleTypeDef *huart)
 683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
 684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
 685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UNUSED(huart);
 686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* NOTE: This function should not be modified, when the callback is needed,
 687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****            the HAL_UART_MspDeInit could be implemented in the user file
 688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****    */
 689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
 692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
 693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Register a User UART Callback
 694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *         To be used instead of the weak predefined callback
 695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart uart handle
 696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  CallbackID ID of the callback to be registered
 697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *         This parameter can be one of the following values:
 698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID
 699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID
 700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID
 701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID
 702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID
 703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID
 704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID
 705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID
 706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID
 707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID
 708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  pCallback pointer to the Callback function
 709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval HAL status
 710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
 711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef C
 712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
 713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   HAL_StatusTypeDef status = HAL_OK;
 714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
ARM GAS  /tmp/ccGtkZvD.s 			page 14


 715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (pCallback == NULL)
 716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Update the error code */
 718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
 719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     return HAL_ERROR;
 721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Process locked */
 723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   __HAL_LOCK(huart);
 724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (huart->gState == HAL_UART_STATE_READY)
 726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     switch (CallbackID)
 728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       case HAL_UART_TX_HALFCOMPLETE_CB_ID :
 730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->TxHalfCpltCallback = pCallback;
 731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         break;
 732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       case HAL_UART_TX_COMPLETE_CB_ID :
 734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->TxCpltCallback = pCallback;
 735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         break;
 736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       case HAL_UART_RX_HALFCOMPLETE_CB_ID :
 738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->RxHalfCpltCallback = pCallback;
 739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         break;
 740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       case HAL_UART_RX_COMPLETE_CB_ID :
 742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->RxCpltCallback = pCallback;
 743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         break;
 744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       case HAL_UART_ERROR_CB_ID :
 746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->ErrorCallback = pCallback;
 747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         break;
 748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       case HAL_UART_ABORT_COMPLETE_CB_ID :
 750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->AbortCpltCallback = pCallback;
 751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         break;
 752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID :
 754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->AbortTransmitCpltCallback = pCallback;
 755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         break;
 756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID :
 758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->AbortReceiveCpltCallback = pCallback;
 759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         break;
 760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       case HAL_UART_MSPINIT_CB_ID :
 762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->MspInitCallback = pCallback;
 763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         break;
 764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       case HAL_UART_MSPDEINIT_CB_ID :
 766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->MspDeInitCallback = pCallback;
 767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         break;
 768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       default :
 770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         /* Update the error code */
 771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
ARM GAS  /tmp/ccGtkZvD.s 			page 15


 772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         /* Return error status */
 774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         status =  HAL_ERROR;
 775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         break;
 776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   else if (huart->gState == HAL_UART_STATE_RESET)
 779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     switch (CallbackID)
 781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       case HAL_UART_MSPINIT_CB_ID :
 783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->MspInitCallback = pCallback;
 784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         break;
 785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       case HAL_UART_MSPDEINIT_CB_ID :
 787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->MspDeInitCallback = pCallback;
 788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         break;
 789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       default :
 791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         /* Update the error code */
 792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
 793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         /* Return error status */
 795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         status =  HAL_ERROR;
 796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         break;
 797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   else
 800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Update the error code */
 802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
 803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Return error status */
 805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     status =  HAL_ERROR;
 806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Release Lock */
 809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   __HAL_UNLOCK(huart);
 810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   return status;
 812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
 815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Unregister an UART Callback
 816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *         UART callaback is redirected to the weak predefined callback
 817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart uart handle
 818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  CallbackID ID of the callback to be unregistered
 819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *         This parameter can be one of the following values:
 820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID
 821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID
 822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID
 823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID
 824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID
 825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID
 826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID
 827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID
 828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID
ARM GAS  /tmp/ccGtkZvD.s 			page 16


 829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID
 830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval HAL status
 831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
 832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef
 833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
 834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   HAL_StatusTypeDef status = HAL_OK;
 835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Process locked */
 837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   __HAL_LOCK(huart);
 838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (HAL_UART_STATE_READY == huart->gState)
 840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     switch (CallbackID)
 842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       case HAL_UART_TX_HALFCOMPLETE_CB_ID :
 844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback;               /* Legacy weak  TxHa
 845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         break;
 846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       case HAL_UART_TX_COMPLETE_CB_ID :
 848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->TxCpltCallback = HAL_UART_TxCpltCallback;                       /* Legacy weak TxCpl
 849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         break;
 850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       case HAL_UART_RX_HALFCOMPLETE_CB_ID :
 852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback;               /* Legacy weak RxHal
 853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         break;
 854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       case HAL_UART_RX_COMPLETE_CB_ID :
 856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->RxCpltCallback = HAL_UART_RxCpltCallback;                       /* Legacy weak RxCpl
 857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         break;
 858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       case HAL_UART_ERROR_CB_ID :
 860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->ErrorCallback = HAL_UART_ErrorCallback;                         /* Legacy weak Error
 861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         break;
 862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       case HAL_UART_ABORT_COMPLETE_CB_ID :
 864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->AbortCpltCallback = HAL_UART_AbortCpltCallback;                 /* Legacy weak Abort
 865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         break;
 866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID :
 868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak Abort
 869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         break;
 870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID :
 872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback;   /* Legacy weak Abort
 873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         break;
 874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       case HAL_UART_MSPINIT_CB_ID :
 876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->MspInitCallback = HAL_UART_MspInit;                             /* Legacy weak MspIn
 877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         break;
 878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       case HAL_UART_MSPDEINIT_CB_ID :
 880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->MspDeInitCallback = HAL_UART_MspDeInit;                         /* Legacy weak MspDe
 881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         break;
 882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       default :
 884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         /* Update the error code */
 885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
ARM GAS  /tmp/ccGtkZvD.s 			page 17


 886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         /* Return error status */
 888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         status =  HAL_ERROR;
 889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         break;
 890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   else if (HAL_UART_STATE_RESET == huart->gState)
 893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     switch (CallbackID)
 895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       case HAL_UART_MSPINIT_CB_ID :
 897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->MspInitCallback = HAL_UART_MspInit;
 898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         break;
 899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       case HAL_UART_MSPDEINIT_CB_ID :
 901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->MspDeInitCallback = HAL_UART_MspDeInit;
 902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         break;
 903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       default :
 905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         /* Update the error code */
 906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
 907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         /* Return error status */
 909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         status =  HAL_ERROR;
 910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         break;
 911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   else
 914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Update the error code */
 916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
 917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Return error status */
 919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     status =  HAL_ERROR;
 920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Release Lock */
 923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   __HAL_UNLOCK(huart);
 924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   return status;
 926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
 930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @}
 931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
 932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group2 IO operation functions
 934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *  @brief UART Transmit and Receive functions
 935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *
 936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @verbatim
 937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****  ===============================================================================
 938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****                       ##### IO operation functions #####
 939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****  ===============================================================================
 940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     This subsection provides a set of functions allowing to manage the UART asynchronous
 941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     and Half duplex data transfers.
 942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
ARM GAS  /tmp/ccGtkZvD.s 			page 18


 943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (#) There are two modes of transfer:
 944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****        (+) Blocking mode: The communication is performed in polling mode.
 945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****            The HAL status of all data processing is returned by the same function
 946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****            after finishing transfer.
 947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****        (+) Non-Blocking mode: The communication is performed using Interrupts
 948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****            or DMA, these API's return the HAL status.
 949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****            The end of the data processing will be indicated through the
 950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****            dedicated UART IRQ when using Interrupt mode or the DMA IRQ when
 951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****            using DMA mode.
 952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****            The HAL_UART_TxCpltCallback(), HAL_UART_RxCpltCallback() user callbacks
 953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****            will be executed respectively at the end of the transmit or receive process
 954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****            The HAL_UART_ErrorCallback()user callback will be executed when a communication error is
 955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (#) Blocking mode API's are :
 957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (+) HAL_UART_Transmit()
 958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (+) HAL_UART_Receive()
 959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (#) Non-Blocking mode API's with Interrupt are :
 961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (+) HAL_UART_Transmit_IT()
 962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (+) HAL_UART_Receive_IT()
 963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (+) HAL_UART_IRQHandler()
 964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (#) Non-Blocking mode API's with DMA are :
 966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (+) HAL_UART_Transmit_DMA()
 967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (+) HAL_UART_Receive_DMA()
 968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (+) HAL_UART_DMAPause()
 969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (+) HAL_UART_DMAResume()
 970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (+) HAL_UART_DMAStop()
 971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (#) A set of Transfer Complete Callbacks are provided in Non_Blocking mode:
 973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (+) HAL_UART_TxHalfCpltCallback()
 974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (+) HAL_UART_TxCpltCallback()
 975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (+) HAL_UART_RxHalfCpltCallback()
 976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (+) HAL_UART_RxCpltCallback()
 977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (+) HAL_UART_ErrorCallback()
 978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (#) Non-Blocking mode transfers could be aborted using Abort API's :
 980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (+) HAL_UART_Abort()
 981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (+) HAL_UART_AbortTransmit()
 982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (+) HAL_UART_AbortReceive()
 983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (+) HAL_UART_Abort_IT()
 984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (+) HAL_UART_AbortTransmit_IT()
 985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (+) HAL_UART_AbortReceive_IT()
 986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (#) For Abort services based on interrupts (HAL_UART_Abortxxx_IT), a set of Abort Complete Call
 988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (+) HAL_UART_AbortCpltCallback()
 989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (+) HAL_UART_AbortTransmitCpltCallback()
 990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         (+) HAL_UART_AbortReceiveCpltCallback()
 991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (#) In Non-Blocking mode transfers, possible errors are split into 2 categories.
 993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         Errors are handled as follows :
 994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****        (+) Error is considered as Recoverable and non blocking : Transfer could go till end, but er
 995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****            to be evaluated by user : this concerns Frame Error, Parity Error or Noise Error in Inte
 996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****            Received character is then retrieved and stored in Rx buffer, Error code is set to allow
 997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****            and HAL_UART_ErrorCallback() user callback is executed. Transfer is kept ongoing on UART
 998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****            If user wants to abort it, Abort services should be called by user.
 999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****        (+) Error is considered as Blocking : Transfer could not be completed properly and is aborte
ARM GAS  /tmp/ccGtkZvD.s 			page 19


1000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****            This concerns Overrun Error In Interrupt mode reception and all errors in DMA mode.
1001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****            Error code is set to allow user to identify error type, and HAL_UART_ErrorCallback() use
1002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     -@- In the Half duplex communication, it is forbidden to run the transmit
1004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         and receive process in parallel, the UART state HAL_UART_STATE_BUSY_TX_RX can't be useful.
1005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @endverbatim
1007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @{
1008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
1009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Sends an amount of data in blocking mode.
1012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
1013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
1014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  pData Pointer to data buffer
1015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  Size Amount of data to be sent
1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  Timeout Timeout duration
1017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval HAL status
1018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
1019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint3
1020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint16_t *tmp;
1022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t tickstart = 0U;
1023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check that a Tx process is not already ongoing */
1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (huart->gState == HAL_UART_STATE_READY)
1026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if ((pData == NULL) || (Size == 0U))
1028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
1029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       return  HAL_ERROR;
1030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
1031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Process Locked */
1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     __HAL_LOCK(huart);
1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->ErrorCode = HAL_UART_ERROR_NONE;
1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->gState = HAL_UART_STATE_BUSY_TX;
1037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Init tickstart for timeout managment */
1039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     tickstart = HAL_GetTick();
1040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->TxXferSize = Size;
1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->TxXferCount = Size;
1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     while (huart->TxXferCount > 0U)
1044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->TxXferCount--;
1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       if (huart->Init.WordLength == UART_WORDLENGTH_9B)
1047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK)
1049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
1050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           return HAL_TIMEOUT;
1051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
1052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         tmp = (uint16_t *) pData;
1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->Instance->DR = (*tmp & (uint16_t)0x01FF);
1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         if (huart->Init.Parity == UART_PARITY_NONE)
1055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
1056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           pData += 2U;
ARM GAS  /tmp/ccGtkZvD.s 			page 20


1057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
1058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         else
1059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           pData += 1U;
1061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
1062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
1063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       else
1064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
1065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK)
1066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
1067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           return HAL_TIMEOUT;
1068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->Instance->DR = (*pData++ & (uint8_t)0xFF);
1070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
1071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
1072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TC, RESET, tickstart, Timeout) != HAL_OK)
1074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
1075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       return HAL_TIMEOUT;
1076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
1077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* At end of Tx process, restore huart->gState to Ready */
1079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->gState = HAL_UART_STATE_READY;
1080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Process Unlocked */
1082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     __HAL_UNLOCK(huart);
1083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     return HAL_OK;
1085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
1086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   else
1087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
1088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     return HAL_BUSY;
1089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
1090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Receives an amount of data in blocking mode.
1094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
1095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
1096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  pData Pointer to data buffer
1097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  Size Amount of data to be received
1098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  Timeout Timeout duration
1099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval HAL status
1100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
1101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32
1102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint16_t *tmp;
1104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t tickstart = 0U;
1105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check that a Rx process is not already ongoing */
1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (huart->RxState == HAL_UART_STATE_READY)
1108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
1109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if ((pData == NULL) || (Size == 0U))
1110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       return  HAL_ERROR;
1112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
1113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
ARM GAS  /tmp/ccGtkZvD.s 			page 21


1114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Process Locked */
1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     __HAL_LOCK(huart);
1116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->ErrorCode = HAL_UART_ERROR_NONE;
1118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxState = HAL_UART_STATE_BUSY_RX;
1119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Init tickstart for timeout managment */
1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     tickstart = HAL_GetTick();
1122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxXferSize = Size;
1124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxXferCount = Size;
1125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Check the remain data to be received */
1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     while (huart->RxXferCount > 0U)
1128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
1129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->RxXferCount--;
1130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       if (huart->Init.WordLength == UART_WORDLENGTH_9B)
1131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
1132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_RXNE, RESET, tickstart, Timeout) != HAL_OK
1133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
1134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           return HAL_TIMEOUT;
1135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         tmp = (uint16_t *) pData;
1137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         if (huart->Init.Parity == UART_PARITY_NONE)
1138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           *tmp = (uint16_t)(huart->Instance->DR & (uint16_t)0x01FF);
1140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           pData += 2U;
1141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         else
1143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           *tmp = (uint16_t)(huart->Instance->DR & (uint16_t)0x00FF);
1145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           pData += 1U;
1146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
1147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
1149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       else
1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
1151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_RXNE, RESET, tickstart, Timeout) != HAL_OK
1152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           return HAL_TIMEOUT;
1154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         if (huart->Init.Parity == UART_PARITY_NONE)
1156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           *pData++ = (uint8_t)(huart->Instance->DR & (uint8_t)0x00FF);
1158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         else
1160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           *pData++ = (uint8_t)(huart->Instance->DR & (uint8_t)0x007F);
1162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
1163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
1165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
1166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* At end of Rx process, restore huart->RxState to Ready */
1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxState = HAL_UART_STATE_READY;
1169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Process Unlocked */
ARM GAS  /tmp/ccGtkZvD.s 			page 22


1171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     __HAL_UNLOCK(huart);
1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     return HAL_OK;
1174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
1175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   else
1176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
1177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     return HAL_BUSY;
1178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
1179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Sends an amount of data in non blocking mode.
1183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
1184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  pData Pointer to data buffer
1186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  Size Amount of data to be sent
1187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval HAL status
1188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
1189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
1190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check that a Tx process is not already ongoing */
1192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (huart->gState == HAL_UART_STATE_READY)
1193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
1194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if ((pData == NULL) || (Size == 0U))
1195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
1196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       return HAL_ERROR;
1197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
1198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Process Locked */
1200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     __HAL_LOCK(huart);
1201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->pTxBuffPtr = pData;
1203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->TxXferSize = Size;
1204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->TxXferCount = Size;
1205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->ErrorCode = HAL_UART_ERROR_NONE;
1207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->gState = HAL_UART_STATE_BUSY_TX;
1208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Process Unlocked */
1210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     __HAL_UNLOCK(huart);
1211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Enable the UART Transmit data register empty Interrupt */
1213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     __HAL_UART_ENABLE_IT(huart, UART_IT_TXE);
1214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     return HAL_OK;
1216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
1217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   else
1218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
1219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     return HAL_BUSY;
1220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
1221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Receives an amount of data in non blocking mode.
1225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
1226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
1227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  pData Pointer to data buffer
ARM GAS  /tmp/ccGtkZvD.s 			page 23


1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  Size Amount of data to be received
1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval HAL status
1230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
1231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check that a Rx process is not already ongoing */
1234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (huart->RxState == HAL_UART_STATE_READY)
1235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if ((pData == NULL) || (Size == 0U))
1237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
1238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       return HAL_ERROR;
1239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
1240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Process Locked */
1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     __HAL_LOCK(huart);
1243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->pRxBuffPtr = pData;
1245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxXferSize = Size;
1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxXferCount = Size;
1247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->ErrorCode = HAL_UART_ERROR_NONE;
1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxState = HAL_UART_STATE_BUSY_RX;
1250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Process Unlocked */
1252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     __HAL_UNLOCK(huart);
1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Enable the UART Parity Error Interrupt */
1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     __HAL_UART_ENABLE_IT(huart, UART_IT_PE);
1256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */
1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     __HAL_UART_ENABLE_IT(huart, UART_IT_ERR);
1259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Enable the UART Data Register not empty Interrupt */
1261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     __HAL_UART_ENABLE_IT(huart, UART_IT_RXNE);
1262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     return HAL_OK;
1264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
1265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   else
1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
1267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     return HAL_BUSY;
1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
1269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Sends an amount of data in non blocking mode.
1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
1274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
1275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  pData Pointer to data buffer
1276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  Size Amount of data to be sent
1277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval HAL status
1278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t *tmp;
1282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check that a Tx process is not already ongoing */
1284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (huart->gState == HAL_UART_STATE_READY)
ARM GAS  /tmp/ccGtkZvD.s 			page 24


1285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if ((pData == NULL) || (Size == 0U))
1287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
1288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       return HAL_ERROR;
1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
1290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Process Locked */
1292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     __HAL_LOCK(huart);
1293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->pTxBuffPtr = pData;
1295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->TxXferSize = Size;
1296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->TxXferCount = Size;
1297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->ErrorCode = HAL_UART_ERROR_NONE;
1299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->gState = HAL_UART_STATE_BUSY_TX;
1300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Set the UART DMA transfer complete callback */
1302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->hdmatx->XferCpltCallback = UART_DMATransmitCplt;
1303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Set the UART DMA Half transfer complete callback */
1305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->hdmatx->XferHalfCpltCallback = UART_DMATxHalfCplt;
1306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Set the DMA error callback */
1308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->hdmatx->XferErrorCallback = UART_DMAError;
1309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Set the DMA abort callback */
1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->hdmatx->XferAbortCallback = NULL;
1312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Enable the UART transmit DMA stream */
1314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     tmp = (uint32_t *)&pData;
1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     HAL_DMA_Start_IT(huart->hdmatx, *(uint32_t *)tmp, (uint32_t)&huart->Instance->DR, Size);
1316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Clear the TC flag in the SR register by writing 0 to it */
1318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     __HAL_UART_CLEAR_FLAG(huart, UART_FLAG_TC);
1319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Process Unlocked */
1321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     __HAL_UNLOCK(huart);
1322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Enable the DMA transfer for transmit request by setting the DMAT bit
1324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****        in the UART CR3 register */
1325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     SET_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     return HAL_OK;
1328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
1329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   else
1330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
1331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     return HAL_BUSY;
1332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
1333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Receives an amount of data in non blocking mode.
1337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
1338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
1339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  pData Pointer to data buffer
1340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  Size Amount of data to be received
1341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @note   When the UART parity is enabled (PCE = 1) the received data contains the parity bit.
ARM GAS  /tmp/ccGtkZvD.s 			page 25


1342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval HAL status
1343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
1344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
1345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t *tmp;
1347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check that a Rx process is not already ongoing */
1349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (huart->RxState == HAL_UART_STATE_READY)
1350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
1351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if ((pData == NULL) || (Size == 0U))
1352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
1353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       return HAL_ERROR;
1354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
1355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Process Locked */
1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     __HAL_LOCK(huart);
1358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->pRxBuffPtr = pData;
1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxXferSize = Size;
1361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->ErrorCode = HAL_UART_ERROR_NONE;
1363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxState = HAL_UART_STATE_BUSY_RX;
1364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Set the UART DMA transfer complete callback */
1366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->hdmarx->XferCpltCallback = UART_DMAReceiveCplt;
1367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Set the UART DMA Half transfer complete callback */
1369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->hdmarx->XferHalfCpltCallback = UART_DMARxHalfCplt;
1370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Set the DMA error callback */
1372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->hdmarx->XferErrorCallback = UART_DMAError;
1373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Set the DMA abort callback */
1375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->hdmarx->XferAbortCallback = NULL;
1376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Enable the DMA stream */
1378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     tmp = (uint32_t *)&pData;
1379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     HAL_DMA_Start_IT(huart->hdmarx, (uint32_t)&huart->Instance->DR, *(uint32_t *)tmp, Size);
1380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Clear the Overrun flag just before enabling the DMA Rx request: can be mandatory for the sec
1382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     __HAL_UART_CLEAR_OREFLAG(huart);
1383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Process Unlocked */
1385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     __HAL_UNLOCK(huart);
1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Enable the UART Parity Error Interrupt */
1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     SET_BIT(huart->Instance->CR1, USART_CR1_PEIE);
1389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */
1391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
1392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Enable the DMA transfer for the receiver request by setting the DMAR bit
1394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     in the UART CR3 register */
1395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     SET_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     return HAL_OK;
1398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
ARM GAS  /tmp/ccGtkZvD.s 			page 26


1399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   else
1400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
1401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     return HAL_BUSY;
1402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
1403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief Pauses the DMA Transfer.
1407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
1408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
1409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval HAL status
1410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
1411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAPause(UART_HandleTypeDef *huart)
1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t dmarequest = 0x00U;
1414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Process Locked */
1416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   __HAL_LOCK(huart);
1417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT);
1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
1420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
1421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Disable the UART DMA Tx request */
1422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
1424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR);
1426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
1427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
1428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
1429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
1430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Disable the UART DMA Rx request */
1433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
1435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Process Unlocked */
1437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   __HAL_UNLOCK(huart);
1438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   return HAL_OK;
1440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief Resumes the DMA Transfer.
1444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
1445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
1446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval HAL status
1447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
1448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAResume(UART_HandleTypeDef *huart)
1449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Process Locked */
1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   __HAL_LOCK(huart);
1452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (huart->gState == HAL_UART_STATE_BUSY_TX)
1454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
1455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Enable the UART DMA Tx request */
ARM GAS  /tmp/ccGtkZvD.s 			page 27


1456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     SET_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
1458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (huart->RxState == HAL_UART_STATE_BUSY_RX)
1460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
1461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Clear the Overrun flag before resuming the Rx transfer*/
1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     __HAL_UART_CLEAR_OREFLAG(huart);
1463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Reenable PE and ERR (Frame error, noise error, overrun error) interrupts */
1465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     SET_BIT(huart->Instance->CR1, USART_CR1_PEIE);
1466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
1467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Enable the UART DMA Rx request */
1469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     SET_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
1471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Process Unlocked */
1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   __HAL_UNLOCK(huart);
1474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   return HAL_OK;
1476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief Stops the DMA Transfer.
1480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
1481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
1482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval HAL status
1483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAStop(UART_HandleTypeDef *huart)
1485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t dmarequest = 0x00U;
1487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* The Lock is not implemented on this API to allow the user application
1488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      to call the HAL UART API under callbacks HAL_UART_TxCpltCallback() / HAL_UART_RxCpltCallback()
1489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      when calling HAL_DMA_Abort() API the DMA TX/RX Transfer complete interrupt is generated
1490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      and the correspond call back is executed HAL_UART_TxCpltCallback() / HAL_UART_RxCpltCallback()
1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      */
1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Stop UART DMA Tx request if ongoing */
1494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT);
1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
1496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
1497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Abort the UART DMA Tx stream */
1500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if (huart->hdmatx != NULL)
1501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
1502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       HAL_DMA_Abort(huart->hdmatx);
1503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
1504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     UART_EndTxTransfer(huart);
1505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
1506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Stop UART DMA Rx request if ongoing */
1508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR);
1509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
1510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
1511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
ARM GAS  /tmp/ccGtkZvD.s 			page 28


1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Abort the UART DMA Rx stream */
1514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if (huart->hdmarx != NULL)
1515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       HAL_DMA_Abort(huart->hdmarx);
1517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
1518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     UART_EndRxTransfer(huart);
1519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
1520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   return HAL_OK;
1522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Abort ongoing transfers (blocking mode).
1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart UART handle.
1527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @note   This procedure could be used for aborting any ongoing transfer started in Interrupt or 
1528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *         This procedure performs following operations :
1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           - Disable UART Interrupts (Tx and Rx)
1530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           - Disable the DMA transfer in the peripheral register (if enabled)
1531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
1532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           - Set handle State to READY
1533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @note   This procedure is executed in blocking mode : when exiting function, Abort is considere
1534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval HAL status
1535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort(UART_HandleTypeDef *huart)
1537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
1539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USART_CR1_
1540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable the UART DMA Tx request if enabled */
1543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
1545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Abort the UART DMA Tx stream: use blocking DMA Abort API (no callback) */
1548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if (huart->hdmatx != NULL)
1549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
1550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       /* Set the UART DMA Abort callback to Null.
1551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****          No call back execution at end of DMA abort procedure */
1552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->hdmatx->XferAbortCallback = NULL;
1553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK)
1555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
1556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT)
1557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
1558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           /* Set error code to DMA */
1559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           huart->ErrorCode = HAL_UART_ERROR_DMA;
1560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           return HAL_TIMEOUT;
1562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
1563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
1564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
1565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
1566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable the UART DMA Rx request if enabled */
1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
1569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
ARM GAS  /tmp/ccGtkZvD.s 			page 29


1570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Abort the UART DMA Rx stream: use blocking DMA Abort API (no callback) */
1573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if (huart->hdmarx != NULL)
1574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
1575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       /* Set the UART DMA Abort callback to Null.
1576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****          No call back execution at end of DMA abort procedure */
1577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->hdmarx->XferAbortCallback = NULL;
1578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK)
1580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
1581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT)
1582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
1583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           /* Set error code to DMA */
1584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           huart->ErrorCode = HAL_UART_ERROR_DMA;
1585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           return HAL_TIMEOUT;
1587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
1588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
1589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
1590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
1591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Reset Tx and Rx transfer counters */
1593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->TxXferCount = 0x00U;
1594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxXferCount = 0x00U;
1595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Reset ErrorCode */
1597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->ErrorCode = HAL_UART_ERROR_NONE;
1598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Restore huart->RxState and huart->gState to Ready */
1600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
1601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
1602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   return HAL_OK;
1604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Abort ongoing Transmit transfer (blocking mode).
1608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart UART handle.
1609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @note   This procedure could be used for aborting any ongoing Tx transfer started in Interrupt 
1610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *         This procedure performs following operations :
1611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           - Disable UART Interrupts (Tx)
1612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           - Disable the DMA transfer in the peripheral register (if enabled)
1613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
1614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           - Set handle State to READY
1615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @note   This procedure is executed in blocking mode : when exiting function, Abort is considere
1616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval HAL status
1617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit(UART_HandleTypeDef *huart)
1619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable TXEIE and TCIE interrupts */
1621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
1622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable the UART DMA Tx request if enabled */
1624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
1626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
ARM GAS  /tmp/ccGtkZvD.s 			page 30


1627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Abort the UART DMA Tx stream : use blocking DMA Abort API (no callback) */
1629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if (huart->hdmatx != NULL)
1630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
1631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       /* Set the UART DMA Abort callback to Null.
1632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****          No call back execution at end of DMA abort procedure */
1633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->hdmatx->XferAbortCallback = NULL;
1634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK)
1636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
1637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT)
1638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
1639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           /* Set error code to DMA */
1640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           huart->ErrorCode = HAL_UART_ERROR_DMA;
1641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           return HAL_TIMEOUT;
1643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
1644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
1645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
1646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
1647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Reset Tx transfer counter */
1649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->TxXferCount = 0x00U;
1650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Restore huart->gState to Ready */
1652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
1653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   return HAL_OK;
1655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Abort ongoing Receive transfer (blocking mode).
1659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart UART handle.
1660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @note   This procedure could be used for aborting any ongoing Rx transfer started in Interrupt 
1661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *         This procedure performs following operations :
1662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           - Disable UART Interrupts (Rx)
1663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           - Disable the DMA transfer in the peripheral register (if enabled)
1664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
1665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           - Set handle State to READY
1666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @note   This procedure is executed in blocking mode : when exiting function, Abort is considere
1667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval HAL status
1668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive(UART_HandleTypeDef *huart)
1670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
1672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
1673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable the UART DMA Rx request if enabled */
1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
1677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
1678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Abort the UART DMA Rx stream : use blocking DMA Abort API (no callback) */
1681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if (huart->hdmarx != NULL)
1682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
1683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       /* Set the UART DMA Abort callback to Null.
ARM GAS  /tmp/ccGtkZvD.s 			page 31


1684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****          No call back execution at end of DMA abort procedure */
1685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->hdmarx->XferAbortCallback = NULL;
1686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK)
1688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
1689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT)
1690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
1691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           /* Set error code to DMA */
1692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           huart->ErrorCode = HAL_UART_ERROR_DMA;
1693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           return HAL_TIMEOUT;
1695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
1696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
1697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
1698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
1699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Reset Rx transfer counter */
1701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxXferCount = 0x00U;
1702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Restore huart->RxState to Ready */
1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
1705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   return HAL_OK;
1707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Abort ongoing transfers (Interrupt mode).
1711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart UART handle.
1712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @note   This procedure could be used for aborting any ongoing transfer started in Interrupt or 
1713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *         This procedure performs following operations :
1714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           - Disable UART Interrupts (Tx and Rx)
1715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           - Disable the DMA transfer in the peripheral register (if enabled)
1716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
1717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           - Set handle State to READY
1718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           - At abort completion, call user abort complete callback
1719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @note   This procedure is executed in Interrupt mode, meaning that abort procedure could be
1720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *         considered as completed only when user abort complete callback is executed (not when ex
1721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval HAL status
1722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort_IT(UART_HandleTypeDef *huart)
1724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t AbortCplt = 0x01U;
1726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
1728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USART_CR1_
1729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* If DMA Tx and/or DMA Rx Handles are associated to UART Handle, DMA Abort complete callbacks sh
1732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      before any call to DMA Abort functions */
1733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* DMA Tx Handle is valid */
1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (huart->hdmatx != NULL)
1735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
1736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Set DMA Abort Complete callback if UART DMA Tx request if enabled.
1737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****        Otherwise, set it to NULL */
1738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
1740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->hdmatx->XferAbortCallback = UART_DMATxAbortCallback;
ARM GAS  /tmp/ccGtkZvD.s 			page 32


1741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
1742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     else
1743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
1744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->hdmatx->XferAbortCallback = NULL;
1745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
1746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
1747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* DMA Rx Handle is valid */
1748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (huart->hdmarx != NULL)
1749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
1750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Set DMA Abort Complete callback if UART DMA Rx request if enabled.
1751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****        Otherwise, set it to NULL */
1752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
1753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
1754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->hdmarx->XferAbortCallback = UART_DMARxAbortCallback;
1755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
1756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     else
1757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
1758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->hdmarx->XferAbortCallback = NULL;
1759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
1760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
1761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable the UART DMA Tx request if enabled */
1763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
1765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Disable DMA Tx at UART level */
1766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Abort the UART DMA Tx stream : use non blocking DMA Abort API (callback) */
1769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if (huart->hdmatx != NULL)
1770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
1771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       /* UART Tx DMA Abort callback has already been initialised :
1772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****          will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
1773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       /* Abort DMA TX */
1775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK)
1776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
1777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->hdmatx->XferAbortCallback = NULL;
1778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
1779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       else
1780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
1781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         AbortCplt = 0x00U;
1782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
1783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
1784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
1785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable the UART DMA Rx request if enabled */
1787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
1788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
1789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Abort the UART DMA Rx stream : use non blocking DMA Abort API (callback) */
1792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if (huart->hdmarx != NULL)
1793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
1794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       /* UART Rx DMA Abort callback has already been initialised :
1795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****          will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
1796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       /* Abort DMA RX */
ARM GAS  /tmp/ccGtkZvD.s 			page 33


1798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
1799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
1800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->hdmarx->XferAbortCallback = NULL;
1801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         AbortCplt = 0x01U;
1802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
1803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       else
1804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
1805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         AbortCplt = 0x00U;
1806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
1807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
1808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
1809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* if no DMA abort complete callback execution is required => call user Abort Complete callback *
1811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (AbortCplt == 0x01U)
1812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
1813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Reset Tx and Rx transfer counters */
1814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->TxXferCount = 0x00U;
1815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxXferCount = 0x00U;
1816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Reset ErrorCode */
1818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->ErrorCode = HAL_UART_ERROR_NONE;
1819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Restore huart->gState and huart->RxState to Ready */
1821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->gState  = HAL_UART_STATE_READY;
1822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxState = HAL_UART_STATE_READY;
1823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* As no DMA to be aborted, call directly user Abort complete callback */
1825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
1826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Call registered Abort complete callback */
1827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->AbortCpltCallback(huart);
1828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
1829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Call legacy weak Abort complete callback */
1830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     HAL_UART_AbortCpltCallback(huart);
1831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
1832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
1833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   return HAL_OK;
1835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Abort ongoing Transmit transfer (Interrupt mode).
1839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart UART handle.
1840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @note   This procedure could be used for aborting any ongoing Tx transfer started in Interrupt 
1841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *         This procedure performs following operations :
1842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           - Disable UART Interrupts (Tx)
1843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           - Disable the DMA transfer in the peripheral register (if enabled)
1844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
1845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           - Set handle State to READY
1846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           - At abort completion, call user abort complete callback
1847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @note   This procedure is executed in Interrupt mode, meaning that abort procedure could be
1848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *         considered as completed only when user abort complete callback is executed (not when ex
1849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval HAL status
1850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit_IT(UART_HandleTypeDef *huart)
1852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable TXEIE and TCIE interrupts */
1854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
ARM GAS  /tmp/ccGtkZvD.s 			page 34


1855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable the UART DMA Tx request if enabled */
1857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
1859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Abort the UART DMA Tx stream : use blocking DMA Abort API (no callback) */
1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if (huart->hdmatx != NULL)
1863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
1864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       /* Set the UART DMA Abort callback :
1865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****          will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
1866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->hdmatx->XferAbortCallback = UART_DMATxOnlyAbortCallback;
1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       /* Abort DMA TX */
1869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK)
1870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
1871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         /* Call Directly huart->hdmatx->XferAbortCallback function in case of error */
1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->hdmatx->XferAbortCallback(huart->hdmatx);
1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
1874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
1875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     else
1876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
1877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       /* Reset Tx transfer counter */
1878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->TxXferCount = 0x00U;
1879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       /* Restore huart->gState to Ready */
1881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->gState = HAL_UART_STATE_READY;
1882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       /* As no DMA to be aborted, call directly user Abort complete callback */
1884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
1885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       /* Call registered Abort Transmit Complete Callback */
1886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->AbortTransmitCpltCallback(huart);
1887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
1888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       /* Call legacy weak Abort Transmit Complete Callback */
1889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       HAL_UART_AbortTransmitCpltCallback(huart);
1890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
1891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
1892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
1893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   else
1894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
1895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Reset Tx transfer counter */
1896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->TxXferCount = 0x00U;
1897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Restore huart->gState to Ready */
1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->gState = HAL_UART_STATE_READY;
1900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* As no DMA to be aborted, call directly user Abort complete callback */
1902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
1903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Call registered Abort Transmit Complete Callback */
1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->AbortTransmitCpltCallback(huart);
1905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
1906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Call legacy weak Abort Transmit Complete Callback */
1907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     HAL_UART_AbortTransmitCpltCallback(huart);
1908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
1909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
1910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   return HAL_OK;
ARM GAS  /tmp/ccGtkZvD.s 			page 35


1912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Abort ongoing Receive transfer (Interrupt mode).
1916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart UART handle.
1917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @note   This procedure could be used for aborting any ongoing Rx transfer started in Interrupt 
1918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *         This procedure performs following operations :
1919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           - Disable UART Interrupts (Rx)
1920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           - Disable the DMA transfer in the peripheral register (if enabled)
1921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
1922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           - Set handle State to READY
1923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *           - At abort completion, call user abort complete callback
1924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @note   This procedure is executed in Interrupt mode, meaning that abort procedure could be
1925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *         considered as completed only when user abort complete callback is executed (not when ex
1926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval HAL status
1927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive_IT(UART_HandleTypeDef *huart)
1929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
1931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
1932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable the UART DMA Rx request if enabled */
1935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
1936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
1937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Abort the UART DMA Rx stream : use blocking DMA Abort API (no callback) */
1940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if (huart->hdmarx != NULL)
1941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
1942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       /* Set the UART DMA Abort callback :
1943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****          will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
1944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->hdmarx->XferAbortCallback = UART_DMARxOnlyAbortCallback;
1945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       /* Abort DMA RX */
1947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
1948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
1949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */
1950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->hdmarx->XferAbortCallback(huart->hdmarx);
1951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
1952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
1953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     else
1954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
1955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       /* Reset Rx transfer counter */
1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->RxXferCount = 0x00U;
1957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       /* Restore huart->RxState to Ready */
1959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->RxState = HAL_UART_STATE_READY;
1960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       /* As no DMA to be aborted, call directly user Abort complete callback */
1962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
1963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       /* Call registered Abort Receive Complete Callback */
1964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->AbortReceiveCpltCallback(huart);
1965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
1966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       /* Call legacy weak Abort Receive Complete Callback */
1967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       HAL_UART_AbortReceiveCpltCallback(huart);
1968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
ARM GAS  /tmp/ccGtkZvD.s 			page 36


1969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
1970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
1971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   else
1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
1973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Reset Rx transfer counter */
1974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxXferCount = 0x00U;
1975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Restore huart->RxState to Ready */
1977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxState = HAL_UART_STATE_READY;
1978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* As no DMA to be aborted, call directly user Abort complete callback */
1980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
1981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Call registered Abort Receive Complete Callback */
1982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->AbortReceiveCpltCallback(huart);
1983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
1984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Call legacy weak Abort Receive Complete Callback */
1985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     HAL_UART_AbortReceiveCpltCallback(huart);
1986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
1987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
1988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   return HAL_OK;
1990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
1992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  This function handles UART interrupt request.
1994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
1995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
1996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval None
1997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
1998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** void HAL_UART_IRQHandler(UART_HandleTypeDef *huart)
1999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t isrflags   = READ_REG(huart->Instance->SR);
2001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t cr1its     = READ_REG(huart->Instance->CR1);
2002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t cr3its     = READ_REG(huart->Instance->CR3);
2003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t errorflags = 0x00U;
2004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t dmarequest = 0x00U;
2005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* If no error occurs */
2007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   errorflags = (isrflags & (uint32_t)(USART_SR_PE | USART_SR_FE | USART_SR_ORE | USART_SR_NE));
2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (errorflags == RESET)
2009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
2010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* UART in mode Receiver -------------------------------------------------*/
2011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if (((isrflags & USART_SR_RXNE) != RESET) && ((cr1its & USART_CR1_RXNEIE) != RESET))
2012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       UART_Receive_IT(huart);
2014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       return;
2015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
2016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
2017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* If some errors occur */
2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if ((errorflags != RESET) && (((cr3its & USART_CR3_EIE) != RESET) || ((cr1its & (USART_CR1_RXNEIE
2020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
2021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* UART parity error interrupt occurred ----------------------------------*/
2022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if (((isrflags & USART_SR_PE) != RESET) && ((cr1its & USART_CR1_PEIE) != RESET))
2023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
2024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->ErrorCode |= HAL_UART_ERROR_PE;
2025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
ARM GAS  /tmp/ccGtkZvD.s 			page 37


2026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* UART noise error interrupt occurred -----------------------------------*/
2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if (((isrflags & USART_SR_NE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET))
2029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
2030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->ErrorCode |= HAL_UART_ERROR_NE;
2031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
2032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* UART frame error interrupt occurred -----------------------------------*/
2034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if (((isrflags & USART_SR_FE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET))
2035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
2036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->ErrorCode |= HAL_UART_ERROR_FE;
2037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
2038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* UART Over-Run interrupt occurred --------------------------------------*/
2040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if (((isrflags & USART_SR_ORE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET))
2041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
2042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->ErrorCode |= HAL_UART_ERROR_ORE;
2043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
2044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Call UART Error Call back function if need be --------------------------*/
2046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if (huart->ErrorCode != HAL_UART_ERROR_NONE)
2047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
2048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       /* UART in mode Receiver -----------------------------------------------*/
2049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       if (((isrflags & USART_SR_RXNE) != RESET) && ((cr1its & USART_CR1_RXNEIE) != RESET))
2050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
2051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         UART_Receive_IT(huart);
2052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
2053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       /* If Overrun error occurs, or if any error occurs in DMA mode reception,
2055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****          consider error as blocking */
2056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR);
2057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       if (((huart->ErrorCode & HAL_UART_ERROR_ORE) != RESET) || dmarequest)
2058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
2059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         /* Blocking error : transfer is aborted
2060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****            Set the UART state ready to be able to start again the process,
2061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****            Disable Rx Interrupts, and disable Rx DMA request, if ongoing */
2062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         UART_EndRxTransfer(huart);
2063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         /* Disable the UART DMA Rx request if enabled */
2065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
2066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
2067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
2068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           /* Abort the UART DMA Rx stream */
2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           if (huart->hdmarx != NULL)
2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           {
2072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             /* Set the UART DMA Abort callback :
2073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****                will lead to call HAL_UART_ErrorCallback() at end of DMA abort procedure */
2074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             huart->hdmarx->XferAbortCallback = UART_DMAAbortOnError;
2075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             {
2077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****               /* Call Directly XferAbortCallback function in case of error */
2078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****               huart->hdmarx->XferAbortCallback(huart->hdmarx);
2079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             }
2080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           }
2081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           else
2082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           {
ARM GAS  /tmp/ccGtkZvD.s 			page 38


2083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             /* Call user error callback */
2084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             /*Call registered error callback*/
2086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             huart->ErrorCallback(huart);
2087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             /*Call legacy weak error callback*/
2089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             HAL_UART_ErrorCallback(huart);
2090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           }
2092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
2093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         else
2094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
2095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           /* Call user error callback */
2096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           /*Call registered error callback*/
2098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           huart->ErrorCallback(huart);
2099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           /*Call legacy weak error callback*/
2101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           HAL_UART_ErrorCallback(huart);
2102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
2104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
2105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       else
2106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
2107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         /* Non Blocking error : transfer could go on.
2108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****            Error is notified to user through user error callback */
2109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         /*Call registered error callback*/
2111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->ErrorCallback(huart);
2112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         /*Call legacy weak error callback*/
2114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         HAL_UART_ErrorCallback(huart);
2115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->ErrorCode = HAL_UART_ERROR_NONE;
2118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
2119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
2120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     return;
2121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   } /* End if some error occurs */
2122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* UART in mode Transmitter ------------------------------------------------*/
2124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (((isrflags & USART_SR_TXE) != RESET) && ((cr1its & USART_CR1_TXEIE) != RESET))
2125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
2126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     UART_Transmit_IT(huart);
2127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     return;
2128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
2129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* UART in mode Transmitter end --------------------------------------------*/
2131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (((isrflags & USART_SR_TC) != RESET) && ((cr1its & USART_CR1_TCIE) != RESET))
2132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
2133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     UART_EndTransmit_IT(huart);
2134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     return;
2135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
2136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Tx Transfer completed callbacks.
ARM GAS  /tmp/ccGtkZvD.s 			page 39


2140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
2141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
2142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval None
2143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
2145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
2147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UNUSED(huart);
2148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* NOTE: This function should not be modified, when the callback is needed,
2149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****            the HAL_UART_TxCpltCallback could be implemented in the user file
2150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****    */
2151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Tx Half Transfer completed callbacks.
2155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
2156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
2157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval None
2158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart)
2160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
2162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UNUSED(huart);
2163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* NOTE: This function should not be modified, when the callback is needed,
2164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****            the HAL_UART_TxHalfCpltCallback could be implemented in the user file
2165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****    */
2166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Rx Transfer completed callbacks.
2170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
2171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
2172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval None
2173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
2175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
2177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UNUSED(huart);
2178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* NOTE: This function should not be modified, when the callback is needed,
2179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****            the HAL_UART_RxCpltCallback could be implemented in the user file
2180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****    */
2181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Rx Half Transfer completed callbacks.
2185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
2186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
2187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval None
2188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart)
2190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
2192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UNUSED(huart);
2193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* NOTE: This function should not be modified, when the callback is needed,
2194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****            the HAL_UART_RxHalfCpltCallback could be implemented in the user file
2195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****    */
2196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS  /tmp/ccGtkZvD.s 			page 40


2197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  UART error callbacks.
2200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
2201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
2202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval None
2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
2205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
2207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UNUSED(huart);
2208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* NOTE: This function should not be modified, when the callback is needed,
2209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****            the HAL_UART_ErrorCallback could be implemented in the user file
2210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****    */
2211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  UART Abort Complete callback.
2215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart UART handle.
2216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval None
2217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_AbortCpltCallback(UART_HandleTypeDef *huart)
2219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
2221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UNUSED(huart);
2222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* NOTE : This function should not be modified, when the callback is needed,
2224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             the HAL_UART_AbortCpltCallback can be implemented in the user file.
2225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****    */
2226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  UART Abort Complete callback.
2230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart UART handle.
2231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval None
2232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_AbortTransmitCpltCallback(UART_HandleTypeDef *huart)
2234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
2236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UNUSED(huart);
2237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* NOTE : This function should not be modified, when the callback is needed,
2239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             the HAL_UART_AbortTransmitCpltCallback can be implemented in the user file.
2240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****    */
2241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  UART Abort Receive Complete callback.
2245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart UART handle.
2246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval None
2247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_AbortReceiveCpltCallback(UART_HandleTypeDef *huart)
2249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
2251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UNUSED(huart);
2252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* NOTE : This function should not be modified, when the callback is needed,
ARM GAS  /tmp/ccGtkZvD.s 			page 41


2254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             the HAL_UART_AbortReceiveCpltCallback can be implemented in the user file.
2255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****    */
2256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @}
2260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group3 Peripheral Control functions
2263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *  @brief   UART control functions
2264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *
2265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @verbatim
2266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   ==============================================================================
2267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****                       ##### Peripheral Control functions #####
2268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   ==============================================================================
2269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   [..]
2270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     This subsection provides a set of functions allowing to control the UART:
2271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (+) HAL_LIN_SendBreak() API can be helpful to transmit the break character.
2272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (+) HAL_MultiProcessor_EnterMuteMode() API can be helpful to enter the UART in mute mode.
2273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (+) HAL_MultiProcessor_ExitMuteMode() API can be helpful to exit the UART mute mode by software
2274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (+) HAL_HalfDuplex_EnableTransmitter() API to enable the UART transmitter and disables the UART
2275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     (+) HAL_HalfDuplex_EnableReceiver() API to enable the UART receiver and disables the UART trans
2276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @endverbatim
2278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @{
2279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Transmits break characters.
2283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
2284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
2285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval HAL status
2286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_SendBreak(UART_HandleTypeDef *huart)
2288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check the parameters */
2290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   assert_param(IS_UART_INSTANCE(huart->Instance));
2291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Process Locked */
2293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   __HAL_LOCK(huart);
2294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_BUSY;
2296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Send break characters */
2298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   SET_BIT(huart->Instance->CR1, USART_CR1_SBK);
2299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
2301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Process Unlocked */
2303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   __HAL_UNLOCK(huart);
2304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   return HAL_OK;
2306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Enters the UART in mute mode.
2310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
ARM GAS  /tmp/ccGtkZvD.s 			page 42


2311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
2312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval HAL status
2313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_EnterMuteMode(UART_HandleTypeDef *huart)
2315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check the parameters */
2317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   assert_param(IS_UART_INSTANCE(huart->Instance));
2318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Process Locked */
2320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   __HAL_LOCK(huart);
2321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_BUSY;
2323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Enable the USART mute mode  by setting the RWU bit in the CR1 register */
2325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   SET_BIT(huart->Instance->CR1, USART_CR1_RWU);
2326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
2328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Process Unlocked */
2330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   __HAL_UNLOCK(huart);
2331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   return HAL_OK;
2333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Exits the UART mute mode: wake up software.
2337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
2338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
2339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval HAL status
2340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_ExitMuteMode(UART_HandleTypeDef *huart)
2342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check the parameters */
2344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   assert_param(IS_UART_INSTANCE(huart->Instance));
2345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Process Locked */
2347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   __HAL_LOCK(huart);
2348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_BUSY;
2350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable the USART mute mode by clearing the RWU bit in the CR1 register */
2352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR1, USART_CR1_RWU);
2353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
2355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Process Unlocked */
2357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   __HAL_UNLOCK(huart);
2358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   return HAL_OK;
2360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Enables the UART transmitter and disables the UART receiver.
2364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
2365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
2366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval HAL status
2367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
ARM GAS  /tmp/ccGtkZvD.s 			page 43


2368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableTransmitter(UART_HandleTypeDef *huart)
2369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t tmpreg = 0x00U;
2371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Process Locked */
2373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   __HAL_LOCK(huart);
2374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_BUSY;
2376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /*-------------------------- USART CR1 Configuration -----------------------*/
2378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   tmpreg = huart->Instance->CR1;
2379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Clear TE and RE bits */
2381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   tmpreg &= (uint32_t)~((uint32_t)(USART_CR1_TE | USART_CR1_RE));
2382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Enable the USART's transmit interface by setting the TE bit in the USART CR1 register */
2384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   tmpreg |= (uint32_t)USART_CR1_TE;
2385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Write to USART CR1 */
2387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   WRITE_REG(huart->Instance->CR1, (uint32_t)tmpreg);
2388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
2390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Process Unlocked */
2392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   __HAL_UNLOCK(huart);
2393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   return HAL_OK;
2395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Enables the UART receiver and disables the UART transmitter.
2399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
2400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
2401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval HAL status
2402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableReceiver(UART_HandleTypeDef *huart)
2404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t tmpreg = 0x00U;
2406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Process Locked */
2408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   __HAL_LOCK(huart);
2409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_BUSY;
2411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /*-------------------------- USART CR1 Configuration -----------------------*/
2413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   tmpreg = huart->Instance->CR1;
2414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Clear TE and RE bits */
2416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   tmpreg &= (uint32_t)~((uint32_t)(USART_CR1_TE | USART_CR1_RE));
2417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Enable the USART's receive interface by setting the RE bit in the USART CR1 register */
2419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   tmpreg |= (uint32_t)USART_CR1_RE;
2420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Write to USART CR1 */
2422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   WRITE_REG(huart->Instance->CR1, (uint32_t)tmpreg);
2423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
ARM GAS  /tmp/ccGtkZvD.s 			page 44


2425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Process Unlocked */
2427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   __HAL_UNLOCK(huart);
2428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   return HAL_OK;
2430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @}
2434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group4 Peripheral State and Errors functions
2437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *  @brief   UART State and Errors functions
2438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *
2439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @verbatim
2440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   ==============================================================================
2441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****                  ##### Peripheral State and Errors functions #####
2442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   ==============================================================================
2443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****  [..]
2444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****    This subsection provides a set of functions allowing to return the State of
2445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****    UART communication process, return Peripheral Errors occurred during communication
2446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****    process
2447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****    (+) HAL_UART_GetState() API can be helpful to check in run-time the state of the UART peripheral
2448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****    (+) HAL_UART_GetError() check in run-time errors that could be occurred during communication.
2449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @endverbatim
2451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @{
2452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Returns the UART state.
2456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
2457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
2458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval HAL state
2459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_StateTypeDef HAL_UART_GetState(UART_HandleTypeDef *huart)
2461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t temp1 = 0x00U, temp2 = 0x00U;
2463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   temp1 = huart->gState;
2464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   temp2 = huart->RxState;
2465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   return (HAL_UART_StateTypeDef)(temp1 | temp2);
2467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Return the UART error code
2471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart Pointer to a UART_HandleTypeDef structure that contains
2472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *               the configuration information for the specified UART.
2473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval UART Error Code
2474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t HAL_UART_GetError(UART_HandleTypeDef *huart)
2476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   return huart->ErrorCode;
2478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @}
ARM GAS  /tmp/ccGtkZvD.s 			page 45


2482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @}
2486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Private_Functions UART Private Functions
2489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @{
2490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Initialize the callbacks to their default values.
2494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart UART handle.
2495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval none
2496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** void UART_InitCallbacksToDefault(UART_HandleTypeDef *huart)
2499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Init the UART Callback settings */
2501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->TxHalfCpltCallback        = HAL_UART_TxHalfCpltCallback;        /* Legacy weak TxHalfCpltC
2502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->TxCpltCallback            = HAL_UART_TxCpltCallback;            /* Legacy weak TxCpltCallb
2503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxHalfCpltCallback        = HAL_UART_RxHalfCpltCallback;        /* Legacy weak RxHalfCpltC
2504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxCpltCallback            = HAL_UART_RxCpltCallback;            /* Legacy weak RxCpltCallb
2505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->ErrorCallback             = HAL_UART_ErrorCallback;             /* Legacy weak ErrorCallba
2506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->AbortCpltCallback         = HAL_UART_AbortCpltCallback;         /* Legacy weak AbortCpltCa
2507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak AbortTransm
2508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->AbortReceiveCpltCallback  = HAL_UART_AbortReceiveCpltCallback;  /* Legacy weak AbortReceiv
2509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  DMA UART transmit process complete callback.
2515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  hdma  Pointer to a DMA_HandleTypeDef structure that contains
2516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *               the configuration information for the specified DMA module.
2517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval None
2518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma)
2520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* DMA Normal mode*/
2523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if ((hdma->Instance->CR & DMA_SxCR_CIRC) == 0U)
2524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
2525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->TxXferCount = 0x00U;
2526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Disable the DMA transfer for transmit request by setting the DMAT bit
2528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****        in the UART CR3 register */
2529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
2530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Enable the UART Transmit Complete Interrupt */
2532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
2533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
2535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* DMA Circular mode */
2536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   else
2537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
2538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
ARM GAS  /tmp/ccGtkZvD.s 			page 46


2539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /*Call registered Tx complete callback*/
2540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->TxCpltCallback(huart);
2541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /*Call legacy weak Tx complete callback*/
2543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     HAL_UART_TxCpltCallback(huart);
2544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
2546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief DMA UART transmit process half complete callback
2550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  hdma  Pointer to a DMA_HandleTypeDef structure that contains
2551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *               the configuration information for the specified DMA module.
2552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval None
2553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma)
2555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /*Call registered Tx complete callback*/
2560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->TxHalfCpltCallback(huart);
2561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /*Call legacy weak Tx complete callback*/
2563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   HAL_UART_TxHalfCpltCallback(huart);
2564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  DMA UART receive process complete callback.
2569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  hdma  Pointer to a DMA_HandleTypeDef structure that contains
2570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *               the configuration information for the specified DMA module.
2571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval None
2572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma)
2574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* DMA Normal mode*/
2577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if ((hdma->Instance->CR & DMA_SxCR_CIRC) == 0U)
2578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
2579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxXferCount = 0U;
2580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
2582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
2583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Disable the DMA transfer for the receiver request by setting the DMAR bit
2586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****        in the UART CR3 register */
2587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
2588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* At end of Rx process, restore huart->RxState to Ready */
2590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxState = HAL_UART_STATE_READY;
2591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
2592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /*Call registered Rx complete callback*/
2594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxCpltCallback(huart);
2595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
ARM GAS  /tmp/ccGtkZvD.s 			page 47


2596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /*Call legacy weak Rx complete callback*/
2597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   HAL_UART_RxCpltCallback(huart);
2598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief DMA UART receive process half complete callback
2603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  hdma  Pointer to a DMA_HandleTypeDef structure that contains
2604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *               the configuration information for the specified DMA module.
2605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval None
2606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma)
2608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /*Call registered Rx Half complete callback*/
2613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxHalfCpltCallback(huart);
2614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /*Call legacy weak Rx Half complete callback*/
2616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   HAL_UART_RxHalfCpltCallback(huart);
2617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  DMA UART communication error callback.
2622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  hdma  Pointer to a DMA_HandleTypeDef structure that contains
2623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *               the configuration information for the specified DMA module.
2624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval None
2625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma)
2627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t dmarequest = 0x00U;
2629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Stop UART DMA Tx request if ongoing */
2632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT);
2633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
2634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
2635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->TxXferCount = 0x00U;
2636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     UART_EndTxTransfer(huart);
2637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
2638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Stop UART DMA Rx request if ongoing */
2640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR);
2641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
2642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
2643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxXferCount = 0x00U;
2644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     UART_EndRxTransfer(huart);
2645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
2646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->ErrorCode |= HAL_UART_ERROR_DMA;
2648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /*Call registered error callback*/
2650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->ErrorCallback(huart);
2651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /*Call legacy weak error callback*/
ARM GAS  /tmp/ccGtkZvD.s 			page 48


2653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   HAL_UART_ErrorCallback(huart);
2654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  This function handles UART Communication Timeout.
2659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
2660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
2661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  Flag specifies the UART flag to check.
2662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  Status The new Flag status (SET or RESET).
2663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  Tickstart Tick start value
2664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  Timeout Timeout duration
2665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval HAL status
2666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, Flag
2668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Wait until flag is set */
2670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   while ((__HAL_UART_GET_FLAG(huart, Flag) ? SET : RESET) == Status)
2671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
2672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /* Check for the Timeout */
2673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if (Timeout != HAL_MAX_DELAY)
2674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
2675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       if ((Timeout == 0U) || ((HAL_GetTick() - Tickstart) > Timeout))
2676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
2677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         /* Disable TXE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts for t
2678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE));
2679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->gState  = HAL_UART_STATE_READY;
2682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->RxState = HAL_UART_STATE_READY;
2683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         /* Process Unlocked */
2685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         __HAL_UNLOCK(huart);
2686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         return HAL_TIMEOUT;
2688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
2689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
2690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
2691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   return HAL_OK;
2692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  End ongoing Tx transfer on UART peripheral (following error detection or Transmit compl
2696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart UART handle.
2697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval None
2698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart)
2700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  29              		.loc 1 2700 1 view -0
  30              		.cfi_startproc
  31              		@ args = 0, pretend = 0, frame = 0
  32              		@ frame_needed = 0, uses_anonymous_args = 0
  33              		@ link register save eliminated.
2701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable TXEIE and TCIE interrupts */
2702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
  34              		.loc 1 2702 3 view .LVU1
  35 0000 0268     		ldr	r2, [r0]
ARM GAS  /tmp/ccGtkZvD.s 			page 49


  36 0002 D368     		ldr	r3, [r2, #12]
  37 0004 23F0C003 		bic	r3, r3, #192
  38 0008 D360     		str	r3, [r2, #12]
2703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* At end of Tx process, restore huart->gState to Ready */
2705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
  39              		.loc 1 2705 3 view .LVU2
  40              		.loc 1 2705 17 is_stmt 0 view .LVU3
  41 000a 2023     		movs	r3, #32
  42 000c 80F83930 		strb	r3, [r0, #57]
2706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  43              		.loc 1 2706 1 view .LVU4
  44 0010 7047     		bx	lr
  45              		.cfi_endproc
  46              	.LFE174:
  48              		.section	.text.UART_EndRxTransfer,"ax",%progbits
  49              		.align	1
  50              		.syntax unified
  51              		.thumb
  52              		.thumb_func
  54              	UART_EndRxTransfer:
  55              	.LVL1:
  56              	.LFB175:
2707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  End ongoing Rx transfer on UART peripheral (following error detection or Reception comp
2710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart UART handle.
2711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval None
2712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart)
2714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  57              		.loc 1 2714 1 is_stmt 1 view -0
  58              		.cfi_startproc
  59              		@ args = 0, pretend = 0, frame = 0
  60              		@ frame_needed = 0, uses_anonymous_args = 0
  61              		@ link register save eliminated.
2715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
2716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
  62              		.loc 1 2716 3 view .LVU6
  63 0000 0268     		ldr	r2, [r0]
  64 0002 D368     		ldr	r3, [r2, #12]
  65 0004 23F49073 		bic	r3, r3, #288
  66 0008 D360     		str	r3, [r2, #12]
2717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
  67              		.loc 1 2717 3 view .LVU7
  68 000a 0268     		ldr	r2, [r0]
  69 000c 5369     		ldr	r3, [r2, #20]
  70 000e 23F00103 		bic	r3, r3, #1
  71 0012 5361     		str	r3, [r2, #20]
2718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* At end of Rx process, restore huart->RxState to Ready */
2720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
  72              		.loc 1 2720 3 view .LVU8
  73              		.loc 1 2720 18 is_stmt 0 view .LVU9
  74 0014 2023     		movs	r3, #32
  75 0016 80F83A30 		strb	r3, [r0, #58]
2721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS  /tmp/ccGtkZvD.s 			page 50


  76              		.loc 1 2721 1 view .LVU10
  77 001a 7047     		bx	lr
  78              		.cfi_endproc
  79              	.LFE175:
  81              		.section	.text.UART_Transmit_IT,"ax",%progbits
  82              		.align	1
  83              		.syntax unified
  84              		.thumb
  85              		.thumb_func
  87              	UART_Transmit_IT:
  88              	.LVL2:
  89              	.LFB181:
2722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  DMA UART communication abort callback, when initiated by HAL services on Error
2725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *         (To be called at end of DMA Abort procedure following error occurrence).
2726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  hdma  Pointer to a DMA_HandleTypeDef structure that contains
2727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *               the configuration information for the specified DMA module.
2728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval None
2729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma)
2731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxXferCount = 0x00U;
2734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->TxXferCount = 0x00U;
2735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /*Call registered error callback*/
2738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->ErrorCallback(huart);
2739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /*Call legacy weak error callback*/
2741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   HAL_UART_ErrorCallback(huart);
2742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  DMA UART Tx communication abort callback, when initiated by user
2747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *         (To be called at end of DMA Tx Abort procedure following user abort request).
2748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @note   When this callback is executed, User Abort complete call back is called only if no
2749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *         Abort still ongoing for Rx DMA Handle.
2750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  hdma  Pointer to a DMA_HandleTypeDef structure that contains
2751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *               the configuration information for the specified DMA module.
2752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval None
2753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma)
2755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->hdmatx->XferAbortCallback = NULL;
2759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check if an Abort process is still ongoing */
2761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (huart->hdmarx != NULL)
2762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
2763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if (huart->hdmarx->XferAbortCallback != NULL)
2764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
2765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       return;
2766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
ARM GAS  /tmp/ccGtkZvD.s 			page 51


2767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
2768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba
2770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->TxXferCount = 0x00U;
2771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxXferCount = 0x00U;
2772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Reset ErrorCode */
2774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->ErrorCode = HAL_UART_ERROR_NONE;
2775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Restore huart->gState and huart->RxState to Ready */
2777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState  = HAL_UART_STATE_READY;
2778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
2779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Call user Abort complete callback */
2781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Call registered Abort complete callback */
2783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->AbortCpltCallback(huart);
2784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Call legacy weak Abort complete callback */
2786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   HAL_UART_AbortCpltCallback(huart);
2787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  DMA UART Rx communication abort callback, when initiated by user
2792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *         (To be called at end of DMA Rx Abort procedure following user abort request).
2793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @note   When this callback is executed, User Abort complete call back is called only if no
2794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *         Abort still ongoing for Tx DMA Handle.
2795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  hdma  Pointer to a DMA_HandleTypeDef structure that contains
2796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *               the configuration information for the specified DMA module.
2797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval None
2798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma)
2800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->hdmarx->XferAbortCallback = NULL;
2804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check if an Abort process is still ongoing */
2806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (huart->hdmatx != NULL)
2807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
2808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if (huart->hdmatx->XferAbortCallback != NULL)
2809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
2810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       return;
2811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
2812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
2813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba
2815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->TxXferCount = 0x00U;
2816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxXferCount = 0x00U;
2817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Reset ErrorCode */
2819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->ErrorCode = HAL_UART_ERROR_NONE;
2820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Restore huart->gState and huart->RxState to Ready */
2822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState  = HAL_UART_STATE_READY;
2823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
ARM GAS  /tmp/ccGtkZvD.s 			page 52


2824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Call user Abort complete callback */
2826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Call registered Abort complete callback */
2828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->AbortCpltCallback(huart);
2829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Call legacy weak Abort complete callback */
2831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   HAL_UART_AbortCpltCallback(huart);
2832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  DMA UART Tx communication abort callback, when initiated by user by a call to
2837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *         HAL_UART_AbortTransmit_IT API (Abort only Tx transfer)
2838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *         (This callback is executed at end of DMA Tx Abort procedure following user abort reques
2839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *         and leads to user Tx Abort Complete callback execution).
2840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  hdma  Pointer to a DMA_HandleTypeDef structure that contains
2841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *               the configuration information for the specified DMA module.
2842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval None
2843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma)
2845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->TxXferCount = 0x00U;
2849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Restore huart->gState to Ready */
2851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
2852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Call user Abort complete callback */
2854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Call registered Abort Transmit Complete Callback */
2856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->AbortTransmitCpltCallback(huart);
2857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Call legacy weak Abort Transmit Complete Callback */
2859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   HAL_UART_AbortTransmitCpltCallback(huart);
2860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  DMA UART Rx communication abort callback, when initiated by user by a call to
2865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *         HAL_UART_AbortReceive_IT API (Abort only Rx transfer)
2866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *         (This callback is executed at end of DMA Rx Abort procedure following user abort reques
2867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *         and leads to user Rx Abort Complete callback execution).
2868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  hdma  Pointer to a DMA_HandleTypeDef structure that contains
2869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *               the configuration information for the specified DMA module.
2870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval None
2871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma)
2873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxXferCount = 0x00U;
2877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Restore huart->RxState to Ready */
2879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
2880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
ARM GAS  /tmp/ccGtkZvD.s 			page 53


2881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Call user Abort complete callback */
2882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Call registered Abort Receive Complete Callback */
2884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->AbortReceiveCpltCallback(huart);
2885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Call legacy weak Abort Receive Complete Callback */
2887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   HAL_UART_AbortReceiveCpltCallback(huart);
2888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Sends an amount of data in non blocking mode.
2893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
2894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
2895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval HAL status
2896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_Transmit_IT(UART_HandleTypeDef *huart)
2898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  90              		.loc 1 2898 1 is_stmt 1 view -0
  91              		.cfi_startproc
  92              		@ args = 0, pretend = 0, frame = 0
  93              		@ frame_needed = 0, uses_anonymous_args = 0
  94              		@ link register save eliminated.
2899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint16_t *tmp;
  95              		.loc 1 2899 3 view .LVU12
2900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check that a Tx process is ongoing */
2902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (huart->gState == HAL_UART_STATE_BUSY_TX)
  96              		.loc 1 2902 3 view .LVU13
  97              		.loc 1 2902 12 is_stmt 0 view .LVU14
  98 0000 90F83930 		ldrb	r3, [r0, #57]	@ zero_extendqisi2
  99 0004 DBB2     		uxtb	r3, r3
 100              		.loc 1 2902 6 view .LVU15
 101 0006 212B     		cmp	r3, #33
 102 0008 01D0     		beq	.L10
2903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
2904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if (huart->Init.WordLength == UART_WORDLENGTH_9B)
2905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
2906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       tmp = (uint16_t *) huart->pTxBuffPtr;
2907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->Instance->DR = (uint16_t)(*tmp & (uint16_t)0x01FF);
2908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       if (huart->Init.Parity == UART_PARITY_NONE)
2909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
2910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->pTxBuffPtr += 2U;
2911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
2912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       else
2913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
2914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->pTxBuffPtr += 1U;
2915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
2916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
2917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     else
2918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
2919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->Instance->DR = (uint8_t)(*huart->pTxBuffPtr++ & (uint8_t)0x00FF);
2920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
2921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if (--huart->TxXferCount == 0U)
2923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
2924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       /* Disable the UART Transmit Complete Interrupt */
ARM GAS  /tmp/ccGtkZvD.s 			page 54


2925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       __HAL_UART_DISABLE_IT(huart, UART_IT_TXE);
2926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       /* Enable the UART Transmit Complete Interrupt */
2928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       __HAL_UART_ENABLE_IT(huart, UART_IT_TC);
2929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
2930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     return HAL_OK;
2931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
2932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   else
2933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
2934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     return HAL_BUSY;
 103              		.loc 1 2934 12 view .LVU16
 104 000a 0220     		movs	r0, #2
 105              	.LVL3:
2935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
2936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 106              		.loc 1 2936 1 view .LVU17
 107 000c 7047     		bx	lr
 108              	.LVL4:
 109              	.L10:
2904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 110              		.loc 1 2904 5 is_stmt 1 view .LVU18
2904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 111              		.loc 1 2904 20 is_stmt 0 view .LVU19
 112 000e 8368     		ldr	r3, [r0, #8]
2904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 113              		.loc 1 2904 8 view .LVU20
 114 0010 B3F5805F 		cmp	r3, #4096
 115 0014 17D0     		beq	.L11
2919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 116              		.loc 1 2919 7 is_stmt 1 view .LVU21
2919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 117              		.loc 1 2919 45 is_stmt 0 view .LVU22
 118 0016 036A     		ldr	r3, [r0, #32]
2919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 119              		.loc 1 2919 57 view .LVU23
 120 0018 5A1C     		adds	r2, r3, #1
 121 001a 0262     		str	r2, [r0, #32]
2919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 122              		.loc 1 2919 39 view .LVU24
 123 001c 1A78     		ldrb	r2, [r3]	@ zero_extendqisi2
2919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 124              		.loc 1 2919 12 view .LVU25
 125 001e 0368     		ldr	r3, [r0]
2919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 126              		.loc 1 2919 27 view .LVU26
 127 0020 5A60     		str	r2, [r3, #4]
 128              	.L7:
2922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 129              		.loc 1 2922 5 is_stmt 1 view .LVU27
2922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 130              		.loc 1 2922 16 is_stmt 0 view .LVU28
 131 0022 C38C     		ldrh	r3, [r0, #38]
 132 0024 9BB2     		uxth	r3, r3
2922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 133              		.loc 1 2922 9 view .LVU29
 134 0026 013B     		subs	r3, r3, #1
 135 0028 9BB2     		uxth	r3, r3
ARM GAS  /tmp/ccGtkZvD.s 			page 55


2922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 136              		.loc 1 2922 8 view .LVU30
 137 002a C384     		strh	r3, [r0, #38]	@ movhi
 138 002c 4BB9     		cbnz	r3, .L8
2925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 139              		.loc 1 2925 7 is_stmt 1 view .LVU31
 140 002e 0268     		ldr	r2, [r0]
 141 0030 D368     		ldr	r3, [r2, #12]
 142 0032 23F08003 		bic	r3, r3, #128
 143 0036 D360     		str	r3, [r2, #12]
2928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 144              		.loc 1 2928 7 view .LVU32
 145 0038 0268     		ldr	r2, [r0]
 146 003a D368     		ldr	r3, [r2, #12]
 147 003c 43F04003 		orr	r3, r3, #64
 148 0040 D360     		str	r3, [r2, #12]
 149              	.L8:
2930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 150              		.loc 1 2930 5 view .LVU33
2930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 151              		.loc 1 2930 12 is_stmt 0 view .LVU34
 152 0042 0020     		movs	r0, #0
 153              	.LVL5:
2930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 154              		.loc 1 2930 12 view .LVU35
 155 0044 7047     		bx	lr
 156              	.LVL6:
 157              	.L11:
2906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->Instance->DR = (uint16_t)(*tmp & (uint16_t)0x01FF);
 158              		.loc 1 2906 7 is_stmt 1 view .LVU36
2906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->Instance->DR = (uint16_t)(*tmp & (uint16_t)0x01FF);
 159              		.loc 1 2906 11 is_stmt 0 view .LVU37
 160 0046 036A     		ldr	r3, [r0, #32]
 161              	.LVL7:
2907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       if (huart->Init.Parity == UART_PARITY_NONE)
 162              		.loc 1 2907 7 is_stmt 1 view .LVU38
2907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       if (huart->Init.Parity == UART_PARITY_NONE)
 163              		.loc 1 2907 40 is_stmt 0 view .LVU39
 164 0048 1B88     		ldrh	r3, [r3]
 165              	.LVL8:
2907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       if (huart->Init.Parity == UART_PARITY_NONE)
 166              		.loc 1 2907 12 view .LVU40
 167 004a 0268     		ldr	r2, [r0]
2907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       if (huart->Init.Parity == UART_PARITY_NONE)
 168              		.loc 1 2907 29 view .LVU41
 169 004c C3F30803 		ubfx	r3, r3, #0, #9
2907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       if (huart->Init.Parity == UART_PARITY_NONE)
 170              		.loc 1 2907 27 view .LVU42
 171 0050 5360     		str	r3, [r2, #4]
 172              	.LVL9:
2908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 173              		.loc 1 2908 7 is_stmt 1 view .LVU43
2908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 174              		.loc 1 2908 22 is_stmt 0 view .LVU44
 175 0052 0369     		ldr	r3, [r0, #16]
2908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 176              		.loc 1 2908 10 view .LVU45
ARM GAS  /tmp/ccGtkZvD.s 			page 56


 177 0054 1BB9     		cbnz	r3, .L6
2910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 178              		.loc 1 2910 9 is_stmt 1 view .LVU46
2910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 179              		.loc 1 2910 27 is_stmt 0 view .LVU47
 180 0056 036A     		ldr	r3, [r0, #32]
 181 0058 0233     		adds	r3, r3, #2
 182 005a 0362     		str	r3, [r0, #32]
 183 005c E1E7     		b	.L7
 184              	.L6:
2914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 185              		.loc 1 2914 9 is_stmt 1 view .LVU48
2914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 186              		.loc 1 2914 27 is_stmt 0 view .LVU49
 187 005e 036A     		ldr	r3, [r0, #32]
 188 0060 0133     		adds	r3, r3, #1
 189 0062 0362     		str	r3, [r0, #32]
 190 0064 DDE7     		b	.L7
 191              		.cfi_endproc
 192              	.LFE181:
 194              		.section	.text.UART_SetConfig,"ax",%progbits
 195              		.align	1
 196              		.syntax unified
 197              		.thumb
 198              		.thumb_func
 200              	UART_SetConfig:
 201              	.LVL10:
 202              	.LFB184:
2937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Wraps up transmission in non blocking mode.
2940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
2941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
2942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval HAL status
2943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_EndTransmit_IT(UART_HandleTypeDef *huart)
2945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable the UART Transmit Complete Interrupt */
2947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   __HAL_UART_DISABLE_IT(huart, UART_IT_TC);
2948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Tx process is ended, restore huart->gState to Ready */
2950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
2951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /*Call registered Tx complete callback*/
2954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->TxCpltCallback(huart);
2955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /*Call legacy weak Tx complete callback*/
2957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   HAL_UART_TxCpltCallback(huart);
2958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   return HAL_OK;
2961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Receives an amount of data in non blocking mode
2965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
ARM GAS  /tmp/ccGtkZvD.s 			page 57


2966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
2967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval HAL status
2968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
2969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_Receive_IT(UART_HandleTypeDef *huart)
2970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint16_t *tmp;
2972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
2973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check that a Rx process is ongoing */
2974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (huart->RxState == HAL_UART_STATE_BUSY_RX)
2975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
2976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if (huart->Init.WordLength == UART_WORDLENGTH_9B)
2977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
2978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       tmp = (uint16_t *) huart->pRxBuffPtr;
2979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       if (huart->Init.Parity == UART_PARITY_NONE)
2980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
2981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         *tmp = (uint16_t)(huart->Instance->DR & (uint16_t)0x01FF);
2982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->pRxBuffPtr += 2U;
2983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
2984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       else
2985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
2986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         *tmp = (uint16_t)(huart->Instance->DR & (uint16_t)0x00FF);
2987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->pRxBuffPtr += 1U;
2988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
2989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
2990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     else
2991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
2992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       if (huart->Init.Parity == UART_PARITY_NONE)
2993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
2994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         *huart->pRxBuffPtr++ = (uint8_t)(huart->Instance->DR & (uint8_t)0x00FF);
2995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
2996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       else
2997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
2998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         *huart->pRxBuffPtr++ = (uint8_t)(huart->Instance->DR & (uint8_t)0x007F);
2999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
3000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
3001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
3002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if (--huart->RxXferCount == 0U)
3003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
3004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       /* Disable the UART Data Register not empty Interrupt */
3005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       __HAL_UART_DISABLE_IT(huart, UART_IT_RXNE);
3006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
3007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       /* Disable the UART Parity Error Interrupt */
3008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       __HAL_UART_DISABLE_IT(huart, UART_IT_PE);
3009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
3010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */
3011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       __HAL_UART_DISABLE_IT(huart, UART_IT_ERR);
3012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
3013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       /* Rx process is completed, restore huart->RxState to Ready */
3014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->RxState = HAL_UART_STATE_READY;
3015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
3016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       /*Call registered Rx complete callback*/
3018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->RxCpltCallback(huart);
3019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
3020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       /*Call legacy weak Rx complete callback*/
3021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       HAL_UART_RxCpltCallback(huart);
3022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
ARM GAS  /tmp/ccGtkZvD.s 			page 58


3023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
3024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       return HAL_OK;
3025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
3026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     return HAL_OK;
3027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
3028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   else
3029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
3030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     return HAL_BUSY;
3031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
3032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
3034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
3035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @brief  Configures the UART peripheral.
3036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @param  huart  Pointer to a UART_HandleTypeDef structure that contains
3037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
3038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   * @retval None
3039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   */
3040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_SetConfig(UART_HandleTypeDef *huart)
3041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
 203              		.loc 1 3041 1 is_stmt 1 view -0
 204              		.cfi_startproc
 205              		@ args = 0, pretend = 0, frame = 0
 206              		@ frame_needed = 0, uses_anonymous_args = 0
 207              		.loc 1 3041 1 is_stmt 0 view .LVU51
 208 0000 2DE9F843 		push	{r3, r4, r5, r6, r7, r8, r9, lr}
 209              	.LCFI0:
 210              		.cfi_def_cfa_offset 32
 211              		.cfi_offset 3, -32
 212              		.cfi_offset 4, -28
 213              		.cfi_offset 5, -24
 214              		.cfi_offset 6, -20
 215              		.cfi_offset 7, -16
 216              		.cfi_offset 8, -12
 217              		.cfi_offset 9, -8
 218              		.cfi_offset 14, -4
 219 0004 0446     		mov	r4, r0
3042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t tmpreg;
 220              		.loc 1 3042 3 is_stmt 1 view .LVU52
3043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
3044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check the parameters */
3045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   assert_param(IS_UART_BAUDRATE(huart->Init.BaudRate));
 221              		.loc 1 3045 3 view .LVU53
3046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   assert_param(IS_UART_STOPBITS(huart->Init.StopBits));
 222              		.loc 1 3046 3 view .LVU54
3047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   assert_param(IS_UART_PARITY(huart->Init.Parity));
 223              		.loc 1 3047 3 view .LVU55
3048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   assert_param(IS_UART_MODE(huart->Init.Mode));
 224              		.loc 1 3048 3 view .LVU56
3049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
3050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /*-------------------------- USART CR2 Configuration -----------------------*/
3051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Configure the UART Stop Bits: Set STOP[13:12] bits
3052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      according to huart->Init.StopBits value */
3053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   MODIFY_REG(huart->Instance->CR2, USART_CR2_STOP, huart->Init.StopBits);
 225              		.loc 1 3053 3 view .LVU57
 226 0006 0268     		ldr	r2, [r0]
 227 0008 1369     		ldr	r3, [r2, #16]
 228 000a 23F44053 		bic	r3, r3, #12288
ARM GAS  /tmp/ccGtkZvD.s 			page 59


 229 000e C168     		ldr	r1, [r0, #12]
 230 0010 0B43     		orrs	r3, r3, r1
 231 0012 1361     		str	r3, [r2, #16]
3054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
3055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /*-------------------------- USART CR1 Configuration -----------------------*/
3056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Configure the UART Word Length, Parity and mode:
3057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      Set the M bits according to huart->Init.WordLength value
3058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      Set PCE and PS bits according to huart->Init.Parity value
3059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      Set TE and RE bits according to huart->Init.Mode value
3060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****      Set OVER8 bit according to huart->Init.OverSampling value */
3061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
3062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   tmpreg = (uint32_t)huart->Init.WordLength | huart->Init.Parity | huart->Init.Mode | huart->Init.O
 232              		.loc 1 3062 3 view .LVU58
 233              		.loc 1 3062 33 is_stmt 0 view .LVU59
 234 0014 8368     		ldr	r3, [r0, #8]
 235              		.loc 1 3062 58 view .LVU60
 236 0016 0269     		ldr	r2, [r0, #16]
 237              		.loc 1 3062 45 view .LVU61
 238 0018 1343     		orrs	r3, r3, r2
 239              		.loc 1 3062 79 view .LVU62
 240 001a 4269     		ldr	r2, [r0, #20]
 241              		.loc 1 3062 66 view .LVU63
 242 001c 1343     		orrs	r3, r3, r2
 243              		.loc 1 3062 98 view .LVU64
 244 001e C269     		ldr	r2, [r0, #28]
 245              		.loc 1 3062 10 view .LVU65
 246 0020 1A43     		orrs	r2, r2, r3
 247              	.LVL11:
3063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   MODIFY_REG(huart->Instance->CR1,
 248              		.loc 1 3063 3 is_stmt 1 view .LVU66
 249 0022 0168     		ldr	r1, [r0]
 250 0024 CB68     		ldr	r3, [r1, #12]
 251 0026 23F41643 		bic	r3, r3, #38400
 252 002a 23F00C03 		bic	r3, r3, #12
 253 002e 1343     		orrs	r3, r3, r2
 254 0030 CB60     		str	r3, [r1, #12]
3064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****              (uint32_t)(USART_CR1_M | USART_CR1_PCE | USART_CR1_PS | USART_CR1_TE | USART_CR1_RE | 
3065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****              tmpreg);
3066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
3067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /*-------------------------- USART CR3 Configuration -----------------------*/
3068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Configure the UART HFC: Set CTSE and RTSE bits according to huart->Init.HwFlowCtl value */
3069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   MODIFY_REG(huart->Instance->CR3, (USART_CR3_RTSE | USART_CR3_CTSE), huart->Init.HwFlowCtl);
 255              		.loc 1 3069 3 view .LVU67
 256 0032 0268     		ldr	r2, [r0]
 257              	.LVL12:
 258              		.loc 1 3069 3 is_stmt 0 view .LVU68
 259 0034 5369     		ldr	r3, [r2, #20]
 260 0036 23F44073 		bic	r3, r3, #768
 261 003a 8169     		ldr	r1, [r0, #24]
 262 003c 0B43     		orrs	r3, r3, r1
 263 003e 5361     		str	r3, [r2, #20]
3070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
3071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check the Over Sampling */
3072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (huart->Init.OverSampling == UART_OVERSAMPLING_8)
 264              		.loc 1 3072 3 is_stmt 1 view .LVU69
 265              		.loc 1 3072 18 is_stmt 0 view .LVU70
 266 0040 C369     		ldr	r3, [r0, #28]
ARM GAS  /tmp/ccGtkZvD.s 			page 60


 267              		.loc 1 3072 6 view .LVU71
 268 0042 B3F5004F 		cmp	r3, #32768
 269 0046 5ED0     		beq	.L20
3073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
3074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /*-------------------------- USART BRR Configuration ---------------------*/
3075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if defined(USART6)
3076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if ((huart->Instance == USART1) || (huart->Instance == USART6))
3077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
3078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->Instance->BRR = UART_BRR_SAMPLING8(HAL_RCC_GetPCLK2Freq(), huart->Init.BaudRate);
3079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
3080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
3081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if (huart->Instance == USART1)
3082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
3083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->Instance->BRR = UART_BRR_SAMPLING8(HAL_RCC_GetPCLK2Freq(), huart->Init.BaudRate);
3084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
3085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USART6 */
3086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     else
3087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
3088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->Instance->BRR = UART_BRR_SAMPLING8(HAL_RCC_GetPCLK1Freq(), huart->Init.BaudRate);
3089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
3090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
3091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   else
3092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
3093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     /*-------------------------- USART BRR Configuration ---------------------*/
3094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if defined(USART6)
3095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if ((huart->Instance == USART1) || (huart->Instance == USART6))
 270              		.loc 1 3095 5 is_stmt 1 view .LVU72
 271              		.loc 1 3095 15 is_stmt 0 view .LVU73
 272 0048 0368     		ldr	r3, [r0]
 273              		.loc 1 3095 8 view .LVU74
 274 004a B54A     		ldr	r2, .L21
 275 004c 9342     		cmp	r3, r2
 276 004e 00F01081 		beq	.L17
 277              		.loc 1 3095 37 discriminator 1 view .LVU75
 278 0052 02F58062 		add	r2, r2, #1024
 279 0056 9342     		cmp	r3, r2
 280 0058 00F00B81 		beq	.L17
3096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
3097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->Instance->BRR = UART_BRR_SAMPLING16(HAL_RCC_GetPCLK2Freq(), huart->Init.BaudRate);
3098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
3099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
3100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     if (huart->Instance == USART1)
3101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
3102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->Instance->BRR = UART_BRR_SAMPLING16(HAL_RCC_GetPCLK2Freq(), huart->Init.BaudRate);
3103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
3104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USART6 */
3105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     else
3106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
3107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       huart->Instance->BRR = UART_BRR_SAMPLING16(HAL_RCC_GetPCLK1Freq(), huart->Init.BaudRate);
 281              		.loc 1 3107 7 is_stmt 1 view .LVU76
 282              		.loc 1 3107 30 is_stmt 0 view .LVU77
 283 005c FFF7FEFF 		bl	HAL_RCC_GetPCLK1Freq
 284              	.LVL13:
 285              		.loc 1 3107 30 view .LVU78
 286 0060 00EB8000 		add	r0, r0, r0, lsl #2
 287 0064 00EB8000 		add	r0, r0, r0, lsl #2
 288 0068 6568     		ldr	r5, [r4, #4]
ARM GAS  /tmp/ccGtkZvD.s 			page 61


 289 006a AD00     		lsls	r5, r5, #2
 290 006c B0FBF5F5 		udiv	r5, r0, r5
 291 0070 AC4F     		ldr	r7, .L21+4
 292 0072 A7FB0535 		umull	r3, r5, r7, r5
 293 0076 6D09     		lsrs	r5, r5, #5
 294 0078 2E01     		lsls	r6, r5, #4
 295 007a FFF7FEFF 		bl	HAL_RCC_GetPCLK1Freq
 296              	.LVL14:
 297 007e 00EB8000 		add	r0, r0, r0, lsl #2
 298 0082 00EB8000 		add	r0, r0, r0, lsl #2
 299 0086 6568     		ldr	r5, [r4, #4]
 300 0088 AD00     		lsls	r5, r5, #2
 301 008a B0FBF5F5 		udiv	r5, r0, r5
 302 008e FFF7FEFF 		bl	HAL_RCC_GetPCLK1Freq
 303              	.LVL15:
 304 0092 00EB8000 		add	r0, r0, r0, lsl #2
 305 0096 00EB8000 		add	r0, r0, r0, lsl #2
 306 009a 6368     		ldr	r3, [r4, #4]
 307 009c 9B00     		lsls	r3, r3, #2
 308 009e B0FBF3F3 		udiv	r3, r0, r3
 309 00a2 A7FB0323 		umull	r2, r3, r7, r3
 310 00a6 5B09     		lsrs	r3, r3, #5
 311 00a8 4FF06408 		mov	r8, #100
 312 00ac 08FB1353 		mls	r3, r8, r3, r5
 313 00b0 1B01     		lsls	r3, r3, #4
 314 00b2 3233     		adds	r3, r3, #50
 315 00b4 A7FB0323 		umull	r2, r3, r7, r3
 316 00b8 5B09     		lsrs	r3, r3, #5
 317 00ba 03F0F003 		and	r3, r3, #240
 318 00be F518     		adds	r5, r6, r3
 319 00c0 FFF7FEFF 		bl	HAL_RCC_GetPCLK1Freq
 320              	.LVL16:
 321 00c4 00EB8000 		add	r0, r0, r0, lsl #2
 322 00c8 00EB8000 		add	r0, r0, r0, lsl #2
 323 00cc 6668     		ldr	r6, [r4, #4]
 324 00ce B600     		lsls	r6, r6, #2
 325 00d0 B0FBF6F6 		udiv	r6, r0, r6
 326 00d4 FFF7FEFF 		bl	HAL_RCC_GetPCLK1Freq
 327              	.LVL17:
 328 00d8 00EB8000 		add	r0, r0, r0, lsl #2
 329 00dc 00EB8000 		add	r0, r0, r0, lsl #2
 330 00e0 6368     		ldr	r3, [r4, #4]
 331 00e2 9B00     		lsls	r3, r3, #2
 332 00e4 B0FBF3F0 		udiv	r0, r0, r3
 333 00e8 A7FB0030 		umull	r3, r0, r7, r0
 334 00ec 4009     		lsrs	r0, r0, #5
 335 00ee 08FB1060 		mls	r0, r8, r0, r6
 336 00f2 0001     		lsls	r0, r0, #4
 337 00f4 3230     		adds	r0, r0, #50
 338 00f6 A7FB0037 		umull	r3, r7, r7, r0
 339 00fa C7F34317 		ubfx	r7, r7, #5, #4
 340              		.loc 1 3107 12 view .LVU79
 341 00fe 2368     		ldr	r3, [r4]
 342              		.loc 1 3107 30 view .LVU80
 343 0100 2F44     		add	r7, r7, r5
 344              		.loc 1 3107 28 view .LVU81
 345 0102 9F60     		str	r7, [r3, #8]
ARM GAS  /tmp/ccGtkZvD.s 			page 62


3108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
3109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
3110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 346              		.loc 1 3110 1 view .LVU82
 347 0104 09E1     		b	.L12
 348              	.LVL18:
 349              	.L20:
3076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 350              		.loc 1 3076 5 is_stmt 1 view .LVU83
3076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 351              		.loc 1 3076 15 is_stmt 0 view .LVU84
 352 0106 0368     		ldr	r3, [r0]
3076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 353              		.loc 1 3076 8 view .LVU85
 354 0108 854A     		ldr	r2, .L21
 355 010a 9342     		cmp	r3, r2
 356 010c 5AD0     		beq	.L14
3076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 357              		.loc 1 3076 37 discriminator 1 view .LVU86
 358 010e 02F58062 		add	r2, r2, #1024
 359 0112 9342     		cmp	r3, r2
 360 0114 56D0     		beq	.L14
3088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 361              		.loc 1 3088 7 is_stmt 1 view .LVU87
3088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 362              		.loc 1 3088 30 is_stmt 0 view .LVU88
 363 0116 FFF7FEFF 		bl	HAL_RCC_GetPCLK1Freq
 364              	.LVL19:
3088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 365              		.loc 1 3088 30 view .LVU89
 366 011a 00EB8000 		add	r0, r0, r0, lsl #2
 367 011e 00EB8000 		add	r0, r0, r0, lsl #2
 368 0122 6568     		ldr	r5, [r4, #4]
 369 0124 6D00     		lsls	r5, r5, #1
 370 0126 B0FBF5F5 		udiv	r5, r0, r5
 371 012a 7E4F     		ldr	r7, .L21+4
 372 012c A7FB0535 		umull	r3, r5, r7, r5
 373 0130 6D09     		lsrs	r5, r5, #5
 374 0132 4FEA0519 		lsl	r9, r5, #4
 375 0136 FFF7FEFF 		bl	HAL_RCC_GetPCLK1Freq
 376              	.LVL20:
 377 013a 00EB8000 		add	r0, r0, r0, lsl #2
 378 013e 00EB8000 		add	r0, r0, r0, lsl #2
 379 0142 6668     		ldr	r6, [r4, #4]
 380 0144 7600     		lsls	r6, r6, #1
 381 0146 B0FBF6F6 		udiv	r6, r0, r6
 382 014a FFF7FEFF 		bl	HAL_RCC_GetPCLK1Freq
 383              	.LVL21:
 384 014e 00EB8000 		add	r0, r0, r0, lsl #2
 385 0152 00EB8000 		add	r0, r0, r0, lsl #2
 386 0156 6568     		ldr	r5, [r4, #4]
 387 0158 6D00     		lsls	r5, r5, #1
 388 015a B0FBF5F5 		udiv	r5, r0, r5
 389 015e A7FB0535 		umull	r3, r5, r7, r5
 390 0162 6D09     		lsrs	r5, r5, #5
 391 0164 4FF06408 		mov	r8, #100
 392 0168 08FB1565 		mls	r5, r8, r5, r6
ARM GAS  /tmp/ccGtkZvD.s 			page 63


 393 016c ED00     		lsls	r5, r5, #3
 394 016e 3235     		adds	r5, r5, #50
 395 0170 A7FB0535 		umull	r3, r5, r7, r5
 396 0174 6D09     		lsrs	r5, r5, #5
 397 0176 6D00     		lsls	r5, r5, #1
 398 0178 05F4F875 		and	r5, r5, #496
 399 017c 4D44     		add	r5, r5, r9
 400 017e FFF7FEFF 		bl	HAL_RCC_GetPCLK1Freq
 401              	.LVL22:
 402 0182 00EB8000 		add	r0, r0, r0, lsl #2
 403 0186 00EB8000 		add	r0, r0, r0, lsl #2
 404 018a 6668     		ldr	r6, [r4, #4]
 405 018c 7600     		lsls	r6, r6, #1
 406 018e B0FBF6F6 		udiv	r6, r0, r6
 407 0192 FFF7FEFF 		bl	HAL_RCC_GetPCLK1Freq
 408              	.LVL23:
 409 0196 00EB8000 		add	r0, r0, r0, lsl #2
 410 019a 00EB8000 		add	r0, r0, r0, lsl #2
 411 019e 6368     		ldr	r3, [r4, #4]
 412 01a0 5B00     		lsls	r3, r3, #1
 413 01a2 B0FBF3F3 		udiv	r3, r0, r3
 414 01a6 A7FB0323 		umull	r2, r3, r7, r3
 415 01aa 5B09     		lsrs	r3, r3, #5
 416 01ac 08FB1363 		mls	r3, r8, r3, r6
 417 01b0 DB00     		lsls	r3, r3, #3
 418 01b2 3233     		adds	r3, r3, #50
 419 01b4 A7FB0337 		umull	r3, r7, r7, r3
 420 01b8 C7F34217 		ubfx	r7, r7, #5, #3
3088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 421              		.loc 1 3088 12 view .LVU90
 422 01bc 2368     		ldr	r3, [r4]
3088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 423              		.loc 1 3088 30 view .LVU91
 424 01be 2F44     		add	r7, r7, r5
3088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 425              		.loc 1 3088 28 view .LVU92
 426 01c0 9F60     		str	r7, [r3, #8]
 427 01c2 AAE0     		b	.L12
 428              	.LVL24:
 429              	.L14:
3078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 430              		.loc 1 3078 7 is_stmt 1 view .LVU93
3078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 431              		.loc 1 3078 30 is_stmt 0 view .LVU94
 432 01c4 FFF7FEFF 		bl	HAL_RCC_GetPCLK2Freq
 433              	.LVL25:
3078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 434              		.loc 1 3078 30 view .LVU95
 435 01c8 00EB8000 		add	r0, r0, r0, lsl #2
 436 01cc 00EB8000 		add	r0, r0, r0, lsl #2
 437 01d0 6568     		ldr	r5, [r4, #4]
 438 01d2 6D00     		lsls	r5, r5, #1
 439 01d4 B0FBF5F5 		udiv	r5, r0, r5
 440 01d8 524F     		ldr	r7, .L21+4
 441 01da A7FB0535 		umull	r3, r5, r7, r5
 442 01de 6D09     		lsrs	r5, r5, #5
 443 01e0 4FEA0519 		lsl	r9, r5, #4
ARM GAS  /tmp/ccGtkZvD.s 			page 64


 444 01e4 FFF7FEFF 		bl	HAL_RCC_GetPCLK2Freq
 445              	.LVL26:
 446 01e8 00EB8000 		add	r0, r0, r0, lsl #2
 447 01ec 00EB8000 		add	r0, r0, r0, lsl #2
 448 01f0 6668     		ldr	r6, [r4, #4]
 449 01f2 7600     		lsls	r6, r6, #1
 450 01f4 B0FBF6F6 		udiv	r6, r0, r6
 451 01f8 FFF7FEFF 		bl	HAL_RCC_GetPCLK2Freq
 452              	.LVL27:
 453 01fc 00EB8000 		add	r0, r0, r0, lsl #2
 454 0200 00EB8000 		add	r0, r0, r0, lsl #2
 455 0204 6568     		ldr	r5, [r4, #4]
 456 0206 6D00     		lsls	r5, r5, #1
 457 0208 B0FBF5F5 		udiv	r5, r0, r5
 458 020c A7FB0535 		umull	r3, r5, r7, r5
 459 0210 6D09     		lsrs	r5, r5, #5
 460 0212 4FF06408 		mov	r8, #100
 461 0216 08FB1565 		mls	r5, r8, r5, r6
 462 021a ED00     		lsls	r5, r5, #3
 463 021c 3235     		adds	r5, r5, #50
 464 021e A7FB0535 		umull	r3, r5, r7, r5
 465 0222 6D09     		lsrs	r5, r5, #5
 466 0224 6D00     		lsls	r5, r5, #1
 467 0226 05F4F875 		and	r5, r5, #496
 468 022a 4D44     		add	r5, r5, r9
 469 022c FFF7FEFF 		bl	HAL_RCC_GetPCLK2Freq
 470              	.LVL28:
 471 0230 00EB8000 		add	r0, r0, r0, lsl #2
 472 0234 00EB8000 		add	r0, r0, r0, lsl #2
 473 0238 6668     		ldr	r6, [r4, #4]
 474 023a 7600     		lsls	r6, r6, #1
 475 023c B0FBF6F6 		udiv	r6, r0, r6
 476 0240 FFF7FEFF 		bl	HAL_RCC_GetPCLK2Freq
 477              	.LVL29:
 478 0244 00EB8000 		add	r0, r0, r0, lsl #2
 479 0248 00EB8000 		add	r0, r0, r0, lsl #2
 480 024c 6368     		ldr	r3, [r4, #4]
 481 024e 5B00     		lsls	r3, r3, #1
 482 0250 B0FBF3F3 		udiv	r3, r0, r3
 483 0254 A7FB0323 		umull	r2, r3, r7, r3
 484 0258 5B09     		lsrs	r3, r3, #5
 485 025a 08FB1363 		mls	r3, r8, r3, r6
 486 025e DB00     		lsls	r3, r3, #3
 487 0260 3233     		adds	r3, r3, #50
 488 0262 A7FB0337 		umull	r3, r7, r7, r3
 489 0266 C7F34217 		ubfx	r7, r7, #5, #3
3078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 490              		.loc 1 3078 12 view .LVU96
 491 026a 2368     		ldr	r3, [r4]
3078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 492              		.loc 1 3078 30 view .LVU97
 493 026c 2F44     		add	r7, r7, r5
3078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 494              		.loc 1 3078 28 view .LVU98
 495 026e 9F60     		str	r7, [r3, #8]
 496 0270 53E0     		b	.L12
 497              	.LVL30:
ARM GAS  /tmp/ccGtkZvD.s 			page 65


 498              	.L17:
3097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 499              		.loc 1 3097 7 is_stmt 1 view .LVU99
3097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 500              		.loc 1 3097 30 is_stmt 0 view .LVU100
 501 0272 FFF7FEFF 		bl	HAL_RCC_GetPCLK2Freq
 502              	.LVL31:
3097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 503              		.loc 1 3097 30 view .LVU101
 504 0276 00EB8000 		add	r0, r0, r0, lsl #2
 505 027a 00EB8000 		add	r0, r0, r0, lsl #2
 506 027e 6568     		ldr	r5, [r4, #4]
 507 0280 AD00     		lsls	r5, r5, #2
 508 0282 B0FBF5F5 		udiv	r5, r0, r5
 509 0286 274F     		ldr	r7, .L21+4
 510 0288 A7FB0535 		umull	r3, r5, r7, r5
 511 028c 6D09     		lsrs	r5, r5, #5
 512 028e 2E01     		lsls	r6, r5, #4
 513 0290 FFF7FEFF 		bl	HAL_RCC_GetPCLK2Freq
 514              	.LVL32:
 515 0294 00EB8000 		add	r0, r0, r0, lsl #2
 516 0298 00EB8000 		add	r0, r0, r0, lsl #2
 517 029c 6568     		ldr	r5, [r4, #4]
 518 029e AD00     		lsls	r5, r5, #2
 519 02a0 B0FBF5F5 		udiv	r5, r0, r5
 520 02a4 FFF7FEFF 		bl	HAL_RCC_GetPCLK2Freq
 521              	.LVL33:
 522 02a8 00EB8000 		add	r0, r0, r0, lsl #2
 523 02ac 00EB8000 		add	r0, r0, r0, lsl #2
 524 02b0 6368     		ldr	r3, [r4, #4]
 525 02b2 9B00     		lsls	r3, r3, #2
 526 02b4 B0FBF3F3 		udiv	r3, r0, r3
 527 02b8 A7FB0323 		umull	r2, r3, r7, r3
 528 02bc 5B09     		lsrs	r3, r3, #5
 529 02be 4FF06408 		mov	r8, #100
 530 02c2 08FB1353 		mls	r3, r8, r3, r5
 531 02c6 1B01     		lsls	r3, r3, #4
 532 02c8 3233     		adds	r3, r3, #50
 533 02ca A7FB0323 		umull	r2, r3, r7, r3
 534 02ce 5B09     		lsrs	r3, r3, #5
 535 02d0 03F0F003 		and	r3, r3, #240
 536 02d4 F518     		adds	r5, r6, r3
 537 02d6 FFF7FEFF 		bl	HAL_RCC_GetPCLK2Freq
 538              	.LVL34:
 539 02da 00EB8000 		add	r0, r0, r0, lsl #2
 540 02de 00EB8000 		add	r0, r0, r0, lsl #2
 541 02e2 6668     		ldr	r6, [r4, #4]
 542 02e4 B600     		lsls	r6, r6, #2
 543 02e6 B0FBF6F6 		udiv	r6, r0, r6
 544 02ea FFF7FEFF 		bl	HAL_RCC_GetPCLK2Freq
 545              	.LVL35:
 546 02ee 00EB8000 		add	r0, r0, r0, lsl #2
 547 02f2 00EB8000 		add	r0, r0, r0, lsl #2
 548 02f6 6368     		ldr	r3, [r4, #4]
 549 02f8 9B00     		lsls	r3, r3, #2
 550 02fa B0FBF3F0 		udiv	r0, r0, r3
 551 02fe A7FB0030 		umull	r3, r0, r7, r0
ARM GAS  /tmp/ccGtkZvD.s 			page 66


 552 0302 4009     		lsrs	r0, r0, #5
 553 0304 08FB1060 		mls	r0, r8, r0, r6
 554 0308 0001     		lsls	r0, r0, #4
 555 030a 3230     		adds	r0, r0, #50
 556 030c A7FB0037 		umull	r3, r7, r7, r0
 557 0310 C7F34317 		ubfx	r7, r7, #5, #4
3097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 558              		.loc 1 3097 12 view .LVU102
 559 0314 2368     		ldr	r3, [r4]
3097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 560              		.loc 1 3097 30 view .LVU103
 561 0316 2F44     		add	r7, r7, r5
3097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 562              		.loc 1 3097 28 view .LVU104
 563 0318 9F60     		str	r7, [r3, #8]
 564              	.L12:
 565              		.loc 1 3110 1 view .LVU105
 566 031a BDE8F883 		pop	{r3, r4, r5, r6, r7, r8, r9, pc}
 567              	.LVL36:
 568              	.L22:
 569              		.loc 1 3110 1 view .LVU106
 570 031e 00BF     		.align	2
 571              	.L21:
 572 0320 00100140 		.word	1073811456
 573 0324 1F85EB51 		.word	1374389535
 574              		.cfi_endproc
 575              	.LFE184:
 577              		.section	.text.UART_WaitOnFlagUntilTimeout,"ax",%progbits
 578              		.align	1
 579              		.syntax unified
 580              		.thumb
 581              		.thumb_func
 583              	UART_WaitOnFlagUntilTimeout:
 584              	.LVL37:
 585              	.LFB173:
2668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Wait until flag is set */
 586              		.loc 1 2668 1 is_stmt 1 view -0
 587              		.cfi_startproc
 588              		@ args = 4, pretend = 0, frame = 0
 589              		@ frame_needed = 0, uses_anonymous_args = 0
2668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Wait until flag is set */
 590              		.loc 1 2668 1 is_stmt 0 view .LVU108
 591 0000 2DE9F843 		push	{r3, r4, r5, r6, r7, r8, r9, lr}
 592              	.LCFI1:
 593              		.cfi_def_cfa_offset 32
 594              		.cfi_offset 3, -32
 595              		.cfi_offset 4, -28
 596              		.cfi_offset 5, -24
 597              		.cfi_offset 6, -20
 598              		.cfi_offset 7, -16
 599              		.cfi_offset 8, -12
 600              		.cfi_offset 9, -8
 601              		.cfi_offset 14, -4
 602 0004 0546     		mov	r5, r0
 603 0006 0F46     		mov	r7, r1
 604 0008 1646     		mov	r6, r2
 605 000a 9946     		mov	r9, r3
ARM GAS  /tmp/ccGtkZvD.s 			page 67


 606 000c DDF82080 		ldr	r8, [sp, #32]
2670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 607              		.loc 1 2670 3 is_stmt 1 view .LVU109
 608              	.LVL38:
 609              	.L25:
2670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 610              		.loc 1 2670 9 view .LVU110
2670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 611              		.loc 1 2670 11 is_stmt 0 view .LVU111
 612 0010 2C68     		ldr	r4, [r5]
 613 0012 2468     		ldr	r4, [r4]
2670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 614              		.loc 1 2670 50 view .LVU112
 615 0014 37EA0403 		bics	r3, r7, r4
 616 0018 0CBF     		ite	eq
 617 001a 4FF0010C 		moveq	ip, #1
 618 001e 4FF0000C 		movne	ip, #0
2670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 619              		.loc 1 2670 9 view .LVU113
 620 0022 B445     		cmp	ip, r6
 621 0024 1FD1     		bne	.L30
2673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 622              		.loc 1 2673 5 is_stmt 1 view .LVU114
2673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 623              		.loc 1 2673 8 is_stmt 0 view .LVU115
 624 0026 B8F1FF3F 		cmp	r8, #-1
 625 002a F1D0     		beq	.L25
2675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 626              		.loc 1 2675 7 is_stmt 1 view .LVU116
2675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 627              		.loc 1 2675 10 is_stmt 0 view .LVU117
 628 002c B8F1000F 		cmp	r8, #0
 629 0030 05D0     		beq	.L26
2675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 630              		.loc 1 2675 32 discriminator 1 view .LVU118
 631 0032 FFF7FEFF 		bl	HAL_GetTick
 632              	.LVL39:
2675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 633              		.loc 1 2675 46 discriminator 1 view .LVU119
 634 0036 A0EB0900 		sub	r0, r0, r9
2675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 635              		.loc 1 2675 27 discriminator 1 view .LVU120
 636 003a 4045     		cmp	r0, r8
 637 003c E8D9     		bls	.L25
 638              	.L26:
2678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
 639              		.loc 1 2678 9 is_stmt 1 view .LVU121
 640 003e 2A68     		ldr	r2, [r5]
 641 0040 D368     		ldr	r3, [r2, #12]
 642 0042 23F4D073 		bic	r3, r3, #416
 643 0046 D360     		str	r3, [r2, #12]
2679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 644              		.loc 1 2679 9 view .LVU122
 645 0048 2A68     		ldr	r2, [r5]
 646 004a 5369     		ldr	r3, [r2, #20]
 647 004c 23F00103 		bic	r3, r3, #1
 648 0050 5361     		str	r3, [r2, #20]
ARM GAS  /tmp/ccGtkZvD.s 			page 68


2681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->RxState = HAL_UART_STATE_READY;
 649              		.loc 1 2681 9 view .LVU123
2681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->RxState = HAL_UART_STATE_READY;
 650              		.loc 1 2681 24 is_stmt 0 view .LVU124
 651 0052 2023     		movs	r3, #32
 652 0054 85F83930 		strb	r3, [r5, #57]
2682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 653              		.loc 1 2682 9 is_stmt 1 view .LVU125
2682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 654              		.loc 1 2682 24 is_stmt 0 view .LVU126
 655 0058 85F83A30 		strb	r3, [r5, #58]
2685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 656              		.loc 1 2685 9 is_stmt 1 view .LVU127
2685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 657              		.loc 1 2685 9 view .LVU128
 658 005c 0023     		movs	r3, #0
 659 005e 85F83830 		strb	r3, [r5, #56]
2685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 660              		.loc 1 2685 9 view .LVU129
2687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 661              		.loc 1 2687 9 view .LVU130
2687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 662              		.loc 1 2687 16 is_stmt 0 view .LVU131
 663 0062 0320     		movs	r0, #3
 664 0064 00E0     		b	.L27
 665              	.L30:
2691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 666              		.loc 1 2691 10 view .LVU132
 667 0066 0020     		movs	r0, #0
 668              	.L27:
2692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 669              		.loc 1 2692 1 view .LVU133
 670 0068 BDE8F883 		pop	{r3, r4, r5, r6, r7, r8, r9, pc}
2692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 671              		.loc 1 2692 1 view .LVU134
 672              		.cfi_endproc
 673              	.LFE173:
 675              		.section	.text.HAL_UART_MspInit,"ax",%progbits
 676              		.align	1
 677              		.weak	HAL_UART_MspInit
 678              		.syntax unified
 679              		.thumb
 680              		.thumb_func
 682              	HAL_UART_MspInit:
 683              	.LVL40:
 684              	.LFB135:
 668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
 685              		.loc 1 668 1 is_stmt 1 view -0
 686              		.cfi_startproc
 687              		@ args = 0, pretend = 0, frame = 0
 688              		@ frame_needed = 0, uses_anonymous_args = 0
 689              		@ link register save eliminated.
 670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* NOTE: This function should not be modified, when the callback is needed,
 690              		.loc 1 670 3 view .LVU136
 674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 691              		.loc 1 674 1 is_stmt 0 view .LVU137
 692 0000 7047     		bx	lr
ARM GAS  /tmp/ccGtkZvD.s 			page 69


 693              		.cfi_endproc
 694              	.LFE135:
 696              		.section	.text.HAL_UART_Init,"ax",%progbits
 697              		.align	1
 698              		.global	HAL_UART_Init
 699              		.syntax unified
 700              		.thumb
 701              		.thumb_func
 703              	HAL_UART_Init:
 704              	.LVL41:
 705              	.LFB130:
 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check the UART handle allocation */
 706              		.loc 1 318 1 is_stmt 1 view -0
 707              		.cfi_startproc
 708              		@ args = 0, pretend = 0, frame = 0
 709              		@ frame_needed = 0, uses_anonymous_args = 0
 320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 710              		.loc 1 320 3 view .LVU139
 320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 711              		.loc 1 320 6 is_stmt 0 view .LVU140
 712 0000 58B3     		cbz	r0, .L35
 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check the UART handle allocation */
 713              		.loc 1 318 1 view .LVU141
 714 0002 10B5     		push	{r4, lr}
 715              	.LCFI2:
 716              		.cfi_def_cfa_offset 8
 717              		.cfi_offset 4, -8
 718              		.cfi_offset 14, -4
 719 0004 0446     		mov	r4, r0
 326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 720              		.loc 1 326 3 is_stmt 1 view .LVU142
 334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 721              		.loc 1 334 5 view .LVU143
 336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
 722              		.loc 1 336 3 view .LVU144
 337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 723              		.loc 1 337 3 view .LVU145
 339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 724              		.loc 1 339 3 view .LVU146
 339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 725              		.loc 1 339 12 is_stmt 0 view .LVU147
 726 0006 90F83930 		ldrb	r3, [r0, #57]	@ zero_extendqisi2
 339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 727              		.loc 1 339 6 view .LVU148
 728 000a 0BB3     		cbz	r3, .L40
 729              	.LVL42:
 730              	.L34:
 360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 731              		.loc 1 360 3 is_stmt 1 view .LVU149
 360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 732              		.loc 1 360 17 is_stmt 0 view .LVU150
 733 000c 2423     		movs	r3, #36
 734 000e 84F83930 		strb	r3, [r4, #57]
 363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 735              		.loc 1 363 3 is_stmt 1 view .LVU151
 736 0012 2268     		ldr	r2, [r4]
 737 0014 D368     		ldr	r3, [r2, #12]
ARM GAS  /tmp/ccGtkZvD.s 			page 70


 738 0016 23F40053 		bic	r3, r3, #8192
 739 001a D360     		str	r3, [r2, #12]
 366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 740              		.loc 1 366 3 view .LVU152
 741 001c 2046     		mov	r0, r4
 742 001e FFF7FEFF 		bl	UART_SetConfig
 743              	.LVL43:
 371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
 744              		.loc 1 371 3 view .LVU153
 745 0022 2268     		ldr	r2, [r4]
 746 0024 1369     		ldr	r3, [r2, #16]
 747 0026 23F49043 		bic	r3, r3, #18432
 748 002a 1361     		str	r3, [r2, #16]
 372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 749              		.loc 1 372 3 view .LVU154
 750 002c 2268     		ldr	r2, [r4]
 751 002e 5369     		ldr	r3, [r2, #20]
 752 0030 23F02A03 		bic	r3, r3, #42
 753 0034 5361     		str	r3, [r2, #20]
 375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 754              		.loc 1 375 3 view .LVU155
 755 0036 2268     		ldr	r2, [r4]
 756 0038 D368     		ldr	r3, [r2, #12]
 757 003a 43F40053 		orr	r3, r3, #8192
 758 003e D360     		str	r3, [r2, #12]
 378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
 759              		.loc 1 378 3 view .LVU156
 378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
 760              		.loc 1 378 20 is_stmt 0 view .LVU157
 761 0040 0020     		movs	r0, #0
 762 0042 E063     		str	r0, [r4, #60]
 379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
 763              		.loc 1 379 3 is_stmt 1 view .LVU158
 379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
 764              		.loc 1 379 17 is_stmt 0 view .LVU159
 765 0044 2023     		movs	r3, #32
 766 0046 84F83930 		strb	r3, [r4, #57]
 380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 767              		.loc 1 380 3 is_stmt 1 view .LVU160
 380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 768              		.loc 1 380 18 is_stmt 0 view .LVU161
 769 004a 84F83A30 		strb	r3, [r4, #58]
 382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 770              		.loc 1 382 3 is_stmt 1 view .LVU162
 383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 771              		.loc 1 383 1 is_stmt 0 view .LVU163
 772 004e 10BD     		pop	{r4, pc}
 773              	.LVL44:
 774              	.L40:
 342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 775              		.loc 1 342 5 is_stmt 1 view .LVU164
 342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 776              		.loc 1 342 17 is_stmt 0 view .LVU165
 777 0050 80F83830 		strb	r3, [r0, #56]
 356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
 778              		.loc 1 356 5 is_stmt 1 view .LVU166
 779 0054 FFF7FEFF 		bl	HAL_UART_MspInit
ARM GAS  /tmp/ccGtkZvD.s 			page 71


 780              	.LVL45:
 356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
 781              		.loc 1 356 5 is_stmt 0 view .LVU167
 782 0058 D8E7     		b	.L34
 783              	.LVL46:
 784              	.L35:
 785              	.LCFI3:
 786              		.cfi_def_cfa_offset 0
 787              		.cfi_restore 4
 788              		.cfi_restore 14
 322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 789              		.loc 1 322 12 view .LVU168
 790 005a 0120     		movs	r0, #1
 791              	.LVL47:
 383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 792              		.loc 1 383 1 view .LVU169
 793 005c 7047     		bx	lr
 794              		.cfi_endproc
 795              	.LFE130:
 797              		.section	.text.HAL_HalfDuplex_Init,"ax",%progbits
 798              		.align	1
 799              		.global	HAL_HalfDuplex_Init
 800              		.syntax unified
 801              		.thumb
 802              		.thumb_func
 804              	HAL_HalfDuplex_Init:
 805              	.LVL48:
 806              	.LFB131:
 393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check the UART handle allocation */
 807              		.loc 1 393 1 is_stmt 1 view -0
 808              		.cfi_startproc
 809              		@ args = 0, pretend = 0, frame = 0
 810              		@ frame_needed = 0, uses_anonymous_args = 0
 395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 811              		.loc 1 395 3 view .LVU171
 395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 812              		.loc 1 395 6 is_stmt 0 view .LVU172
 813 0000 0028     		cmp	r0, #0
 814 0002 30D0     		beq	.L44
 393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check the UART handle allocation */
 815              		.loc 1 393 1 view .LVU173
 816 0004 10B5     		push	{r4, lr}
 817              	.LCFI4:
 818              		.cfi_def_cfa_offset 8
 819              		.cfi_offset 4, -8
 820              		.cfi_offset 14, -4
 821 0006 0446     		mov	r4, r0
 401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
 822              		.loc 1 401 3 is_stmt 1 view .LVU174
 402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
 823              		.loc 1 402 3 view .LVU175
 403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 824              		.loc 1 403 3 view .LVU176
 405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 825              		.loc 1 405 3 view .LVU177
 405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 826              		.loc 1 405 12 is_stmt 0 view .LVU178
ARM GAS  /tmp/ccGtkZvD.s 			page 72


 827 0008 90F83930 		ldrb	r3, [r0, #57]	@ zero_extendqisi2
 405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 828              		.loc 1 405 6 view .LVU179
 829 000c 33B3     		cbz	r3, .L49
 830              	.LVL49:
 831              	.L43:
 426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 832              		.loc 1 426 3 is_stmt 1 view .LVU180
 426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 833              		.loc 1 426 17 is_stmt 0 view .LVU181
 834 000e 2423     		movs	r3, #36
 835 0010 84F83930 		strb	r3, [r4, #57]
 429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 836              		.loc 1 429 3 is_stmt 1 view .LVU182
 837 0014 2268     		ldr	r2, [r4]
 838 0016 D368     		ldr	r3, [r2, #12]
 839 0018 23F40053 		bic	r3, r3, #8192
 840 001c D360     		str	r3, [r2, #12]
 432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 841              		.loc 1 432 3 view .LVU183
 842 001e 2046     		mov	r0, r4
 843 0020 FFF7FEFF 		bl	UART_SetConfig
 844              	.LVL50:
 437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN));
 845              		.loc 1 437 3 view .LVU184
 846 0024 2268     		ldr	r2, [r4]
 847 0026 1369     		ldr	r3, [r2, #16]
 848 0028 23F49043 		bic	r3, r3, #18432
 849 002c 1361     		str	r3, [r2, #16]
 438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 850              		.loc 1 438 3 view .LVU185
 851 002e 2268     		ldr	r2, [r4]
 852 0030 5369     		ldr	r3, [r2, #20]
 853 0032 23F02203 		bic	r3, r3, #34
 854 0036 5361     		str	r3, [r2, #20]
 441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 855              		.loc 1 441 3 view .LVU186
 856 0038 2268     		ldr	r2, [r4]
 857 003a 5369     		ldr	r3, [r2, #20]
 858 003c 43F00803 		orr	r3, r3, #8
 859 0040 5361     		str	r3, [r2, #20]
 444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 860              		.loc 1 444 3 view .LVU187
 861 0042 2268     		ldr	r2, [r4]
 862 0044 D368     		ldr	r3, [r2, #12]
 863 0046 43F40053 		orr	r3, r3, #8192
 864 004a D360     		str	r3, [r2, #12]
 447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
 865              		.loc 1 447 3 view .LVU188
 447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
 866              		.loc 1 447 20 is_stmt 0 view .LVU189
 867 004c 0020     		movs	r0, #0
 868 004e E063     		str	r0, [r4, #60]
 448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
 869              		.loc 1 448 3 is_stmt 1 view .LVU190
 448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
 870              		.loc 1 448 17 is_stmt 0 view .LVU191
ARM GAS  /tmp/ccGtkZvD.s 			page 73


 871 0050 2023     		movs	r3, #32
 872 0052 84F83930 		strb	r3, [r4, #57]
 449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 873              		.loc 1 449 3 is_stmt 1 view .LVU192
 449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 874              		.loc 1 449 18 is_stmt 0 view .LVU193
 875 0056 84F83A30 		strb	r3, [r4, #58]
 451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 876              		.loc 1 451 3 is_stmt 1 view .LVU194
 452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 877              		.loc 1 452 1 is_stmt 0 view .LVU195
 878 005a 10BD     		pop	{r4, pc}
 879              	.LVL51:
 880              	.L49:
 408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 881              		.loc 1 408 5 is_stmt 1 view .LVU196
 408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 882              		.loc 1 408 17 is_stmt 0 view .LVU197
 883 005c 80F83830 		strb	r3, [r0, #56]
 422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
 884              		.loc 1 422 5 is_stmt 1 view .LVU198
 885 0060 FFF7FEFF 		bl	HAL_UART_MspInit
 886              	.LVL52:
 422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
 887              		.loc 1 422 5 is_stmt 0 view .LVU199
 888 0064 D3E7     		b	.L43
 889              	.LVL53:
 890              	.L44:
 891              	.LCFI5:
 892              		.cfi_def_cfa_offset 0
 893              		.cfi_restore 4
 894              		.cfi_restore 14
 397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 895              		.loc 1 397 12 view .LVU200
 896 0066 0120     		movs	r0, #1
 897              	.LVL54:
 452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 898              		.loc 1 452 1 view .LVU201
 899 0068 7047     		bx	lr
 900              		.cfi_endproc
 901              	.LFE131:
 903              		.section	.text.HAL_LIN_Init,"ax",%progbits
 904              		.align	1
 905              		.global	HAL_LIN_Init
 906              		.syntax unified
 907              		.thumb
 908              		.thumb_func
 910              	HAL_LIN_Init:
 911              	.LVL55:
 912              	.LFB132:
 466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check the UART handle allocation */
 913              		.loc 1 466 1 is_stmt 1 view -0
 914              		.cfi_startproc
 915              		@ args = 0, pretend = 0, frame = 0
 916              		@ frame_needed = 0, uses_anonymous_args = 0
 468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 917              		.loc 1 468 3 view .LVU203
ARM GAS  /tmp/ccGtkZvD.s 			page 74


 468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 918              		.loc 1 468 6 is_stmt 0 view .LVU204
 919 0000 0028     		cmp	r0, #0
 920 0002 3BD0     		beq	.L53
 466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check the UART handle allocation */
 921              		.loc 1 466 1 view .LVU205
 922 0004 38B5     		push	{r3, r4, r5, lr}
 923              	.LCFI6:
 924              		.cfi_def_cfa_offset 16
 925              		.cfi_offset 3, -16
 926              		.cfi_offset 4, -12
 927              		.cfi_offset 5, -8
 928              		.cfi_offset 14, -4
 929 0006 0D46     		mov	r5, r1
 930 0008 0446     		mov	r4, r0
 474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 931              		.loc 1 474 3 is_stmt 1 view .LVU206
 477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   assert_param(IS_UART_LIN_WORD_LENGTH(huart->Init.WordLength));
 932              		.loc 1 477 3 view .LVU207
 478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   assert_param(IS_UART_LIN_OVERSAMPLING(huart->Init.OverSampling));
 933              		.loc 1 478 3 view .LVU208
 479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 934              		.loc 1 479 3 view .LVU209
 481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 935              		.loc 1 481 3 view .LVU210
 481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 936              		.loc 1 481 12 is_stmt 0 view .LVU211
 937 000a 90F83930 		ldrb	r3, [r0, #57]	@ zero_extendqisi2
 481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 938              		.loc 1 481 6 view .LVU212
 939 000e 002B     		cmp	r3, #0
 940 0010 2FD0     		beq	.L58
 941              	.LVL56:
 942              	.L52:
 502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 943              		.loc 1 502 3 is_stmt 1 view .LVU213
 502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 944              		.loc 1 502 17 is_stmt 0 view .LVU214
 945 0012 2423     		movs	r3, #36
 946 0014 84F83930 		strb	r3, [r4, #57]
 505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 947              		.loc 1 505 3 is_stmt 1 view .LVU215
 948 0018 2268     		ldr	r2, [r4]
 949 001a D368     		ldr	r3, [r2, #12]
 950 001c 23F40053 		bic	r3, r3, #8192
 951 0020 D360     		str	r3, [r2, #12]
 508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 952              		.loc 1 508 3 view .LVU216
 953 0022 2046     		mov	r0, r4
 954 0024 FFF7FEFF 		bl	UART_SetConfig
 955              	.LVL57:
 513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN));
 956              		.loc 1 513 3 view .LVU217
 957 0028 2268     		ldr	r2, [r4]
 958 002a 1369     		ldr	r3, [r2, #16]
 959 002c 23F40063 		bic	r3, r3, #2048
 960 0030 1361     		str	r3, [r2, #16]
ARM GAS  /tmp/ccGtkZvD.s 			page 75


 514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 961              		.loc 1 514 3 view .LVU218
 962 0032 2268     		ldr	r2, [r4]
 963 0034 5369     		ldr	r3, [r2, #20]
 964 0036 23F02A03 		bic	r3, r3, #42
 965 003a 5361     		str	r3, [r2, #20]
 517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 966              		.loc 1 517 3 view .LVU219
 967 003c 2268     		ldr	r2, [r4]
 968 003e 1369     		ldr	r3, [r2, #16]
 969 0040 43F48043 		orr	r3, r3, #16384
 970 0044 1361     		str	r3, [r2, #16]
 520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   SET_BIT(huart->Instance->CR2, BreakDetectLength);
 971              		.loc 1 520 3 view .LVU220
 972 0046 2268     		ldr	r2, [r4]
 973 0048 1369     		ldr	r3, [r2, #16]
 974 004a 23F02003 		bic	r3, r3, #32
 975 004e 1361     		str	r3, [r2, #16]
 521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 976              		.loc 1 521 3 view .LVU221
 977 0050 2368     		ldr	r3, [r4]
 978 0052 1969     		ldr	r1, [r3, #16]
 979 0054 0D43     		orrs	r5, r5, r1
 980              	.LVL58:
 521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 981              		.loc 1 521 3 is_stmt 0 view .LVU222
 982 0056 1D61     		str	r5, [r3, #16]
 524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 983              		.loc 1 524 3 is_stmt 1 view .LVU223
 984 0058 2268     		ldr	r2, [r4]
 985 005a D368     		ldr	r3, [r2, #12]
 986 005c 43F40053 		orr	r3, r3, #8192
 987 0060 D360     		str	r3, [r2, #12]
 527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
 988              		.loc 1 527 3 view .LVU224
 527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
 989              		.loc 1 527 20 is_stmt 0 view .LVU225
 990 0062 0020     		movs	r0, #0
 991 0064 E063     		str	r0, [r4, #60]
 528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
 992              		.loc 1 528 3 is_stmt 1 view .LVU226
 528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
 993              		.loc 1 528 17 is_stmt 0 view .LVU227
 994 0066 2023     		movs	r3, #32
 995 0068 84F83930 		strb	r3, [r4, #57]
 529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 996              		.loc 1 529 3 is_stmt 1 view .LVU228
 529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 997              		.loc 1 529 18 is_stmt 0 view .LVU229
 998 006c 84F83A30 		strb	r3, [r4, #58]
 531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 999              		.loc 1 531 3 is_stmt 1 view .LVU230
 532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1000              		.loc 1 532 1 is_stmt 0 view .LVU231
 1001 0070 38BD     		pop	{r3, r4, r5, pc}
 1002              	.LVL59:
 1003              	.L58:
ARM GAS  /tmp/ccGtkZvD.s 			page 76


 484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1004              		.loc 1 484 5 is_stmt 1 view .LVU232
 484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1005              		.loc 1 484 17 is_stmt 0 view .LVU233
 1006 0072 80F83830 		strb	r3, [r0, #56]
 498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
 1007              		.loc 1 498 5 is_stmt 1 view .LVU234
 1008 0076 FFF7FEFF 		bl	HAL_UART_MspInit
 1009              	.LVL60:
 498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
 1010              		.loc 1 498 5 is_stmt 0 view .LVU235
 1011 007a CAE7     		b	.L52
 1012              	.LVL61:
 1013              	.L53:
 1014              	.LCFI7:
 1015              		.cfi_def_cfa_offset 0
 1016              		.cfi_restore 3
 1017              		.cfi_restore 4
 1018              		.cfi_restore 5
 1019              		.cfi_restore 14
 470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 1020              		.loc 1 470 12 view .LVU236
 1021 007c 0120     		movs	r0, #1
 1022              	.LVL62:
 532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1023              		.loc 1 532 1 view .LVU237
 1024 007e 7047     		bx	lr
 1025              		.cfi_endproc
 1026              	.LFE132:
 1028              		.section	.text.HAL_MultiProcessor_Init,"ax",%progbits
 1029              		.align	1
 1030              		.global	HAL_MultiProcessor_Init
 1031              		.syntax unified
 1032              		.thumb
 1033              		.thumb_func
 1035              	HAL_MultiProcessor_Init:
 1036              	.LVL63:
 1037              	.LFB133:
 547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check the UART handle allocation */
 1038              		.loc 1 547 1 is_stmt 1 view -0
 1039              		.cfi_startproc
 1040              		@ args = 0, pretend = 0, frame = 0
 1041              		@ frame_needed = 0, uses_anonymous_args = 0
 549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 1042              		.loc 1 549 3 view .LVU239
 549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 1043              		.loc 1 549 6 is_stmt 0 view .LVU240
 1044 0000 0028     		cmp	r0, #0
 1045 0002 40D0     		beq	.L62
 547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check the UART handle allocation */
 1046              		.loc 1 547 1 view .LVU241
 1047 0004 70B5     		push	{r4, r5, r6, lr}
 1048              	.LCFI8:
 1049              		.cfi_def_cfa_offset 16
 1050              		.cfi_offset 4, -16
 1051              		.cfi_offset 5, -12
 1052              		.cfi_offset 6, -8
ARM GAS  /tmp/ccGtkZvD.s 			page 77


 1053              		.cfi_offset 14, -4
 1054 0006 0D46     		mov	r5, r1
 1055 0008 1646     		mov	r6, r2
 1056 000a 0446     		mov	r4, r0
 555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1057              		.loc 1 555 3 is_stmt 1 view .LVU242
 558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   assert_param(IS_UART_ADDRESS(Address));
 1058              		.loc 1 558 3 view .LVU243
 559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
 1059              		.loc 1 559 3 view .LVU244
 560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
 1060              		.loc 1 560 3 view .LVU245
 561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1061              		.loc 1 561 3 view .LVU246
 563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 1062              		.loc 1 563 3 view .LVU247
 563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 1063              		.loc 1 563 12 is_stmt 0 view .LVU248
 1064 000c 90F83930 		ldrb	r3, [r0, #57]	@ zero_extendqisi2
 563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 1065              		.loc 1 563 6 view .LVU249
 1066 0010 002B     		cmp	r3, #0
 1067 0012 33D0     		beq	.L67
 1068              	.LVL64:
 1069              	.L61:
 584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1070              		.loc 1 584 3 is_stmt 1 view .LVU250
 584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1071              		.loc 1 584 17 is_stmt 0 view .LVU251
 1072 0014 2423     		movs	r3, #36
 1073 0016 84F83930 		strb	r3, [r4, #57]
 587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1074              		.loc 1 587 3 is_stmt 1 view .LVU252
 1075 001a 2268     		ldr	r2, [r4]
 1076 001c D368     		ldr	r3, [r2, #12]
 1077 001e 23F40053 		bic	r3, r3, #8192
 1078 0022 D360     		str	r3, [r2, #12]
 590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1079              		.loc 1 590 3 view .LVU253
 1080 0024 2046     		mov	r0, r4
 1081 0026 FFF7FEFF 		bl	UART_SetConfig
 1082              	.LVL65:
 595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
 1083              		.loc 1 595 3 view .LVU254
 1084 002a 2268     		ldr	r2, [r4]
 1085 002c 1369     		ldr	r3, [r2, #16]
 1086 002e 23F49043 		bic	r3, r3, #18432
 1087 0032 1361     		str	r3, [r2, #16]
 596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1088              		.loc 1 596 3 view .LVU255
 1089 0034 2268     		ldr	r2, [r4]
 1090 0036 5369     		ldr	r3, [r2, #20]
 1091 0038 23F02A03 		bic	r3, r3, #42
 1092 003c 5361     		str	r3, [r2, #20]
 599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   SET_BIT(huart->Instance->CR2, Address);
 1093              		.loc 1 599 3 view .LVU256
 1094 003e 2268     		ldr	r2, [r4]
ARM GAS  /tmp/ccGtkZvD.s 			page 78


 1095 0040 1369     		ldr	r3, [r2, #16]
 1096 0042 23F00F03 		bic	r3, r3, #15
 1097 0046 1361     		str	r3, [r2, #16]
 600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1098              		.loc 1 600 3 view .LVU257
 1099 0048 2368     		ldr	r3, [r4]
 1100 004a 1969     		ldr	r1, [r3, #16]
 1101 004c 0D43     		orrs	r5, r5, r1
 1102 004e 1D61     		str	r5, [r3, #16]
 603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   SET_BIT(huart->Instance->CR1, WakeUpMethod);
 1103              		.loc 1 603 3 view .LVU258
 1104 0050 2268     		ldr	r2, [r4]
 1105 0052 D368     		ldr	r3, [r2, #12]
 1106 0054 23F40063 		bic	r3, r3, #2048
 1107 0058 D360     		str	r3, [r2, #12]
 604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1108              		.loc 1 604 3 view .LVU259
 1109 005a 2368     		ldr	r3, [r4]
 1110 005c DA68     		ldr	r2, [r3, #12]
 1111 005e 1643     		orrs	r6, r6, r2
 1112              	.LVL66:
 604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1113              		.loc 1 604 3 is_stmt 0 view .LVU260
 1114 0060 DE60     		str	r6, [r3, #12]
 607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1115              		.loc 1 607 3 is_stmt 1 view .LVU261
 1116 0062 2268     		ldr	r2, [r4]
 1117 0064 D368     		ldr	r3, [r2, #12]
 1118 0066 43F40053 		orr	r3, r3, #8192
 1119 006a D360     		str	r3, [r2, #12]
 610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
 1120              		.loc 1 610 3 view .LVU262
 610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
 1121              		.loc 1 610 20 is_stmt 0 view .LVU263
 1122 006c 0020     		movs	r0, #0
 1123 006e E063     		str	r0, [r4, #60]
 611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
 1124              		.loc 1 611 3 is_stmt 1 view .LVU264
 611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
 1125              		.loc 1 611 17 is_stmt 0 view .LVU265
 1126 0070 2023     		movs	r3, #32
 1127 0072 84F83930 		strb	r3, [r4, #57]
 612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1128              		.loc 1 612 3 is_stmt 1 view .LVU266
 612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1129              		.loc 1 612 18 is_stmt 0 view .LVU267
 1130 0076 84F83A30 		strb	r3, [r4, #58]
 614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 1131              		.loc 1 614 3 is_stmt 1 view .LVU268
 615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1132              		.loc 1 615 1 is_stmt 0 view .LVU269
 1133 007a 70BD     		pop	{r4, r5, r6, pc}
 1134              	.LVL67:
 1135              	.L67:
 566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1136              		.loc 1 566 5 is_stmt 1 view .LVU270
 566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
ARM GAS  /tmp/ccGtkZvD.s 			page 79


 1137              		.loc 1 566 17 is_stmt 0 view .LVU271
 1138 007c 80F83830 		strb	r3, [r0, #56]
 580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
 1139              		.loc 1 580 5 is_stmt 1 view .LVU272
 1140 0080 FFF7FEFF 		bl	HAL_UART_MspInit
 1141              	.LVL68:
 580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
 1142              		.loc 1 580 5 is_stmt 0 view .LVU273
 1143 0084 C6E7     		b	.L61
 1144              	.LVL69:
 1145              	.L62:
 1146              	.LCFI9:
 1147              		.cfi_def_cfa_offset 0
 1148              		.cfi_restore 4
 1149              		.cfi_restore 5
 1150              		.cfi_restore 6
 1151              		.cfi_restore 14
 551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 1152              		.loc 1 551 12 view .LVU274
 1153 0086 0120     		movs	r0, #1
 1154              	.LVL70:
 615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1155              		.loc 1 615 1 view .LVU275
 1156 0088 7047     		bx	lr
 1157              		.cfi_endproc
 1158              	.LFE133:
 1160              		.section	.text.HAL_UART_MspDeInit,"ax",%progbits
 1161              		.align	1
 1162              		.weak	HAL_UART_MspDeInit
 1163              		.syntax unified
 1164              		.thumb
 1165              		.thumb_func
 1167              	HAL_UART_MspDeInit:
 1168              	.LVL71:
 1169              	.LFB136:
 683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
 1170              		.loc 1 683 1 is_stmt 1 view -0
 1171              		.cfi_startproc
 1172              		@ args = 0, pretend = 0, frame = 0
 1173              		@ frame_needed = 0, uses_anonymous_args = 0
 1174              		@ link register save eliminated.
 685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* NOTE: This function should not be modified, when the callback is needed,
 1175              		.loc 1 685 3 view .LVU277
 689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1176              		.loc 1 689 1 is_stmt 0 view .LVU278
 1177 0000 7047     		bx	lr
 1178              		.cfi_endproc
 1179              	.LFE136:
 1181              		.section	.text.HAL_UART_DeInit,"ax",%progbits
 1182              		.align	1
 1183              		.global	HAL_UART_DeInit
 1184              		.syntax unified
 1185              		.thumb
 1186              		.thumb_func
 1188              	HAL_UART_DeInit:
 1189              	.LVL72:
 1190              	.LFB134:
ARM GAS  /tmp/ccGtkZvD.s 			page 80


 624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check the UART handle allocation */
 1191              		.loc 1 624 1 is_stmt 1 view -0
 1192              		.cfi_startproc
 1193              		@ args = 0, pretend = 0, frame = 0
 1194              		@ frame_needed = 0, uses_anonymous_args = 0
 626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 1195              		.loc 1 626 3 view .LVU280
 626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 1196              		.loc 1 626 6 is_stmt 0 view .LVU281
 1197 0000 A0B1     		cbz	r0, .L71
 624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check the UART handle allocation */
 1198              		.loc 1 624 1 view .LVU282
 1199 0002 10B5     		push	{r4, lr}
 1200              	.LCFI10:
 1201              		.cfi_def_cfa_offset 8
 1202              		.cfi_offset 4, -8
 1203              		.cfi_offset 14, -4
 1204 0004 0446     		mov	r4, r0
 632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1205              		.loc 1 632 3 is_stmt 1 view .LVU283
 634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1206              		.loc 1 634 3 view .LVU284
 634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1207              		.loc 1 634 17 is_stmt 0 view .LVU285
 1208 0006 2423     		movs	r3, #36
 1209 0008 80F83930 		strb	r3, [r0, #57]
 637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1210              		.loc 1 637 3 is_stmt 1 view .LVU286
 1211 000c 0268     		ldr	r2, [r0]
 1212 000e D368     		ldr	r3, [r2, #12]
 1213 0010 23F40053 		bic	r3, r3, #8192
 1214 0014 D360     		str	r3, [r2, #12]
 648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
 1215              		.loc 1 648 3 view .LVU287
 1216 0016 FFF7FEFF 		bl	HAL_UART_MspDeInit
 1217              	.LVL73:
 651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_RESET;
 1218              		.loc 1 651 3 view .LVU288
 651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_RESET;
 1219              		.loc 1 651 20 is_stmt 0 view .LVU289
 1220 001a 0020     		movs	r0, #0
 1221 001c E063     		str	r0, [r4, #60]
 652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_RESET;
 1222              		.loc 1 652 3 is_stmt 1 view .LVU290
 652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_RESET;
 1223              		.loc 1 652 17 is_stmt 0 view .LVU291
 1224 001e 84F83900 		strb	r0, [r4, #57]
 653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1225              		.loc 1 653 3 is_stmt 1 view .LVU292
 653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1226              		.loc 1 653 18 is_stmt 0 view .LVU293
 1227 0022 84F83A00 		strb	r0, [r4, #58]
 656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1228              		.loc 1 656 3 is_stmt 1 view .LVU294
 656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1229              		.loc 1 656 3 view .LVU295
 1230 0026 84F83800 		strb	r0, [r4, #56]
ARM GAS  /tmp/ccGtkZvD.s 			page 81


 656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1231              		.loc 1 656 3 view .LVU296
 658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 1232              		.loc 1 658 3 view .LVU297
 659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1233              		.loc 1 659 1 is_stmt 0 view .LVU298
 1234 002a 10BD     		pop	{r4, pc}
 1235              	.LVL74:
 1236              	.L71:
 1237              	.LCFI11:
 1238              		.cfi_def_cfa_offset 0
 1239              		.cfi_restore 4
 1240              		.cfi_restore 14
 628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 1241              		.loc 1 628 12 view .LVU299
 1242 002c 0120     		movs	r0, #1
 1243              	.LVL75:
 659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1244              		.loc 1 659 1 view .LVU300
 1245 002e 7047     		bx	lr
 1246              		.cfi_endproc
 1247              	.LFE134:
 1249              		.section	.text.HAL_UART_Transmit,"ax",%progbits
 1250              		.align	1
 1251              		.global	HAL_UART_Transmit
 1252              		.syntax unified
 1253              		.thumb
 1254              		.thumb_func
 1256              	HAL_UART_Transmit:
 1257              	.LVL76:
 1258              	.LFB137:
1020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint16_t *tmp;
 1259              		.loc 1 1020 1 is_stmt 1 view -0
 1260              		.cfi_startproc
 1261              		@ args = 0, pretend = 0, frame = 0
 1262              		@ frame_needed = 0, uses_anonymous_args = 0
1020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint16_t *tmp;
 1263              		.loc 1 1020 1 is_stmt 0 view .LVU302
 1264 0000 2DE9F041 		push	{r4, r5, r6, r7, r8, lr}
 1265              	.LCFI12:
 1266              		.cfi_def_cfa_offset 24
 1267              		.cfi_offset 4, -24
 1268              		.cfi_offset 5, -20
 1269              		.cfi_offset 6, -16
 1270              		.cfi_offset 7, -12
 1271              		.cfi_offset 8, -8
 1272              		.cfi_offset 14, -4
 1273 0004 82B0     		sub	sp, sp, #8
 1274              	.LCFI13:
 1275              		.cfi_def_cfa_offset 32
 1276 0006 1E46     		mov	r6, r3
1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t tickstart = 0U;
 1277              		.loc 1 1021 3 is_stmt 1 view .LVU303
1022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1278              		.loc 1 1022 3 view .LVU304
 1279              	.LVL77:
1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
ARM GAS  /tmp/ccGtkZvD.s 			page 82


 1280              		.loc 1 1025 3 view .LVU305
1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 1281              		.loc 1 1025 12 is_stmt 0 view .LVU306
 1282 0008 90F83930 		ldrb	r3, [r0, #57]	@ zero_extendqisi2
 1283              	.LVL78:
1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 1284              		.loc 1 1025 12 view .LVU307
 1285 000c DBB2     		uxtb	r3, r3
1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 1286              		.loc 1 1025 6 view .LVU308
 1287 000e 202B     		cmp	r3, #32
 1288 0010 55D1     		bne	.L83
 1289 0012 0446     		mov	r4, r0
 1290 0014 0D46     		mov	r5, r1
 1291 0016 9046     		mov	r8, r2
1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 1292              		.loc 1 1027 5 is_stmt 1 view .LVU309
1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 1293              		.loc 1 1027 8 is_stmt 0 view .LVU310
 1294 0018 0029     		cmp	r1, #0
 1295 001a 54D0     		beq	.L84
1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 1296              		.loc 1 1027 25 discriminator 1 view .LVU311
 1297 001c 002A     		cmp	r2, #0
 1298 001e 54D0     		beq	.L85
1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1299              		.loc 1 1033 5 is_stmt 1 view .LVU312
1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1300              		.loc 1 1033 5 view .LVU313
 1301 0020 90F83830 		ldrb	r3, [r0, #56]	@ zero_extendqisi2
 1302 0024 012B     		cmp	r3, #1
 1303 0026 52D0     		beq	.L86
1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1304              		.loc 1 1033 5 discriminator 2 view .LVU314
 1305 0028 0123     		movs	r3, #1
 1306 002a 80F83830 		strb	r3, [r0, #56]
1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1307              		.loc 1 1033 5 discriminator 2 view .LVU315
1035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->gState = HAL_UART_STATE_BUSY_TX;
 1308              		.loc 1 1035 5 discriminator 2 view .LVU316
1035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->gState = HAL_UART_STATE_BUSY_TX;
 1309              		.loc 1 1035 22 is_stmt 0 discriminator 2 view .LVU317
 1310 002e 0023     		movs	r3, #0
 1311 0030 C363     		str	r3, [r0, #60]
1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1312              		.loc 1 1036 5 is_stmt 1 discriminator 2 view .LVU318
1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1313              		.loc 1 1036 19 is_stmt 0 discriminator 2 view .LVU319
 1314 0032 2123     		movs	r3, #33
 1315 0034 80F83930 		strb	r3, [r0, #57]
1039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1316              		.loc 1 1039 5 is_stmt 1 discriminator 2 view .LVU320
1039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1317              		.loc 1 1039 17 is_stmt 0 discriminator 2 view .LVU321
 1318 0038 FFF7FEFF 		bl	HAL_GetTick
 1319              	.LVL79:
1039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
ARM GAS  /tmp/ccGtkZvD.s 			page 83


 1320              		.loc 1 1039 17 discriminator 2 view .LVU322
 1321 003c 0746     		mov	r7, r0
 1322              	.LVL80:
1041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->TxXferCount = Size;
 1323              		.loc 1 1041 5 is_stmt 1 discriminator 2 view .LVU323
1041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->TxXferCount = Size;
 1324              		.loc 1 1041 23 is_stmt 0 discriminator 2 view .LVU324
 1325 003e A4F82480 		strh	r8, [r4, #36]	@ movhi
1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     while (huart->TxXferCount > 0U)
 1326              		.loc 1 1042 5 is_stmt 1 discriminator 2 view .LVU325
1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     while (huart->TxXferCount > 0U)
 1327              		.loc 1 1042 24 is_stmt 0 discriminator 2 view .LVU326
 1328 0042 A4F82680 		strh	r8, [r4, #38]	@ movhi
1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 1329              		.loc 1 1043 5 is_stmt 1 discriminator 2 view .LVU327
1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 1330              		.loc 1 1043 11 is_stmt 0 discriminator 2 view .LVU328
 1331 0046 10E0     		b	.L78
 1332              	.LVL81:
 1333              	.L92:
1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 1334              		.loc 1 1048 9 is_stmt 1 view .LVU329
1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 1335              		.loc 1 1048 13 is_stmt 0 view .LVU330
 1336 0048 0096     		str	r6, [sp]
 1337 004a 3B46     		mov	r3, r7
 1338 004c 0022     		movs	r2, #0
 1339 004e 8021     		movs	r1, #128
 1340 0050 2046     		mov	r0, r4
 1341 0052 FFF7FEFF 		bl	UART_WaitOnFlagUntilTimeout
 1342              	.LVL82:
1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 1343              		.loc 1 1048 12 view .LVU331
 1344 0056 0028     		cmp	r0, #0
 1345 0058 3BD1     		bne	.L87
1052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->Instance->DR = (*tmp & (uint16_t)0x01FF);
 1346              		.loc 1 1052 9 is_stmt 1 view .LVU332
 1347              	.LVL83:
1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         if (huart->Init.Parity == UART_PARITY_NONE)
 1348              		.loc 1 1053 9 view .LVU333
1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         if (huart->Init.Parity == UART_PARITY_NONE)
 1349              		.loc 1 1053 32 is_stmt 0 view .LVU334
 1350 005a 2B88     		ldrh	r3, [r5]
1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         if (huart->Init.Parity == UART_PARITY_NONE)
 1351              		.loc 1 1053 14 view .LVU335
 1352 005c 2268     		ldr	r2, [r4]
1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         if (huart->Init.Parity == UART_PARITY_NONE)
 1353              		.loc 1 1053 37 view .LVU336
 1354 005e C3F30803 		ubfx	r3, r3, #0, #9
1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         if (huart->Init.Parity == UART_PARITY_NONE)
 1355              		.loc 1 1053 29 view .LVU337
 1356 0062 5360     		str	r3, [r2, #4]
1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 1357              		.loc 1 1054 9 is_stmt 1 view .LVU338
1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 1358              		.loc 1 1054 24 is_stmt 0 view .LVU339
 1359 0064 2369     		ldr	r3, [r4, #16]
ARM GAS  /tmp/ccGtkZvD.s 			page 84


1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 1360              		.loc 1 1054 12 view .LVU340
 1361 0066 CBB9     		cbnz	r3, .L80
1056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
 1362              		.loc 1 1056 11 is_stmt 1 view .LVU341
1056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
 1363              		.loc 1 1056 17 is_stmt 0 view .LVU342
 1364 0068 0235     		adds	r5, r5, #2
 1365              	.LVL84:
 1366              	.L78:
1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 1367              		.loc 1 1043 11 is_stmt 1 view .LVU343
1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 1368              		.loc 1 1043 17 is_stmt 0 view .LVU344
 1369 006a E38C     		ldrh	r3, [r4, #38]
 1370 006c 9BB2     		uxth	r3, r3
1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 1371              		.loc 1 1043 11 view .LVU345
 1372 006e BBB1     		cbz	r3, .L91
1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       if (huart->Init.WordLength == UART_WORDLENGTH_9B)
 1373              		.loc 1 1045 7 is_stmt 1 view .LVU346
1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       if (huart->Init.WordLength == UART_WORDLENGTH_9B)
 1374              		.loc 1 1045 12 is_stmt 0 view .LVU347
 1375 0070 E28C     		ldrh	r2, [r4, #38]
 1376 0072 92B2     		uxth	r2, r2
1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       if (huart->Init.WordLength == UART_WORDLENGTH_9B)
 1377              		.loc 1 1045 25 view .LVU348
 1378 0074 013A     		subs	r2, r2, #1
 1379 0076 92B2     		uxth	r2, r2
 1380 0078 E284     		strh	r2, [r4, #38]	@ movhi
1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 1381              		.loc 1 1046 7 is_stmt 1 view .LVU349
1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 1382              		.loc 1 1046 22 is_stmt 0 view .LVU350
 1383 007a A368     		ldr	r3, [r4, #8]
1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 1384              		.loc 1 1046 10 view .LVU351
 1385 007c B3F5805F 		cmp	r3, #4096
 1386 0080 E2D0     		beq	.L92
1065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 1387              		.loc 1 1065 9 is_stmt 1 view .LVU352
1065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 1388              		.loc 1 1065 13 is_stmt 0 view .LVU353
 1389 0082 0096     		str	r6, [sp]
 1390 0084 3B46     		mov	r3, r7
 1391 0086 0022     		movs	r2, #0
 1392 0088 8021     		movs	r1, #128
 1393 008a 2046     		mov	r0, r4
 1394 008c FFF7FEFF 		bl	UART_WaitOnFlagUntilTimeout
 1395              	.LVL85:
1065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 1396              		.loc 1 1065 12 view .LVU354
 1397 0090 08BB     		cbnz	r0, .L88
1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 1398              		.loc 1 1069 9 is_stmt 1 view .LVU355
 1399              	.LVL86:
1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
ARM GAS  /tmp/ccGtkZvD.s 			page 85


 1400              		.loc 1 1069 32 is_stmt 0 view .LVU356
 1401 0092 15F8012B 		ldrb	r2, [r5], #1	@ zero_extendqisi2
 1402              	.LVL87:
1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 1403              		.loc 1 1069 14 view .LVU357
 1404 0096 2368     		ldr	r3, [r4]
1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 1405              		.loc 1 1069 29 view .LVU358
 1406 0098 5A60     		str	r2, [r3, #4]
 1407 009a E6E7     		b	.L78
 1408              	.LVL88:
 1409              	.L80:
1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
 1410              		.loc 1 1060 11 is_stmt 1 view .LVU359
1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
 1411              		.loc 1 1060 17 is_stmt 0 view .LVU360
 1412 009c 0135     		adds	r5, r5, #1
 1413              	.LVL89:
1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
 1414              		.loc 1 1060 17 view .LVU361
 1415 009e E4E7     		b	.L78
 1416              	.LVL90:
 1417              	.L91:
1073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 1418              		.loc 1 1073 5 is_stmt 1 view .LVU362
1073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 1419              		.loc 1 1073 9 is_stmt 0 view .LVU363
 1420 00a0 0096     		str	r6, [sp]
 1421 00a2 3B46     		mov	r3, r7
 1422 00a4 0022     		movs	r2, #0
 1423 00a6 4021     		movs	r1, #64
 1424 00a8 2046     		mov	r0, r4
 1425 00aa FFF7FEFF 		bl	UART_WaitOnFlagUntilTimeout
 1426              	.LVL91:
1073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 1427              		.loc 1 1073 8 view .LVU364
 1428 00ae A0B9     		cbnz	r0, .L89
1079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1429              		.loc 1 1079 5 is_stmt 1 view .LVU365
1079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1430              		.loc 1 1079 19 is_stmt 0 view .LVU366
 1431 00b0 2023     		movs	r3, #32
 1432 00b2 84F83930 		strb	r3, [r4, #57]
1082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1433              		.loc 1 1082 5 is_stmt 1 view .LVU367
1082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1434              		.loc 1 1082 5 view .LVU368
 1435 00b6 0023     		movs	r3, #0
 1436 00b8 84F83830 		strb	r3, [r4, #56]
1082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1437              		.loc 1 1082 5 view .LVU369
1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 1438              		.loc 1 1084 5 view .LVU370
1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 1439              		.loc 1 1084 12 is_stmt 0 view .LVU371
 1440 00bc 00E0     		b	.L77
 1441              	.LVL92:
ARM GAS  /tmp/ccGtkZvD.s 			page 86


 1442              	.L83:
1088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 1443              		.loc 1 1088 12 view .LVU372
 1444 00be 0220     		movs	r0, #2
 1445              	.LVL93:
 1446              	.L77:
1090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1447              		.loc 1 1090 1 view .LVU373
 1448 00c0 02B0     		add	sp, sp, #8
 1449              	.LCFI14:
 1450              		.cfi_remember_state
 1451              		.cfi_def_cfa_offset 24
 1452              		@ sp needed
 1453 00c2 BDE8F081 		pop	{r4, r5, r6, r7, r8, pc}
 1454              	.LVL94:
 1455              	.L84:
 1456              	.LCFI15:
 1457              		.cfi_restore_state
1029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 1458              		.loc 1 1029 15 view .LVU374
 1459 00c6 0120     		movs	r0, #1
 1460              	.LVL95:
1029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 1461              		.loc 1 1029 15 view .LVU375
 1462 00c8 FAE7     		b	.L77
 1463              	.LVL96:
 1464              	.L85:
1029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 1465              		.loc 1 1029 15 view .LVU376
 1466 00ca 0120     		movs	r0, #1
 1467              	.LVL97:
1029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 1468              		.loc 1 1029 15 view .LVU377
 1469 00cc F8E7     		b	.L77
 1470              	.LVL98:
 1471              	.L86:
1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1472              		.loc 1 1033 5 view .LVU378
 1473 00ce 0220     		movs	r0, #2
 1474              	.LVL99:
1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1475              		.loc 1 1033 5 view .LVU379
 1476 00d0 F6E7     		b	.L77
 1477              	.LVL100:
 1478              	.L87:
1050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
 1479              		.loc 1 1050 18 view .LVU380
 1480 00d2 0320     		movs	r0, #3
 1481 00d4 F4E7     		b	.L77
 1482              	.L88:
1067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
 1483              		.loc 1 1067 18 view .LVU381
 1484 00d6 0320     		movs	r0, #3
 1485 00d8 F2E7     		b	.L77
 1486              	.L89:
1075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 1487              		.loc 1 1075 14 view .LVU382
ARM GAS  /tmp/ccGtkZvD.s 			page 87


 1488 00da 0320     		movs	r0, #3
 1489 00dc F0E7     		b	.L77
 1490              		.cfi_endproc
 1491              	.LFE137:
 1493              		.section	.text.HAL_UART_Receive,"ax",%progbits
 1494              		.align	1
 1495              		.global	HAL_UART_Receive
 1496              		.syntax unified
 1497              		.thumb
 1498              		.thumb_func
 1500              	HAL_UART_Receive:
 1501              	.LVL101:
 1502              	.LFB138:
1102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint16_t *tmp;
 1503              		.loc 1 1102 1 is_stmt 1 view -0
 1504              		.cfi_startproc
 1505              		@ args = 0, pretend = 0, frame = 0
 1506              		@ frame_needed = 0, uses_anonymous_args = 0
1102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint16_t *tmp;
 1507              		.loc 1 1102 1 is_stmt 0 view .LVU384
 1508 0000 2DE9F041 		push	{r4, r5, r6, r7, r8, lr}
 1509              	.LCFI16:
 1510              		.cfi_def_cfa_offset 24
 1511              		.cfi_offset 4, -24
 1512              		.cfi_offset 5, -20
 1513              		.cfi_offset 6, -16
 1514              		.cfi_offset 7, -12
 1515              		.cfi_offset 8, -8
 1516              		.cfi_offset 14, -4
 1517 0004 82B0     		sub	sp, sp, #8
 1518              	.LCFI17:
 1519              		.cfi_def_cfa_offset 32
 1520 0006 1E46     		mov	r6, r3
1103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t tickstart = 0U;
 1521              		.loc 1 1103 3 is_stmt 1 view .LVU385
1104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1522              		.loc 1 1104 3 view .LVU386
 1523              	.LVL102:
1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 1524              		.loc 1 1107 3 view .LVU387
1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 1525              		.loc 1 1107 12 is_stmt 0 view .LVU388
 1526 0008 90F83A30 		ldrb	r3, [r0, #58]	@ zero_extendqisi2
 1527              	.LVL103:
1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 1528              		.loc 1 1107 12 view .LVU389
 1529 000c DBB2     		uxtb	r3, r3
1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 1530              		.loc 1 1107 6 view .LVU390
 1531 000e 202B     		cmp	r3, #32
 1532 0010 5BD1     		bne	.L101
 1533 0012 0446     		mov	r4, r0
 1534 0014 0D46     		mov	r5, r1
 1535 0016 9046     		mov	r8, r2
1109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 1536              		.loc 1 1109 5 is_stmt 1 view .LVU391
1109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
ARM GAS  /tmp/ccGtkZvD.s 			page 88


 1537              		.loc 1 1109 8 is_stmt 0 view .LVU392
 1538 0018 0029     		cmp	r1, #0
 1539 001a 5AD0     		beq	.L102
1109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 1540              		.loc 1 1109 25 discriminator 1 view .LVU393
 1541 001c 002A     		cmp	r2, #0
 1542 001e 5AD0     		beq	.L103
1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1543              		.loc 1 1115 5 is_stmt 1 view .LVU394
1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1544              		.loc 1 1115 5 view .LVU395
 1545 0020 90F83830 		ldrb	r3, [r0, #56]	@ zero_extendqisi2
 1546 0024 012B     		cmp	r3, #1
 1547 0026 58D0     		beq	.L104
1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1548              		.loc 1 1115 5 discriminator 2 view .LVU396
 1549 0028 0123     		movs	r3, #1
 1550 002a 80F83830 		strb	r3, [r0, #56]
1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1551              		.loc 1 1115 5 discriminator 2 view .LVU397
1117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxState = HAL_UART_STATE_BUSY_RX;
 1552              		.loc 1 1117 5 discriminator 2 view .LVU398
1117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxState = HAL_UART_STATE_BUSY_RX;
 1553              		.loc 1 1117 22 is_stmt 0 discriminator 2 view .LVU399
 1554 002e 0023     		movs	r3, #0
 1555 0030 C363     		str	r3, [r0, #60]
1118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1556              		.loc 1 1118 5 is_stmt 1 discriminator 2 view .LVU400
1118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1557              		.loc 1 1118 20 is_stmt 0 discriminator 2 view .LVU401
 1558 0032 2223     		movs	r3, #34
 1559 0034 80F83A30 		strb	r3, [r0, #58]
1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1560              		.loc 1 1121 5 is_stmt 1 discriminator 2 view .LVU402
1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1561              		.loc 1 1121 17 is_stmt 0 discriminator 2 view .LVU403
 1562 0038 FFF7FEFF 		bl	HAL_GetTick
 1563              	.LVL104:
1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1564              		.loc 1 1121 17 discriminator 2 view .LVU404
 1565 003c 0746     		mov	r7, r0
 1566              	.LVL105:
1123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxXferCount = Size;
 1567              		.loc 1 1123 5 is_stmt 1 discriminator 2 view .LVU405
1123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxXferCount = Size;
 1568              		.loc 1 1123 23 is_stmt 0 discriminator 2 view .LVU406
 1569 003e A4F82C80 		strh	r8, [r4, #44]	@ movhi
1124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1570              		.loc 1 1124 5 is_stmt 1 discriminator 2 view .LVU407
1124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1571              		.loc 1 1124 24 is_stmt 0 discriminator 2 view .LVU408
 1572 0042 A4F82E80 		strh	r8, [r4, #46]	@ movhi
1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 1573              		.loc 1 1127 5 is_stmt 1 discriminator 2 view .LVU409
1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 1574              		.loc 1 1127 11 is_stmt 0 discriminator 2 view .LVU410
 1575 0046 1DE0     		b	.L95
ARM GAS  /tmp/ccGtkZvD.s 			page 89


 1576              	.LVL106:
 1577              	.L109:
1132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 1578              		.loc 1 1132 9 is_stmt 1 view .LVU411
1132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 1579              		.loc 1 1132 13 is_stmt 0 view .LVU412
 1580 0048 0096     		str	r6, [sp]
 1581 004a 3B46     		mov	r3, r7
 1582 004c 0022     		movs	r2, #0
 1583 004e 2021     		movs	r1, #32
 1584 0050 2046     		mov	r0, r4
 1585 0052 FFF7FEFF 		bl	UART_WaitOnFlagUntilTimeout
 1586              	.LVL107:
1132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 1587              		.loc 1 1132 12 view .LVU413
 1588 0056 0028     		cmp	r0, #0
 1589 0058 41D1     		bne	.L105
1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         if (huart->Init.Parity == UART_PARITY_NONE)
 1590              		.loc 1 1136 9 is_stmt 1 view .LVU414
 1591              	.LVL108:
1137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 1592              		.loc 1 1137 9 view .LVU415
1137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 1593              		.loc 1 1137 24 is_stmt 0 view .LVU416
 1594 005a 2369     		ldr	r3, [r4, #16]
1137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 1595              		.loc 1 1137 12 view .LVU417
 1596 005c 33B9     		cbnz	r3, .L97
1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           pData += 2U;
 1597              		.loc 1 1139 11 is_stmt 1 view .LVU418
1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           pData += 2U;
 1598              		.loc 1 1139 34 is_stmt 0 view .LVU419
 1599 005e 2368     		ldr	r3, [r4]
1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           pData += 2U;
 1600              		.loc 1 1139 44 view .LVU420
 1601 0060 5B68     		ldr	r3, [r3, #4]
1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           pData += 2U;
 1602              		.loc 1 1139 18 view .LVU421
 1603 0062 C3F30803 		ubfx	r3, r3, #0, #9
1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           pData += 2U;
 1604              		.loc 1 1139 16 view .LVU422
 1605 0066 25F8023B 		strh	r3, [r5], #2	@ movhi
 1606              	.LVL109:
1140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
 1607              		.loc 1 1140 11 is_stmt 1 view .LVU423
1140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
 1608              		.loc 1 1140 11 is_stmt 0 view .LVU424
 1609 006a 0BE0     		b	.L95
 1610              	.LVL110:
 1611              	.L97:
1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           pData += 1U;
 1612              		.loc 1 1144 11 is_stmt 1 view .LVU425
1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           pData += 1U;
 1613              		.loc 1 1144 34 is_stmt 0 view .LVU426
 1614 006c 2368     		ldr	r3, [r4]
1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           pData += 1U;
 1615              		.loc 1 1144 44 view .LVU427
ARM GAS  /tmp/ccGtkZvD.s 			page 90


 1616 006e 5B68     		ldr	r3, [r3, #4]
1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           pData += 1U;
 1617              		.loc 1 1144 18 view .LVU428
 1618 0070 DBB2     		uxtb	r3, r3
1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           pData += 1U;
 1619              		.loc 1 1144 16 view .LVU429
 1620 0072 25F8013B 		strh	r3, [r5], #1	@ movhi
 1621              	.LVL111:
1145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
 1622              		.loc 1 1145 11 is_stmt 1 view .LVU430
1145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
 1623              		.loc 1 1145 11 is_stmt 0 view .LVU431
 1624 0076 05E0     		b	.L95
 1625              	.LVL112:
 1626              	.L99:
1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
 1627              		.loc 1 1161 11 is_stmt 1 view .LVU432
1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
 1628              		.loc 1 1161 37 is_stmt 0 view .LVU433
 1629 0078 2368     		ldr	r3, [r4]
1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
 1630              		.loc 1 1161 47 view .LVU434
 1631 007a 5B68     		ldr	r3, [r3, #4]
 1632              	.LVL113:
1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
 1633              		.loc 1 1161 22 view .LVU435
 1634 007c 03F07F03 		and	r3, r3, #127
1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
 1635              		.loc 1 1161 20 view .LVU436
 1636 0080 05F8013B 		strb	r3, [r5], #1
 1637              	.LVL114:
 1638              	.L95:
1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 1639              		.loc 1 1127 11 is_stmt 1 view .LVU437
1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 1640              		.loc 1 1127 17 is_stmt 0 view .LVU438
 1641 0084 E38D     		ldrh	r3, [r4, #46]
 1642 0086 9BB2     		uxth	r3, r3
1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 1643              		.loc 1 1127 11 view .LVU439
 1644 0088 C3B1     		cbz	r3, .L108
1129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       if (huart->Init.WordLength == UART_WORDLENGTH_9B)
 1645              		.loc 1 1129 7 is_stmt 1 view .LVU440
1129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       if (huart->Init.WordLength == UART_WORDLENGTH_9B)
 1646              		.loc 1 1129 12 is_stmt 0 view .LVU441
 1647 008a E28D     		ldrh	r2, [r4, #46]
 1648 008c 92B2     		uxth	r2, r2
1129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       if (huart->Init.WordLength == UART_WORDLENGTH_9B)
 1649              		.loc 1 1129 25 view .LVU442
 1650 008e 013A     		subs	r2, r2, #1
 1651 0090 92B2     		uxth	r2, r2
 1652 0092 E285     		strh	r2, [r4, #46]	@ movhi
1130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 1653              		.loc 1 1130 7 is_stmt 1 view .LVU443
1130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 1654              		.loc 1 1130 22 is_stmt 0 view .LVU444
 1655 0094 A368     		ldr	r3, [r4, #8]
ARM GAS  /tmp/ccGtkZvD.s 			page 91


1130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 1656              		.loc 1 1130 10 view .LVU445
 1657 0096 B3F5805F 		cmp	r3, #4096
 1658 009a D5D0     		beq	.L109
1151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 1659              		.loc 1 1151 9 is_stmt 1 view .LVU446
1151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 1660              		.loc 1 1151 13 is_stmt 0 view .LVU447
 1661 009c 0096     		str	r6, [sp]
 1662 009e 3B46     		mov	r3, r7
 1663 00a0 0022     		movs	r2, #0
 1664 00a2 2021     		movs	r1, #32
 1665 00a4 2046     		mov	r0, r4
 1666 00a6 FFF7FEFF 		bl	UART_WaitOnFlagUntilTimeout
 1667              	.LVL115:
1151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 1668              		.loc 1 1151 12 view .LVU448
 1669 00aa D0B9     		cbnz	r0, .L106
1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 1670              		.loc 1 1155 9 is_stmt 1 view .LVU449
1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 1671              		.loc 1 1155 24 is_stmt 0 view .LVU450
 1672 00ac 2369     		ldr	r3, [r4, #16]
1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 1673              		.loc 1 1155 12 view .LVU451
 1674 00ae 002B     		cmp	r3, #0
 1675 00b0 E2D1     		bne	.L99
1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
 1676              		.loc 1 1157 11 is_stmt 1 view .LVU452
1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
 1677              		.loc 1 1157 37 is_stmt 0 view .LVU453
 1678 00b2 2368     		ldr	r3, [r4]
1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
 1679              		.loc 1 1157 47 view .LVU454
 1680 00b4 5B68     		ldr	r3, [r3, #4]
 1681              	.LVL116:
1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
 1682              		.loc 1 1157 20 view .LVU455
 1683 00b6 05F8013B 		strb	r3, [r5], #1
 1684              	.LVL117:
1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
 1685              		.loc 1 1157 20 view .LVU456
 1686 00ba E3E7     		b	.L95
 1687              	.L108:
1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1688              		.loc 1 1168 5 is_stmt 1 view .LVU457
1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1689              		.loc 1 1168 20 is_stmt 0 view .LVU458
 1690 00bc 2023     		movs	r3, #32
 1691 00be 84F83A30 		strb	r3, [r4, #58]
1171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1692              		.loc 1 1171 5 is_stmt 1 view .LVU459
1171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1693              		.loc 1 1171 5 view .LVU460
 1694 00c2 0020     		movs	r0, #0
 1695 00c4 84F83800 		strb	r0, [r4, #56]
1171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
ARM GAS  /tmp/ccGtkZvD.s 			page 92


 1696              		.loc 1 1171 5 view .LVU461
1173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 1697              		.loc 1 1173 5 view .LVU462
1173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 1698              		.loc 1 1173 12 is_stmt 0 view .LVU463
 1699 00c8 00E0     		b	.L94
 1700              	.LVL118:
 1701              	.L101:
1177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 1702              		.loc 1 1177 12 view .LVU464
 1703 00ca 0220     		movs	r0, #2
 1704              	.LVL119:
 1705              	.L94:
1179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1706              		.loc 1 1179 1 view .LVU465
 1707 00cc 02B0     		add	sp, sp, #8
 1708              	.LCFI18:
 1709              		.cfi_remember_state
 1710              		.cfi_def_cfa_offset 24
 1711              		@ sp needed
 1712 00ce BDE8F081 		pop	{r4, r5, r6, r7, r8, pc}
 1713              	.LVL120:
 1714              	.L102:
 1715              	.LCFI19:
 1716              		.cfi_restore_state
1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 1717              		.loc 1 1111 15 view .LVU466
 1718 00d2 0120     		movs	r0, #1
 1719              	.LVL121:
1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 1720              		.loc 1 1111 15 view .LVU467
 1721 00d4 FAE7     		b	.L94
 1722              	.LVL122:
 1723              	.L103:
1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 1724              		.loc 1 1111 15 view .LVU468
 1725 00d6 0120     		movs	r0, #1
 1726              	.LVL123:
1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 1727              		.loc 1 1111 15 view .LVU469
 1728 00d8 F8E7     		b	.L94
 1729              	.LVL124:
 1730              	.L104:
1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1731              		.loc 1 1115 5 view .LVU470
 1732 00da 0220     		movs	r0, #2
 1733              	.LVL125:
1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1734              		.loc 1 1115 5 view .LVU471
 1735 00dc F6E7     		b	.L94
 1736              	.LVL126:
 1737              	.L105:
1134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
 1738              		.loc 1 1134 18 view .LVU472
 1739 00de 0320     		movs	r0, #3
 1740 00e0 F4E7     		b	.L94
 1741              	.L106:
ARM GAS  /tmp/ccGtkZvD.s 			page 93


1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
 1742              		.loc 1 1153 18 view .LVU473
 1743 00e2 0320     		movs	r0, #3
 1744 00e4 F2E7     		b	.L94
 1745              		.cfi_endproc
 1746              	.LFE138:
 1748              		.section	.text.HAL_UART_Transmit_IT,"ax",%progbits
 1749              		.align	1
 1750              		.global	HAL_UART_Transmit_IT
 1751              		.syntax unified
 1752              		.thumb
 1753              		.thumb_func
 1755              	HAL_UART_Transmit_IT:
 1756              	.LVL127:
 1757              	.LFB139:
1190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check that a Tx process is not already ongoing */
 1758              		.loc 1 1190 1 is_stmt 1 view -0
 1759              		.cfi_startproc
 1760              		@ args = 0, pretend = 0, frame = 0
 1761              		@ frame_needed = 0, uses_anonymous_args = 0
 1762              		@ link register save eliminated.
1192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 1763              		.loc 1 1192 3 view .LVU475
1192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 1764              		.loc 1 1192 12 is_stmt 0 view .LVU476
 1765 0000 90F83930 		ldrb	r3, [r0, #57]	@ zero_extendqisi2
 1766 0004 DBB2     		uxtb	r3, r3
1192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 1767              		.loc 1 1192 6 view .LVU477
 1768 0006 202B     		cmp	r3, #32
 1769 0008 19D1     		bne	.L112
1194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 1770              		.loc 1 1194 5 is_stmt 1 view .LVU478
1194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 1771              		.loc 1 1194 8 is_stmt 0 view .LVU479
 1772 000a D1B1     		cbz	r1, .L113
1194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 1773              		.loc 1 1194 25 discriminator 1 view .LVU480
 1774 000c DAB1     		cbz	r2, .L114
1200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1775              		.loc 1 1200 5 is_stmt 1 view .LVU481
1200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1776              		.loc 1 1200 5 view .LVU482
 1777 000e 90F83830 		ldrb	r3, [r0, #56]	@ zero_extendqisi2
 1778 0012 012B     		cmp	r3, #1
 1779 0014 19D0     		beq	.L115
1200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1780              		.loc 1 1200 5 discriminator 2 view .LVU483
 1781 0016 0123     		movs	r3, #1
 1782 0018 80F83830 		strb	r3, [r0, #56]
1200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1783              		.loc 1 1200 5 discriminator 2 view .LVU484
1202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->TxXferSize = Size;
 1784              		.loc 1 1202 5 discriminator 2 view .LVU485
1202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->TxXferSize = Size;
 1785              		.loc 1 1202 23 is_stmt 0 discriminator 2 view .LVU486
 1786 001c 0162     		str	r1, [r0, #32]
ARM GAS  /tmp/ccGtkZvD.s 			page 94


1203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->TxXferCount = Size;
 1787              		.loc 1 1203 5 is_stmt 1 discriminator 2 view .LVU487
1203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->TxXferCount = Size;
 1788              		.loc 1 1203 23 is_stmt 0 discriminator 2 view .LVU488
 1789 001e 8284     		strh	r2, [r0, #36]	@ movhi
1204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1790              		.loc 1 1204 5 is_stmt 1 discriminator 2 view .LVU489
1204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1791              		.loc 1 1204 24 is_stmt 0 discriminator 2 view .LVU490
 1792 0020 C284     		strh	r2, [r0, #38]	@ movhi
1206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->gState = HAL_UART_STATE_BUSY_TX;
 1793              		.loc 1 1206 5 is_stmt 1 discriminator 2 view .LVU491
1206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->gState = HAL_UART_STATE_BUSY_TX;
 1794              		.loc 1 1206 22 is_stmt 0 discriminator 2 view .LVU492
 1795 0022 0023     		movs	r3, #0
 1796 0024 C363     		str	r3, [r0, #60]
1207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1797              		.loc 1 1207 5 is_stmt 1 discriminator 2 view .LVU493
1207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1798              		.loc 1 1207 19 is_stmt 0 discriminator 2 view .LVU494
 1799 0026 2122     		movs	r2, #33
 1800              	.LVL128:
1207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1801              		.loc 1 1207 19 discriminator 2 view .LVU495
 1802 0028 80F83920 		strb	r2, [r0, #57]
1210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1803              		.loc 1 1210 5 is_stmt 1 discriminator 2 view .LVU496
1210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1804              		.loc 1 1210 5 discriminator 2 view .LVU497
 1805 002c 80F83830 		strb	r3, [r0, #56]
1210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1806              		.loc 1 1210 5 discriminator 2 view .LVU498
1213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1807              		.loc 1 1213 5 discriminator 2 view .LVU499
 1808 0030 0168     		ldr	r1, [r0]
 1809              	.LVL129:
1213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1810              		.loc 1 1213 5 is_stmt 0 discriminator 2 view .LVU500
 1811 0032 CA68     		ldr	r2, [r1, #12]
 1812 0034 42F08002 		orr	r2, r2, #128
 1813 0038 CA60     		str	r2, [r1, #12]
 1814              	.LVL130:
1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 1815              		.loc 1 1215 5 is_stmt 1 discriminator 2 view .LVU501
1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 1816              		.loc 1 1215 12 is_stmt 0 discriminator 2 view .LVU502
 1817 003a 1846     		mov	r0, r3
 1818              	.LVL131:
1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 1819              		.loc 1 1215 12 discriminator 2 view .LVU503
 1820 003c 7047     		bx	lr
 1821              	.LVL132:
 1822              	.L112:
1219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 1823              		.loc 1 1219 12 view .LVU504
 1824 003e 0220     		movs	r0, #2
 1825              	.LVL133:
ARM GAS  /tmp/ccGtkZvD.s 			page 95


1219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 1826              		.loc 1 1219 12 view .LVU505
 1827 0040 7047     		bx	lr
 1828              	.LVL134:
 1829              	.L113:
1196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 1830              		.loc 1 1196 14 view .LVU506
 1831 0042 0120     		movs	r0, #1
 1832              	.LVL135:
1196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 1833              		.loc 1 1196 14 view .LVU507
 1834 0044 7047     		bx	lr
 1835              	.LVL136:
 1836              	.L114:
1196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 1837              		.loc 1 1196 14 view .LVU508
 1838 0046 0120     		movs	r0, #1
 1839              	.LVL137:
1196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 1840              		.loc 1 1196 14 view .LVU509
 1841 0048 7047     		bx	lr
 1842              	.LVL138:
 1843              	.L115:
1200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1844              		.loc 1 1200 5 view .LVU510
 1845 004a 0220     		movs	r0, #2
 1846              	.LVL139:
1221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1847              		.loc 1 1221 1 view .LVU511
 1848 004c 7047     		bx	lr
 1849              		.cfi_endproc
 1850              	.LFE139:
 1852              		.section	.text.HAL_UART_Receive_IT,"ax",%progbits
 1853              		.align	1
 1854              		.global	HAL_UART_Receive_IT
 1855              		.syntax unified
 1856              		.thumb
 1857              		.thumb_func
 1859              	HAL_UART_Receive_IT:
 1860              	.LVL140:
 1861              	.LFB140:
1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check that a Rx process is not already ongoing */
 1862              		.loc 1 1232 1 is_stmt 1 view -0
 1863              		.cfi_startproc
 1864              		@ args = 0, pretend = 0, frame = 0
 1865              		@ frame_needed = 0, uses_anonymous_args = 0
 1866              		@ link register save eliminated.
1234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 1867              		.loc 1 1234 3 view .LVU513
1234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 1868              		.loc 1 1234 12 is_stmt 0 view .LVU514
 1869 0000 90F83A30 		ldrb	r3, [r0, #58]	@ zero_extendqisi2
 1870 0004 DBB2     		uxtb	r3, r3
1234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 1871              		.loc 1 1234 6 view .LVU515
 1872 0006 202B     		cmp	r3, #32
 1873 0008 23D1     		bne	.L118
ARM GAS  /tmp/ccGtkZvD.s 			page 96


1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 1874              		.loc 1 1236 5 is_stmt 1 view .LVU516
1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 1875              		.loc 1 1236 8 is_stmt 0 view .LVU517
 1876 000a 21B3     		cbz	r1, .L119
1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 1877              		.loc 1 1236 25 discriminator 1 view .LVU518
 1878 000c 2AB3     		cbz	r2, .L120
1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1879              		.loc 1 1242 5 is_stmt 1 view .LVU519
1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1880              		.loc 1 1242 5 view .LVU520
 1881 000e 90F83830 		ldrb	r3, [r0, #56]	@ zero_extendqisi2
 1882 0012 012B     		cmp	r3, #1
 1883 0014 23D0     		beq	.L121
1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1884              		.loc 1 1242 5 discriminator 2 view .LVU521
 1885 0016 0123     		movs	r3, #1
 1886 0018 80F83830 		strb	r3, [r0, #56]
1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1887              		.loc 1 1242 5 discriminator 2 view .LVU522
1244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxXferSize = Size;
 1888              		.loc 1 1244 5 discriminator 2 view .LVU523
1244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxXferSize = Size;
 1889              		.loc 1 1244 23 is_stmt 0 discriminator 2 view .LVU524
 1890 001c 8162     		str	r1, [r0, #40]
1245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxXferCount = Size;
 1891              		.loc 1 1245 5 is_stmt 1 discriminator 2 view .LVU525
1245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxXferCount = Size;
 1892              		.loc 1 1245 23 is_stmt 0 discriminator 2 view .LVU526
 1893 001e 8285     		strh	r2, [r0, #44]	@ movhi
1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1894              		.loc 1 1246 5 is_stmt 1 discriminator 2 view .LVU527
1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1895              		.loc 1 1246 24 is_stmt 0 discriminator 2 view .LVU528
 1896 0020 C285     		strh	r2, [r0, #46]	@ movhi
1248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxState = HAL_UART_STATE_BUSY_RX;
 1897              		.loc 1 1248 5 is_stmt 1 discriminator 2 view .LVU529
1248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxState = HAL_UART_STATE_BUSY_RX;
 1898              		.loc 1 1248 22 is_stmt 0 discriminator 2 view .LVU530
 1899 0022 0023     		movs	r3, #0
 1900 0024 C363     		str	r3, [r0, #60]
1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1901              		.loc 1 1249 5 is_stmt 1 discriminator 2 view .LVU531
1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1902              		.loc 1 1249 20 is_stmt 0 discriminator 2 view .LVU532
 1903 0026 2222     		movs	r2, #34
 1904              	.LVL141:
1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1905              		.loc 1 1249 20 discriminator 2 view .LVU533
 1906 0028 80F83A20 		strb	r2, [r0, #58]
1252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1907              		.loc 1 1252 5 is_stmt 1 discriminator 2 view .LVU534
1252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1908              		.loc 1 1252 5 discriminator 2 view .LVU535
 1909 002c 80F83830 		strb	r3, [r0, #56]
1252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
ARM GAS  /tmp/ccGtkZvD.s 			page 97


 1910              		.loc 1 1252 5 discriminator 2 view .LVU536
1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1911              		.loc 1 1255 5 discriminator 2 view .LVU537
 1912 0030 0168     		ldr	r1, [r0]
 1913              	.LVL142:
1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1914              		.loc 1 1255 5 is_stmt 0 discriminator 2 view .LVU538
 1915 0032 CA68     		ldr	r2, [r1, #12]
 1916 0034 42F48072 		orr	r2, r2, #256
 1917 0038 CA60     		str	r2, [r1, #12]
 1918              	.LVL143:
1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1919              		.loc 1 1258 5 is_stmt 1 discriminator 2 view .LVU539
 1920 003a 0168     		ldr	r1, [r0]
 1921 003c 4A69     		ldr	r2, [r1, #20]
 1922 003e 42F00102 		orr	r2, r2, #1
 1923 0042 4A61     		str	r2, [r1, #20]
1261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1924              		.loc 1 1261 5 discriminator 2 view .LVU540
 1925 0044 0168     		ldr	r1, [r0]
 1926 0046 CA68     		ldr	r2, [r1, #12]
 1927 0048 42F02002 		orr	r2, r2, #32
 1928 004c CA60     		str	r2, [r1, #12]
1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 1929              		.loc 1 1263 5 discriminator 2 view .LVU541
1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 1930              		.loc 1 1263 12 is_stmt 0 discriminator 2 view .LVU542
 1931 004e 1846     		mov	r0, r3
 1932              	.LVL144:
1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 1933              		.loc 1 1263 12 discriminator 2 view .LVU543
 1934 0050 7047     		bx	lr
 1935              	.LVL145:
 1936              	.L118:
1267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 1937              		.loc 1 1267 12 view .LVU544
 1938 0052 0220     		movs	r0, #2
 1939              	.LVL146:
1267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 1940              		.loc 1 1267 12 view .LVU545
 1941 0054 7047     		bx	lr
 1942              	.LVL147:
 1943              	.L119:
1238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 1944              		.loc 1 1238 14 view .LVU546
 1945 0056 0120     		movs	r0, #1
 1946              	.LVL148:
1238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 1947              		.loc 1 1238 14 view .LVU547
 1948 0058 7047     		bx	lr
 1949              	.LVL149:
 1950              	.L120:
1238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 1951              		.loc 1 1238 14 view .LVU548
 1952 005a 0120     		movs	r0, #1
 1953              	.LVL150:
1238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
ARM GAS  /tmp/ccGtkZvD.s 			page 98


 1954              		.loc 1 1238 14 view .LVU549
 1955 005c 7047     		bx	lr
 1956              	.LVL151:
 1957              	.L121:
1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1958              		.loc 1 1242 5 view .LVU550
 1959 005e 0220     		movs	r0, #2
 1960              	.LVL152:
1269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1961              		.loc 1 1269 1 view .LVU551
 1962 0060 7047     		bx	lr
 1963              		.cfi_endproc
 1964              	.LFE140:
 1966              		.section	.text.HAL_UART_Transmit_DMA,"ax",%progbits
 1967              		.align	1
 1968              		.global	HAL_UART_Transmit_DMA
 1969              		.syntax unified
 1970              		.thumb
 1971              		.thumb_func
 1973              	HAL_UART_Transmit_DMA:
 1974              	.LVL153:
 1975              	.LFB141:
1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t *tmp;
 1976              		.loc 1 1280 1 is_stmt 1 view -0
 1977              		.cfi_startproc
 1978              		@ args = 0, pretend = 0, frame = 0
 1979              		@ frame_needed = 0, uses_anonymous_args = 0
1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t *tmp;
 1980              		.loc 1 1280 1 is_stmt 0 view .LVU553
 1981 0000 38B5     		push	{r3, r4, r5, lr}
 1982              	.LCFI20:
 1983              		.cfi_def_cfa_offset 16
 1984              		.cfi_offset 3, -16
 1985              		.cfi_offset 4, -12
 1986              		.cfi_offset 5, -8
 1987              		.cfi_offset 14, -4
1281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 1988              		.loc 1 1281 3 is_stmt 1 view .LVU554
1284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 1989              		.loc 1 1284 3 view .LVU555
1284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 1990              		.loc 1 1284 12 is_stmt 0 view .LVU556
 1991 0002 90F83930 		ldrb	r3, [r0, #57]	@ zero_extendqisi2
 1992 0006 DBB2     		uxtb	r3, r3
1284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 1993              		.loc 1 1284 6 view .LVU557
 1994 0008 202B     		cmp	r3, #32
 1995 000a 31D1     		bne	.L124
 1996 000c 0446     		mov	r4, r0
1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 1997              		.loc 1 1286 5 is_stmt 1 view .LVU558
1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 1998              		.loc 1 1286 8 is_stmt 0 view .LVU559
 1999 000e 0029     		cmp	r1, #0
 2000 0010 30D0     		beq	.L125
1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 2001              		.loc 1 1286 25 discriminator 1 view .LVU560
ARM GAS  /tmp/ccGtkZvD.s 			page 99


 2002 0012 002A     		cmp	r2, #0
 2003 0014 30D0     		beq	.L126
1292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2004              		.loc 1 1292 5 is_stmt 1 view .LVU561
1292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2005              		.loc 1 1292 5 view .LVU562
 2006 0016 90F83830 		ldrb	r3, [r0, #56]	@ zero_extendqisi2
 2007 001a 012B     		cmp	r3, #1
 2008 001c 2ED0     		beq	.L127
1292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2009              		.loc 1 1292 5 discriminator 2 view .LVU563
 2010 001e 0123     		movs	r3, #1
 2011 0020 80F83830 		strb	r3, [r0, #56]
1292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2012              		.loc 1 1292 5 discriminator 2 view .LVU564
1294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->TxXferSize = Size;
 2013              		.loc 1 1294 5 discriminator 2 view .LVU565
1294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->TxXferSize = Size;
 2014              		.loc 1 1294 23 is_stmt 0 discriminator 2 view .LVU566
 2015 0024 0162     		str	r1, [r0, #32]
1295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->TxXferCount = Size;
 2016              		.loc 1 1295 5 is_stmt 1 discriminator 2 view .LVU567
1295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->TxXferCount = Size;
 2017              		.loc 1 1295 23 is_stmt 0 discriminator 2 view .LVU568
 2018 0026 8284     		strh	r2, [r0, #36]	@ movhi
1296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2019              		.loc 1 1296 5 is_stmt 1 discriminator 2 view .LVU569
1296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2020              		.loc 1 1296 24 is_stmt 0 discriminator 2 view .LVU570
 2021 0028 C284     		strh	r2, [r0, #38]	@ movhi
1298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->gState = HAL_UART_STATE_BUSY_TX;
 2022              		.loc 1 1298 5 is_stmt 1 discriminator 2 view .LVU571
1298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->gState = HAL_UART_STATE_BUSY_TX;
 2023              		.loc 1 1298 22 is_stmt 0 discriminator 2 view .LVU572
 2024 002a 0025     		movs	r5, #0
 2025 002c C563     		str	r5, [r0, #60]
1299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2026              		.loc 1 1299 5 is_stmt 1 discriminator 2 view .LVU573
1299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2027              		.loc 1 1299 19 is_stmt 0 discriminator 2 view .LVU574
 2028 002e 2123     		movs	r3, #33
 2029 0030 80F83930 		strb	r3, [r0, #57]
1302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2030              		.loc 1 1302 5 is_stmt 1 discriminator 2 view .LVU575
1302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2031              		.loc 1 1302 10 is_stmt 0 discriminator 2 view .LVU576
 2032 0034 036B     		ldr	r3, [r0, #48]
1302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2033              		.loc 1 1302 37 discriminator 2 view .LVU577
 2034 0036 1248     		ldr	r0, .L129
 2035              	.LVL154:
1302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2036              		.loc 1 1302 37 discriminator 2 view .LVU578
 2037 0038 D863     		str	r0, [r3, #60]
1305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2038              		.loc 1 1305 5 is_stmt 1 discriminator 2 view .LVU579
1305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
ARM GAS  /tmp/ccGtkZvD.s 			page 100


 2039              		.loc 1 1305 10 is_stmt 0 discriminator 2 view .LVU580
 2040 003a 236B     		ldr	r3, [r4, #48]
1305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2041              		.loc 1 1305 41 discriminator 2 view .LVU581
 2042 003c 1148     		ldr	r0, .L129+4
 2043 003e 1864     		str	r0, [r3, #64]
1308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2044              		.loc 1 1308 5 is_stmt 1 discriminator 2 view .LVU582
1308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2045              		.loc 1 1308 10 is_stmt 0 discriminator 2 view .LVU583
 2046 0040 236B     		ldr	r3, [r4, #48]
1308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2047              		.loc 1 1308 38 discriminator 2 view .LVU584
 2048 0042 1148     		ldr	r0, .L129+8
 2049 0044 D864     		str	r0, [r3, #76]
1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2050              		.loc 1 1311 5 is_stmt 1 discriminator 2 view .LVU585
1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2051              		.loc 1 1311 10 is_stmt 0 discriminator 2 view .LVU586
 2052 0046 236B     		ldr	r3, [r4, #48]
1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2053              		.loc 1 1311 38 discriminator 2 view .LVU587
 2054 0048 1D65     		str	r5, [r3, #80]
1314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     HAL_DMA_Start_IT(huart->hdmatx, *(uint32_t *)tmp, (uint32_t)&huart->Instance->DR, Size);
 2055              		.loc 1 1314 5 is_stmt 1 discriminator 2 view .LVU588
 2056              	.LVL155:
1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2057              		.loc 1 1315 5 discriminator 2 view .LVU589
1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2058              		.loc 1 1315 71 is_stmt 0 discriminator 2 view .LVU590
 2059 004a 2068     		ldr	r0, [r4]
1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2060              		.loc 1 1315 5 discriminator 2 view .LVU591
 2061 004c 1346     		mov	r3, r2
 2062 004e 021D     		adds	r2, r0, #4
 2063              	.LVL156:
1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2064              		.loc 1 1315 5 discriminator 2 view .LVU592
 2065 0050 206B     		ldr	r0, [r4, #48]
 2066 0052 FFF7FEFF 		bl	HAL_DMA_Start_IT
 2067              	.LVL157:
1318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2068              		.loc 1 1318 5 is_stmt 1 discriminator 2 view .LVU593
 2069 0056 2368     		ldr	r3, [r4]
 2070 0058 6FF04002 		mvn	r2, #64
 2071 005c 1A60     		str	r2, [r3]
1321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2072              		.loc 1 1321 5 discriminator 2 view .LVU594
1321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2073              		.loc 1 1321 5 discriminator 2 view .LVU595
 2074 005e 84F83850 		strb	r5, [r4, #56]
1321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2075              		.loc 1 1321 5 discriminator 2 view .LVU596
1325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2076              		.loc 1 1325 5 discriminator 2 view .LVU597
 2077 0062 2268     		ldr	r2, [r4]
 2078 0064 5369     		ldr	r3, [r2, #20]
ARM GAS  /tmp/ccGtkZvD.s 			page 101


 2079 0066 43F08003 		orr	r3, r3, #128
 2080 006a 5361     		str	r3, [r2, #20]
1327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 2081              		.loc 1 1327 5 discriminator 2 view .LVU598
1327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 2082              		.loc 1 1327 12 is_stmt 0 discriminator 2 view .LVU599
 2083 006c 2846     		mov	r0, r5
 2084 006e 00E0     		b	.L123
 2085              	.LVL158:
 2086              	.L124:
1331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 2087              		.loc 1 1331 12 view .LVU600
 2088 0070 0220     		movs	r0, #2
 2089              	.LVL159:
 2090              	.L123:
1333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2091              		.loc 1 1333 1 view .LVU601
 2092 0072 38BD     		pop	{r3, r4, r5, pc}
 2093              	.LVL160:
 2094              	.L125:
1288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 2095              		.loc 1 1288 14 view .LVU602
 2096 0074 0120     		movs	r0, #1
 2097              	.LVL161:
1288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 2098              		.loc 1 1288 14 view .LVU603
 2099 0076 FCE7     		b	.L123
 2100              	.LVL162:
 2101              	.L126:
1288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 2102              		.loc 1 1288 14 view .LVU604
 2103 0078 0120     		movs	r0, #1
 2104              	.LVL163:
1288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 2105              		.loc 1 1288 14 view .LVU605
 2106 007a FAE7     		b	.L123
 2107              	.LVL164:
 2108              	.L127:
1292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2109              		.loc 1 1292 5 view .LVU606
 2110 007c 0220     		movs	r0, #2
 2111              	.LVL165:
1292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2112              		.loc 1 1292 5 view .LVU607
 2113 007e F8E7     		b	.L123
 2114              	.L130:
 2115              		.align	2
 2116              	.L129:
 2117 0080 00000000 		.word	UART_DMATransmitCplt
 2118 0084 00000000 		.word	UART_DMATxHalfCplt
 2119 0088 00000000 		.word	UART_DMAError
 2120              		.cfi_endproc
 2121              	.LFE141:
 2123              		.section	.text.HAL_UART_Receive_DMA,"ax",%progbits
 2124              		.align	1
 2125              		.global	HAL_UART_Receive_DMA
 2126              		.syntax unified
ARM GAS  /tmp/ccGtkZvD.s 			page 102


 2127              		.thumb
 2128              		.thumb_func
 2130              	HAL_UART_Receive_DMA:
 2131              	.LVL166:
 2132              	.LFB142:
1345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t *tmp;
 2133              		.loc 1 1345 1 is_stmt 1 view -0
 2134              		.cfi_startproc
 2135              		@ args = 0, pretend = 0, frame = 8
 2136              		@ frame_needed = 0, uses_anonymous_args = 0
1345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t *tmp;
 2137              		.loc 1 1345 1 is_stmt 0 view .LVU609
 2138 0000 30B5     		push	{r4, r5, lr}
 2139              	.LCFI21:
 2140              		.cfi_def_cfa_offset 12
 2141              		.cfi_offset 4, -12
 2142              		.cfi_offset 5, -8
 2143              		.cfi_offset 14, -4
 2144 0002 83B0     		sub	sp, sp, #12
 2145              	.LCFI22:
 2146              		.cfi_def_cfa_offset 24
 2147 0004 0446     		mov	r4, r0
1346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2148              		.loc 1 1346 3 is_stmt 1 view .LVU610
1349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2149              		.loc 1 1349 3 view .LVU611
1349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2150              		.loc 1 1349 12 is_stmt 0 view .LVU612
 2151 0006 90F83A00 		ldrb	r0, [r0, #58]	@ zero_extendqisi2
 2152              	.LVL167:
1349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2153              		.loc 1 1349 12 view .LVU613
 2154 000a C0B2     		uxtb	r0, r0
1349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2155              		.loc 1 1349 6 view .LVU614
 2156 000c 2028     		cmp	r0, #32
 2157 000e 3CD1     		bne	.L133
1351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 2158              		.loc 1 1351 5 is_stmt 1 view .LVU615
1351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 2159              		.loc 1 1351 8 is_stmt 0 view .LVU616
 2160 0010 0029     		cmp	r1, #0
 2161 0012 3DD0     		beq	.L134
1351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 2162              		.loc 1 1351 25 discriminator 1 view .LVU617
 2163 0014 002A     		cmp	r2, #0
 2164 0016 3DD0     		beq	.L135
1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2165              		.loc 1 1357 5 is_stmt 1 view .LVU618
1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2166              		.loc 1 1357 5 view .LVU619
 2167 0018 94F83830 		ldrb	r3, [r4, #56]	@ zero_extendqisi2
 2168 001c 012B     		cmp	r3, #1
 2169 001e 3BD0     		beq	.L136
1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2170              		.loc 1 1357 5 discriminator 2 view .LVU620
 2171 0020 0123     		movs	r3, #1
ARM GAS  /tmp/ccGtkZvD.s 			page 103


 2172 0022 84F83830 		strb	r3, [r4, #56]
1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2173              		.loc 1 1357 5 discriminator 2 view .LVU621
1359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxXferSize = Size;
 2174              		.loc 1 1359 5 discriminator 2 view .LVU622
1359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxXferSize = Size;
 2175              		.loc 1 1359 23 is_stmt 0 discriminator 2 view .LVU623
 2176 0026 A162     		str	r1, [r4, #40]
1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2177              		.loc 1 1360 5 is_stmt 1 discriminator 2 view .LVU624
1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2178              		.loc 1 1360 23 is_stmt 0 discriminator 2 view .LVU625
 2179 0028 A285     		strh	r2, [r4, #44]	@ movhi
1362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxState = HAL_UART_STATE_BUSY_RX;
 2180              		.loc 1 1362 5 is_stmt 1 discriminator 2 view .LVU626
1362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxState = HAL_UART_STATE_BUSY_RX;
 2181              		.loc 1 1362 22 is_stmt 0 discriminator 2 view .LVU627
 2182 002a 0025     		movs	r5, #0
 2183 002c E563     		str	r5, [r4, #60]
1363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2184              		.loc 1 1363 5 is_stmt 1 discriminator 2 view .LVU628
1363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2185              		.loc 1 1363 20 is_stmt 0 discriminator 2 view .LVU629
 2186 002e 2223     		movs	r3, #34
 2187 0030 84F83A30 		strb	r3, [r4, #58]
1366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2188              		.loc 1 1366 5 is_stmt 1 discriminator 2 view .LVU630
1366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2189              		.loc 1 1366 10 is_stmt 0 discriminator 2 view .LVU631
 2190 0034 636B     		ldr	r3, [r4, #52]
1366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2191              		.loc 1 1366 37 discriminator 2 view .LVU632
 2192 0036 1948     		ldr	r0, .L138
 2193 0038 D863     		str	r0, [r3, #60]
1369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2194              		.loc 1 1369 5 is_stmt 1 discriminator 2 view .LVU633
1369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2195              		.loc 1 1369 10 is_stmt 0 discriminator 2 view .LVU634
 2196 003a 636B     		ldr	r3, [r4, #52]
1369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2197              		.loc 1 1369 41 discriminator 2 view .LVU635
 2198 003c 1848     		ldr	r0, .L138+4
 2199 003e 1864     		str	r0, [r3, #64]
1372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2200              		.loc 1 1372 5 is_stmt 1 discriminator 2 view .LVU636
1372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2201              		.loc 1 1372 10 is_stmt 0 discriminator 2 view .LVU637
 2202 0040 636B     		ldr	r3, [r4, #52]
1372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2203              		.loc 1 1372 38 discriminator 2 view .LVU638
 2204 0042 1848     		ldr	r0, .L138+8
 2205 0044 D864     		str	r0, [r3, #76]
1375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2206              		.loc 1 1375 5 is_stmt 1 discriminator 2 view .LVU639
1375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2207              		.loc 1 1375 10 is_stmt 0 discriminator 2 view .LVU640
 2208 0046 636B     		ldr	r3, [r4, #52]
ARM GAS  /tmp/ccGtkZvD.s 			page 104


1375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2209              		.loc 1 1375 38 discriminator 2 view .LVU641
 2210 0048 1D65     		str	r5, [r3, #80]
1378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     HAL_DMA_Start_IT(huart->hdmarx, (uint32_t)&huart->Instance->DR, *(uint32_t *)tmp, Size);
 2211              		.loc 1 1378 5 is_stmt 1 discriminator 2 view .LVU642
 2212              	.LVL168:
1379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2213              		.loc 1 1379 5 discriminator 2 view .LVU643
1379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2214              		.loc 1 1379 53 is_stmt 0 discriminator 2 view .LVU644
 2215 004a 2068     		ldr	r0, [r4]
1379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2216              		.loc 1 1379 5 discriminator 2 view .LVU645
 2217 004c 1346     		mov	r3, r2
 2218 004e 0A46     		mov	r2, r1
 2219              	.LVL169:
1379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2220              		.loc 1 1379 5 discriminator 2 view .LVU646
 2221 0050 011D     		adds	r1, r0, #4
 2222              	.LVL170:
1379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2223              		.loc 1 1379 5 discriminator 2 view .LVU647
 2224 0052 606B     		ldr	r0, [r4, #52]
 2225 0054 FFF7FEFF 		bl	HAL_DMA_Start_IT
 2226              	.LVL171:
1382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2227              		.loc 1 1382 5 is_stmt 1 discriminator 2 view .LVU648
 2228              	.LBB2:
1382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2229              		.loc 1 1382 5 discriminator 2 view .LVU649
 2230 0058 0195     		str	r5, [sp, #4]
1382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2231              		.loc 1 1382 5 discriminator 2 view .LVU650
 2232 005a 2368     		ldr	r3, [r4]
 2233 005c 1A68     		ldr	r2, [r3]
 2234 005e 0192     		str	r2, [sp, #4]
1382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2235              		.loc 1 1382 5 discriminator 2 view .LVU651
 2236 0060 5A68     		ldr	r2, [r3, #4]
 2237 0062 0192     		str	r2, [sp, #4]
1382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2238              		.loc 1 1382 5 discriminator 2 view .LVU652
 2239 0064 019A     		ldr	r2, [sp, #4]
 2240              	.LBE2:
1382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2241              		.loc 1 1382 5 discriminator 2 view .LVU653
1385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2242              		.loc 1 1385 5 discriminator 2 view .LVU654
1385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2243              		.loc 1 1385 5 discriminator 2 view .LVU655
 2244 0066 84F83850 		strb	r5, [r4, #56]
1385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2245              		.loc 1 1385 5 discriminator 2 view .LVU656
1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2246              		.loc 1 1388 5 discriminator 2 view .LVU657
 2247 006a DA68     		ldr	r2, [r3, #12]
 2248 006c 42F48072 		orr	r2, r2, #256
ARM GAS  /tmp/ccGtkZvD.s 			page 105


 2249 0070 DA60     		str	r2, [r3, #12]
1391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2250              		.loc 1 1391 5 discriminator 2 view .LVU658
 2251 0072 2268     		ldr	r2, [r4]
 2252 0074 5369     		ldr	r3, [r2, #20]
 2253 0076 43F00103 		orr	r3, r3, #1
 2254 007a 5361     		str	r3, [r2, #20]
1395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2255              		.loc 1 1395 5 discriminator 2 view .LVU659
 2256 007c 2268     		ldr	r2, [r4]
 2257 007e 5369     		ldr	r3, [r2, #20]
 2258 0080 43F04003 		orr	r3, r3, #64
 2259 0084 5361     		str	r3, [r2, #20]
1397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 2260              		.loc 1 1397 5 discriminator 2 view .LVU660
1397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 2261              		.loc 1 1397 12 is_stmt 0 discriminator 2 view .LVU661
 2262 0086 2846     		mov	r0, r5
 2263 0088 00E0     		b	.L132
 2264              	.LVL172:
 2265              	.L133:
1401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 2266              		.loc 1 1401 12 view .LVU662
 2267 008a 0220     		movs	r0, #2
 2268              	.LVL173:
 2269              	.L132:
1403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2270              		.loc 1 1403 1 view .LVU663
 2271 008c 03B0     		add	sp, sp, #12
 2272              	.LCFI23:
 2273              		.cfi_remember_state
 2274              		.cfi_def_cfa_offset 12
 2275              		@ sp needed
 2276 008e 30BD     		pop	{r4, r5, pc}
 2277              	.LVL174:
 2278              	.L134:
 2279              	.LCFI24:
 2280              		.cfi_restore_state
1353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 2281              		.loc 1 1353 14 view .LVU664
 2282 0090 0120     		movs	r0, #1
 2283 0092 FBE7     		b	.L132
 2284              	.L135:
 2285 0094 0120     		movs	r0, #1
 2286 0096 F9E7     		b	.L132
 2287              	.L136:
1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2288              		.loc 1 1357 5 view .LVU665
 2289 0098 0220     		movs	r0, #2
 2290 009a F7E7     		b	.L132
 2291              	.L139:
 2292              		.align	2
 2293              	.L138:
 2294 009c 00000000 		.word	UART_DMAReceiveCplt
 2295 00a0 00000000 		.word	UART_DMARxHalfCplt
 2296 00a4 00000000 		.word	UART_DMAError
 2297              		.cfi_endproc
ARM GAS  /tmp/ccGtkZvD.s 			page 106


 2298              	.LFE142:
 2300              		.section	.text.HAL_UART_DMAPause,"ax",%progbits
 2301              		.align	1
 2302              		.global	HAL_UART_DMAPause
 2303              		.syntax unified
 2304              		.thumb
 2305              		.thumb_func
 2307              	HAL_UART_DMAPause:
 2308              	.LVL175:
 2309              	.LFB143:
1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t dmarequest = 0x00U;
 2310              		.loc 1 1412 1 is_stmt 1 view -0
 2311              		.cfi_startproc
 2312              		@ args = 0, pretend = 0, frame = 0
 2313              		@ frame_needed = 0, uses_anonymous_args = 0
 2314              		@ link register save eliminated.
1413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2315              		.loc 1 1413 3 view .LVU667
1416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2316              		.loc 1 1416 3 view .LVU668
1416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2317              		.loc 1 1416 3 view .LVU669
 2318 0000 90F83830 		ldrb	r3, [r0, #56]	@ zero_extendqisi2
 2319 0004 012B     		cmp	r3, #1
 2320 0006 31D0     		beq	.L144
1416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2321              		.loc 1 1416 3 discriminator 2 view .LVU670
 2322 0008 0123     		movs	r3, #1
 2323 000a 80F83830 		strb	r3, [r0, #56]
1416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2324              		.loc 1 1416 3 discriminator 2 view .LVU671
1418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
 2325              		.loc 1 1418 3 discriminator 2 view .LVU672
1418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
 2326              		.loc 1 1418 16 is_stmt 0 discriminator 2 view .LVU673
 2327 000e 0168     		ldr	r1, [r0]
 2328 0010 4A69     		ldr	r2, [r1, #20]
 2329 0012 02F08002 		and	r2, r2, #128
 2330              	.LVL176:
1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2331              		.loc 1 1419 3 is_stmt 1 discriminator 2 view .LVU674
1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2332              		.loc 1 1419 13 is_stmt 0 discriminator 2 view .LVU675
 2333 0016 90F83930 		ldrb	r3, [r0, #57]	@ zero_extendqisi2
 2334 001a DBB2     		uxtb	r3, r3
1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2335              		.loc 1 1419 6 discriminator 2 view .LVU676
 2336 001c 212B     		cmp	r3, #33
 2337 001e 0DD0     		beq	.L145
 2338              	.L142:
1425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
 2339              		.loc 1 1425 3 is_stmt 1 view .LVU677
1425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
 2340              		.loc 1 1425 16 is_stmt 0 view .LVU678
 2341 0020 0168     		ldr	r1, [r0]
 2342 0022 4A69     		ldr	r2, [r1, #20]
 2343              	.LVL177:
ARM GAS  /tmp/ccGtkZvD.s 			page 107


1425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
 2344              		.loc 1 1425 16 view .LVU679
 2345 0024 02F04002 		and	r2, r2, #64
 2346              	.LVL178:
1426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2347              		.loc 1 1426 3 is_stmt 1 view .LVU680
1426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2348              		.loc 1 1426 13 is_stmt 0 view .LVU681
 2349 0028 90F83A30 		ldrb	r3, [r0, #58]	@ zero_extendqisi2
 2350 002c DBB2     		uxtb	r3, r3
1426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2351              		.loc 1 1426 6 view .LVU682
 2352 002e 222B     		cmp	r3, #34
 2353 0030 0BD0     		beq	.L146
 2354              	.LVL179:
 2355              	.L143:
1437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2356              		.loc 1 1437 3 is_stmt 1 view .LVU683
1437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2357              		.loc 1 1437 3 view .LVU684
 2358 0032 0023     		movs	r3, #0
 2359 0034 80F83830 		strb	r3, [r0, #56]
1437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2360              		.loc 1 1437 3 view .LVU685
1439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 2361              		.loc 1 1439 3 view .LVU686
1439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 2362              		.loc 1 1439 10 is_stmt 0 view .LVU687
 2363 0038 1846     		mov	r0, r3
 2364              	.LVL180:
1439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 2365              		.loc 1 1439 10 view .LVU688
 2366 003a 7047     		bx	lr
 2367              	.LVL181:
 2368              	.L145:
1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2369              		.loc 1 1419 49 discriminator 1 view .LVU689
 2370 003c 002A     		cmp	r2, #0
 2371 003e EFD0     		beq	.L142
1422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 2372              		.loc 1 1422 5 is_stmt 1 view .LVU690
 2373 0040 4B69     		ldr	r3, [r1, #20]
 2374 0042 23F08003 		bic	r3, r3, #128
 2375 0046 4B61     		str	r3, [r1, #20]
 2376 0048 EAE7     		b	.L142
 2377              	.L146:
1426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2378              		.loc 1 1426 50 is_stmt 0 discriminator 1 view .LVU691
 2379 004a 002A     		cmp	r2, #0
 2380 004c F1D0     		beq	.L143
1429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
 2381              		.loc 1 1429 5 is_stmt 1 view .LVU692
 2382 004e CB68     		ldr	r3, [r1, #12]
 2383 0050 23F48073 		bic	r3, r3, #256
 2384 0054 CB60     		str	r3, [r1, #12]
1430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2385              		.loc 1 1430 5 view .LVU693
ARM GAS  /tmp/ccGtkZvD.s 			page 108


 2386 0056 0268     		ldr	r2, [r0]
 2387              	.LVL182:
1430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2388              		.loc 1 1430 5 is_stmt 0 view .LVU694
 2389 0058 5369     		ldr	r3, [r2, #20]
 2390 005a 23F00103 		bic	r3, r3, #1
 2391 005e 5361     		str	r3, [r2, #20]
1433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 2392              		.loc 1 1433 5 is_stmt 1 view .LVU695
 2393 0060 0268     		ldr	r2, [r0]
 2394 0062 5369     		ldr	r3, [r2, #20]
 2395 0064 23F04003 		bic	r3, r3, #64
 2396 0068 5361     		str	r3, [r2, #20]
 2397 006a E2E7     		b	.L143
 2398              	.LVL183:
 2399              	.L144:
1416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2400              		.loc 1 1416 3 is_stmt 0 view .LVU696
 2401 006c 0220     		movs	r0, #2
 2402              	.LVL184:
1440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2403              		.loc 1 1440 1 view .LVU697
 2404 006e 7047     		bx	lr
 2405              		.cfi_endproc
 2406              	.LFE143:
 2408              		.section	.text.HAL_UART_DMAResume,"ax",%progbits
 2409              		.align	1
 2410              		.global	HAL_UART_DMAResume
 2411              		.syntax unified
 2412              		.thumb
 2413              		.thumb_func
 2415              	HAL_UART_DMAResume:
 2416              	.LVL185:
 2417              	.LFB144:
1449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Process Locked */
 2418              		.loc 1 1449 1 is_stmt 1 view -0
 2419              		.cfi_startproc
 2420              		@ args = 0, pretend = 0, frame = 8
 2421              		@ frame_needed = 0, uses_anonymous_args = 0
 2422              		@ link register save eliminated.
1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2423              		.loc 1 1451 3 view .LVU699
1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2424              		.loc 1 1451 3 view .LVU700
 2425 0000 90F83830 		ldrb	r3, [r0, #56]	@ zero_extendqisi2
 2426 0004 012B     		cmp	r3, #1
 2427 0006 34D0     		beq	.L151
1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2428              		.loc 1 1451 3 discriminator 2 view .LVU701
 2429 0008 0123     		movs	r3, #1
 2430 000a 80F83830 		strb	r3, [r0, #56]
1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2431              		.loc 1 1451 3 discriminator 2 view .LVU702
1453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2432              		.loc 1 1453 3 discriminator 2 view .LVU703
1453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2433              		.loc 1 1453 12 is_stmt 0 discriminator 2 view .LVU704
ARM GAS  /tmp/ccGtkZvD.s 			page 109


 2434 000e 90F83930 		ldrb	r3, [r0, #57]	@ zero_extendqisi2
 2435 0012 DBB2     		uxtb	r3, r3
1453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2436              		.loc 1 1453 6 discriminator 2 view .LVU705
 2437 0014 212B     		cmp	r3, #33
 2438 0016 09D0     		beq	.L157
 2439              	.L149:
1459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2440              		.loc 1 1459 3 is_stmt 1 view .LVU706
1459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2441              		.loc 1 1459 12 is_stmt 0 view .LVU707
 2442 0018 90F83A30 		ldrb	r3, [r0, #58]	@ zero_extendqisi2
 2443 001c DBB2     		uxtb	r3, r3
1459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2444              		.loc 1 1459 6 view .LVU708
 2445 001e 222B     		cmp	r3, #34
 2446 0020 0AD0     		beq	.L158
1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2447              		.loc 1 1473 3 is_stmt 1 view .LVU709
1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2448              		.loc 1 1473 3 view .LVU710
 2449 0022 0023     		movs	r3, #0
 2450 0024 80F83830 		strb	r3, [r0, #56]
1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2451              		.loc 1 1473 3 view .LVU711
1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 2452              		.loc 1 1475 3 view .LVU712
1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 2453              		.loc 1 1475 10 is_stmt 0 view .LVU713
 2454 0028 1846     		mov	r0, r3
 2455              	.LVL186:
1476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2456              		.loc 1 1476 1 view .LVU714
 2457 002a 7047     		bx	lr
 2458              	.LVL187:
 2459              	.L157:
1456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 2460              		.loc 1 1456 5 is_stmt 1 view .LVU715
 2461 002c 0268     		ldr	r2, [r0]
 2462 002e 5369     		ldr	r3, [r2, #20]
 2463 0030 43F08003 		orr	r3, r3, #128
 2464 0034 5361     		str	r3, [r2, #20]
 2465 0036 EFE7     		b	.L149
 2466              	.L158:
1449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Process Locked */
 2467              		.loc 1 1449 1 is_stmt 0 view .LVU716
 2468 0038 82B0     		sub	sp, sp, #8
 2469              	.LCFI25:
 2470              		.cfi_def_cfa_offset 8
1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2471              		.loc 1 1462 5 is_stmt 1 view .LVU717
 2472              	.LBB3:
1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2473              		.loc 1 1462 5 view .LVU718
 2474 003a 0023     		movs	r3, #0
 2475 003c 0193     		str	r3, [sp, #4]
1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
ARM GAS  /tmp/ccGtkZvD.s 			page 110


 2476              		.loc 1 1462 5 view .LVU719
 2477 003e 0368     		ldr	r3, [r0]
 2478 0040 1A68     		ldr	r2, [r3]
 2479 0042 0192     		str	r2, [sp, #4]
1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2480              		.loc 1 1462 5 view .LVU720
 2481 0044 5A68     		ldr	r2, [r3, #4]
 2482 0046 0192     		str	r2, [sp, #4]
1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2483              		.loc 1 1462 5 view .LVU721
 2484 0048 019A     		ldr	r2, [sp, #4]
 2485              	.LBE3:
1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2486              		.loc 1 1462 5 view .LVU722
1465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
 2487              		.loc 1 1465 5 view .LVU723
 2488 004a DA68     		ldr	r2, [r3, #12]
 2489 004c 42F48072 		orr	r2, r2, #256
 2490 0050 DA60     		str	r2, [r3, #12]
1466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2491              		.loc 1 1466 5 view .LVU724
 2492 0052 0268     		ldr	r2, [r0]
 2493 0054 5369     		ldr	r3, [r2, #20]
 2494 0056 43F00103 		orr	r3, r3, #1
 2495 005a 5361     		str	r3, [r2, #20]
1469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 2496              		.loc 1 1469 5 view .LVU725
 2497 005c 0268     		ldr	r2, [r0]
 2498 005e 5369     		ldr	r3, [r2, #20]
 2499 0060 43F04003 		orr	r3, r3, #64
 2500 0064 5361     		str	r3, [r2, #20]
1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2501              		.loc 1 1473 3 view .LVU726
1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2502              		.loc 1 1473 3 view .LVU727
 2503 0066 0023     		movs	r3, #0
 2504 0068 80F83830 		strb	r3, [r0, #56]
1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2505              		.loc 1 1473 3 view .LVU728
1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 2506              		.loc 1 1475 3 view .LVU729
1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 2507              		.loc 1 1475 10 is_stmt 0 view .LVU730
 2508 006c 1846     		mov	r0, r3
 2509              	.LVL188:
1476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2510              		.loc 1 1476 1 view .LVU731
 2511 006e 02B0     		add	sp, sp, #8
 2512              	.LCFI26:
 2513              		.cfi_def_cfa_offset 0
 2514              		@ sp needed
 2515 0070 7047     		bx	lr
 2516              	.LVL189:
 2517              	.L151:
1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2518              		.loc 1 1451 3 view .LVU732
 2519 0072 0220     		movs	r0, #2
ARM GAS  /tmp/ccGtkZvD.s 			page 111


 2520              	.LVL190:
1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2521              		.loc 1 1451 3 view .LVU733
 2522 0074 7047     		bx	lr
 2523              		.cfi_endproc
 2524              	.LFE144:
 2526              		.section	.text.HAL_UART_DMAStop,"ax",%progbits
 2527              		.align	1
 2528              		.global	HAL_UART_DMAStop
 2529              		.syntax unified
 2530              		.thumb
 2531              		.thumb_func
 2533              	HAL_UART_DMAStop:
 2534              	.LVL191:
 2535              	.LFB145:
1485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t dmarequest = 0x00U;
 2536              		.loc 1 1485 1 is_stmt 1 view -0
 2537              		.cfi_startproc
 2538              		@ args = 0, pretend = 0, frame = 0
 2539              		@ frame_needed = 0, uses_anonymous_args = 0
1485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t dmarequest = 0x00U;
 2540              		.loc 1 1485 1 is_stmt 0 view .LVU735
 2541 0000 10B5     		push	{r4, lr}
 2542              	.LCFI27:
 2543              		.cfi_def_cfa_offset 8
 2544              		.cfi_offset 4, -8
 2545              		.cfi_offset 14, -4
 2546 0002 0446     		mov	r4, r0
1486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* The Lock is not implemented on this API to allow the user application
 2547              		.loc 1 1486 3 is_stmt 1 view .LVU736
 2548              	.LVL192:
1494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
 2549              		.loc 1 1494 3 view .LVU737
1494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
 2550              		.loc 1 1494 16 is_stmt 0 view .LVU738
 2551 0004 0168     		ldr	r1, [r0]
 2552 0006 4A69     		ldr	r2, [r1, #20]
 2553              	.LVL193:
1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2554              		.loc 1 1495 3 is_stmt 1 view .LVU739
1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2555              		.loc 1 1495 13 is_stmt 0 view .LVU740
 2556 0008 90F83930 		ldrb	r3, [r0, #57]	@ zero_extendqisi2
 2557 000c DBB2     		uxtb	r3, r3
1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2558              		.loc 1 1495 6 view .LVU741
 2559 000e 212B     		cmp	r3, #33
 2560 0010 0AD0     		beq	.L165
 2561              	.LVL194:
 2562              	.L160:
1508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
 2563              		.loc 1 1508 3 is_stmt 1 view .LVU742
1508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
 2564              		.loc 1 1508 16 is_stmt 0 view .LVU743
 2565 0012 2168     		ldr	r1, [r4]
 2566 0014 4A69     		ldr	r2, [r1, #20]
 2567 0016 02F04002 		and	r2, r2, #64
ARM GAS  /tmp/ccGtkZvD.s 			page 112


 2568              	.LVL195:
1509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2569              		.loc 1 1509 3 is_stmt 1 view .LVU744
1509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2570              		.loc 1 1509 13 is_stmt 0 view .LVU745
 2571 001a 94F83A30 		ldrb	r3, [r4, #58]	@ zero_extendqisi2
 2572 001e DBB2     		uxtb	r3, r3
1509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2573              		.loc 1 1509 6 view .LVU746
 2574 0020 222B     		cmp	r3, #34
 2575 0022 11D0     		beq	.L166
 2576              	.LVL196:
 2577              	.L162:
1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 2578              		.loc 1 1521 3 is_stmt 1 view .LVU747
1522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2579              		.loc 1 1522 1 is_stmt 0 view .LVU748
 2580 0024 0020     		movs	r0, #0
 2581 0026 10BD     		pop	{r4, pc}
 2582              	.LVL197:
 2583              	.L165:
1522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2584              		.loc 1 1522 1 view .LVU749
 2585 0028 02F08002 		and	r2, r2, #128
 2586              	.LVL198:
1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2587              		.loc 1 1495 49 discriminator 1 view .LVU750
 2588 002c 002A     		cmp	r2, #0
 2589 002e F0D0     		beq	.L160
1497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2590              		.loc 1 1497 5 is_stmt 1 view .LVU751
 2591 0030 4B69     		ldr	r3, [r1, #20]
 2592 0032 23F08003 		bic	r3, r3, #128
 2593 0036 4B61     		str	r3, [r1, #20]
1500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 2594              		.loc 1 1500 5 view .LVU752
1500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 2595              		.loc 1 1500 14 is_stmt 0 view .LVU753
 2596 0038 006B     		ldr	r0, [r0, #48]
 2597              	.LVL199:
1500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 2598              		.loc 1 1500 8 view .LVU754
 2599 003a 08B1     		cbz	r0, .L161
1502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 2600              		.loc 1 1502 7 is_stmt 1 view .LVU755
 2601 003c FFF7FEFF 		bl	HAL_DMA_Abort
 2602              	.LVL200:
 2603              	.L161:
1504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 2604              		.loc 1 1504 5 view .LVU756
 2605 0040 2046     		mov	r0, r4
 2606 0042 FFF7FEFF 		bl	UART_EndTxTransfer
 2607              	.LVL201:
 2608 0046 E4E7     		b	.L160
 2609              	.LVL202:
 2610              	.L166:
1509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
ARM GAS  /tmp/ccGtkZvD.s 			page 113


 2611              		.loc 1 1509 50 is_stmt 0 discriminator 1 view .LVU757
 2612 0048 002A     		cmp	r2, #0
 2613 004a EBD0     		beq	.L162
1511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2614              		.loc 1 1511 5 is_stmt 1 view .LVU758
 2615 004c 4B69     		ldr	r3, [r1, #20]
 2616 004e 23F04003 		bic	r3, r3, #64
 2617 0052 4B61     		str	r3, [r1, #20]
1514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 2618              		.loc 1 1514 5 view .LVU759
1514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 2619              		.loc 1 1514 14 is_stmt 0 view .LVU760
 2620 0054 606B     		ldr	r0, [r4, #52]
1514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 2621              		.loc 1 1514 8 view .LVU761
 2622 0056 08B1     		cbz	r0, .L163
1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 2623              		.loc 1 1516 7 is_stmt 1 view .LVU762
 2624 0058 FFF7FEFF 		bl	HAL_DMA_Abort
 2625              	.LVL203:
 2626              	.L163:
1518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 2627              		.loc 1 1518 5 view .LVU763
 2628 005c 2046     		mov	r0, r4
 2629 005e FFF7FEFF 		bl	UART_EndRxTransfer
 2630              	.LVL204:
 2631 0062 DFE7     		b	.L162
 2632              		.cfi_endproc
 2633              	.LFE145:
 2635              		.section	.text.HAL_UART_Abort,"ax",%progbits
 2636              		.align	1
 2637              		.global	HAL_UART_Abort
 2638              		.syntax unified
 2639              		.thumb
 2640              		.thumb_func
 2642              	HAL_UART_Abort:
 2643              	.LVL205:
 2644              	.LFB146:
1537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
 2645              		.loc 1 1537 1 view -0
 2646              		.cfi_startproc
 2647              		@ args = 0, pretend = 0, frame = 0
 2648              		@ frame_needed = 0, uses_anonymous_args = 0
1537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
 2649              		.loc 1 1537 1 is_stmt 0 view .LVU765
 2650 0000 10B5     		push	{r4, lr}
 2651              	.LCFI28:
 2652              		.cfi_def_cfa_offset 8
 2653              		.cfi_offset 4, -8
 2654              		.cfi_offset 14, -4
 2655 0002 0446     		mov	r4, r0
1539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
 2656              		.loc 1 1539 3 is_stmt 1 view .LVU766
 2657 0004 0268     		ldr	r2, [r0]
 2658 0006 D368     		ldr	r3, [r2, #12]
 2659 0008 23F4F073 		bic	r3, r3, #480
 2660 000c D360     		str	r3, [r2, #12]
ARM GAS  /tmp/ccGtkZvD.s 			page 114


1540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2661              		.loc 1 1540 3 view .LVU767
 2662 000e 0268     		ldr	r2, [r0]
 2663 0010 5369     		ldr	r3, [r2, #20]
 2664 0012 23F00103 		bic	r3, r3, #1
 2665 0016 5361     		str	r3, [r2, #20]
1543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2666              		.loc 1 1543 3 view .LVU768
1543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2667              		.loc 1 1543 7 is_stmt 0 view .LVU769
 2668 0018 0368     		ldr	r3, [r0]
 2669 001a 5A69     		ldr	r2, [r3, #20]
1543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2670              		.loc 1 1543 6 view .LVU770
 2671 001c 12F0800F 		tst	r2, #128
 2672 0020 0BD0     		beq	.L168
1545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2673              		.loc 1 1545 5 is_stmt 1 view .LVU771
 2674 0022 5A69     		ldr	r2, [r3, #20]
 2675 0024 22F08002 		bic	r2, r2, #128
 2676 0028 5A61     		str	r2, [r3, #20]
1548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 2677              		.loc 1 1548 5 view .LVU772
1548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 2678              		.loc 1 1548 14 is_stmt 0 view .LVU773
 2679 002a 036B     		ldr	r3, [r0, #48]
1548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 2680              		.loc 1 1548 8 view .LVU774
 2681 002c 2BB1     		cbz	r3, .L168
1552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2682              		.loc 1 1552 7 is_stmt 1 view .LVU775
1552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2683              		.loc 1 1552 40 is_stmt 0 view .LVU776
 2684 002e 0022     		movs	r2, #0
 2685 0030 1A65     		str	r2, [r3, #80]
1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 2686              		.loc 1 1554 7 is_stmt 1 view .LVU777
1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 2687              		.loc 1 1554 11 is_stmt 0 view .LVU778
 2688 0032 006B     		ldr	r0, [r0, #48]
 2689              	.LVL206:
1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 2690              		.loc 1 1554 11 view .LVU779
 2691 0034 FFF7FEFF 		bl	HAL_DMA_Abort
 2692              	.LVL207:
1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 2693              		.loc 1 1554 10 view .LVU780
 2694 0038 D0B9     		cbnz	r0, .L172
 2695              	.L168:
1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2696              		.loc 1 1568 3 is_stmt 1 view .LVU781
1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2697              		.loc 1 1568 7 is_stmt 0 view .LVU782
 2698 003a 2368     		ldr	r3, [r4]
 2699 003c 5A69     		ldr	r2, [r3, #20]
1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2700              		.loc 1 1568 6 view .LVU783
ARM GAS  /tmp/ccGtkZvD.s 			page 115


 2701 003e 12F0400F 		tst	r2, #64
 2702 0042 0BD0     		beq	.L170
1570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2703              		.loc 1 1570 5 is_stmt 1 view .LVU784
 2704 0044 5A69     		ldr	r2, [r3, #20]
 2705 0046 22F04002 		bic	r2, r2, #64
 2706 004a 5A61     		str	r2, [r3, #20]
1573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 2707              		.loc 1 1573 5 view .LVU785
1573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 2708              		.loc 1 1573 14 is_stmt 0 view .LVU786
 2709 004c 636B     		ldr	r3, [r4, #52]
1573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 2710              		.loc 1 1573 8 view .LVU787
 2711 004e 2BB1     		cbz	r3, .L170
1577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2712              		.loc 1 1577 7 is_stmt 1 view .LVU788
1577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2713              		.loc 1 1577 40 is_stmt 0 view .LVU789
 2714 0050 0022     		movs	r2, #0
 2715 0052 1A65     		str	r2, [r3, #80]
1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 2716              		.loc 1 1579 7 is_stmt 1 view .LVU790
1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 2717              		.loc 1 1579 11 is_stmt 0 view .LVU791
 2718 0054 606B     		ldr	r0, [r4, #52]
 2719 0056 FFF7FEFF 		bl	HAL_DMA_Abort
 2720              	.LVL208:
1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 2721              		.loc 1 1579 10 view .LVU792
 2722 005a 90B9     		cbnz	r0, .L173
 2723              	.L170:
1593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxXferCount = 0x00U;
 2724              		.loc 1 1593 3 is_stmt 1 view .LVU793
1593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxXferCount = 0x00U;
 2725              		.loc 1 1593 22 is_stmt 0 view .LVU794
 2726 005c 0020     		movs	r0, #0
 2727 005e E084     		strh	r0, [r4, #38]	@ movhi
1594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2728              		.loc 1 1594 3 is_stmt 1 view .LVU795
1594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2729              		.loc 1 1594 22 is_stmt 0 view .LVU796
 2730 0060 E085     		strh	r0, [r4, #46]	@ movhi
1597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2731              		.loc 1 1597 3 is_stmt 1 view .LVU797
1597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2732              		.loc 1 1597 20 is_stmt 0 view .LVU798
 2733 0062 E063     		str	r0, [r4, #60]
1600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
 2734              		.loc 1 1600 3 is_stmt 1 view .LVU799
1600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
 2735              		.loc 1 1600 18 is_stmt 0 view .LVU800
 2736 0064 2023     		movs	r3, #32
 2737 0066 84F83A30 		strb	r3, [r4, #58]
1601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2738              		.loc 1 1601 3 is_stmt 1 view .LVU801
1601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
ARM GAS  /tmp/ccGtkZvD.s 			page 116


 2739              		.loc 1 1601 17 is_stmt 0 view .LVU802
 2740 006a 84F83930 		strb	r3, [r4, #57]
1603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 2741              		.loc 1 1603 3 is_stmt 1 view .LVU803
 2742              	.L169:
1604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2743              		.loc 1 1604 1 is_stmt 0 view .LVU804
 2744 006e 10BD     		pop	{r4, pc}
 2745              	.LVL209:
 2746              	.L172:
1556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 2747              		.loc 1 1556 9 is_stmt 1 view .LVU805
1556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 2748              		.loc 1 1556 13 is_stmt 0 view .LVU806
 2749 0070 206B     		ldr	r0, [r4, #48]
 2750 0072 FFF7FEFF 		bl	HAL_DMA_GetError
 2751              	.LVL210:
1556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 2752              		.loc 1 1556 12 view .LVU807
 2753 0076 2028     		cmp	r0, #32
 2754 0078 DFD1     		bne	.L168
1559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2755              		.loc 1 1559 11 is_stmt 1 view .LVU808
1559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2756              		.loc 1 1559 28 is_stmt 0 view .LVU809
 2757 007a 1023     		movs	r3, #16
 2758 007c E363     		str	r3, [r4, #60]
1561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
 2759              		.loc 1 1561 11 is_stmt 1 view .LVU810
1561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
 2760              		.loc 1 1561 18 is_stmt 0 view .LVU811
 2761 007e 0320     		movs	r0, #3
 2762 0080 F5E7     		b	.L169
 2763              	.L173:
1581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 2764              		.loc 1 1581 9 is_stmt 1 view .LVU812
1581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 2765              		.loc 1 1581 13 is_stmt 0 view .LVU813
 2766 0082 606B     		ldr	r0, [r4, #52]
 2767 0084 FFF7FEFF 		bl	HAL_DMA_GetError
 2768              	.LVL211:
1581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 2769              		.loc 1 1581 12 view .LVU814
 2770 0088 2028     		cmp	r0, #32
 2771 008a E7D1     		bne	.L170
1584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2772              		.loc 1 1584 11 is_stmt 1 view .LVU815
1584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2773              		.loc 1 1584 28 is_stmt 0 view .LVU816
 2774 008c 1023     		movs	r3, #16
 2775 008e E363     		str	r3, [r4, #60]
1586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
 2776              		.loc 1 1586 11 is_stmt 1 view .LVU817
1586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
 2777              		.loc 1 1586 18 is_stmt 0 view .LVU818
 2778 0090 0320     		movs	r0, #3
 2779 0092 ECE7     		b	.L169
ARM GAS  /tmp/ccGtkZvD.s 			page 117


 2780              		.cfi_endproc
 2781              	.LFE146:
 2783              		.section	.text.HAL_UART_AbortTransmit,"ax",%progbits
 2784              		.align	1
 2785              		.global	HAL_UART_AbortTransmit
 2786              		.syntax unified
 2787              		.thumb
 2788              		.thumb_func
 2790              	HAL_UART_AbortTransmit:
 2791              	.LVL212:
 2792              	.LFB147:
1619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable TXEIE and TCIE interrupts */
 2793              		.loc 1 1619 1 is_stmt 1 view -0
 2794              		.cfi_startproc
 2795              		@ args = 0, pretend = 0, frame = 0
 2796              		@ frame_needed = 0, uses_anonymous_args = 0
1619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable TXEIE and TCIE interrupts */
 2797              		.loc 1 1619 1 is_stmt 0 view .LVU820
 2798 0000 10B5     		push	{r4, lr}
 2799              	.LCFI29:
 2800              		.cfi_def_cfa_offset 8
 2801              		.cfi_offset 4, -8
 2802              		.cfi_offset 14, -4
 2803 0002 0446     		mov	r4, r0
1621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2804              		.loc 1 1621 3 is_stmt 1 view .LVU821
 2805 0004 0268     		ldr	r2, [r0]
 2806 0006 D368     		ldr	r3, [r2, #12]
 2807 0008 23F0C003 		bic	r3, r3, #192
 2808 000c D360     		str	r3, [r2, #12]
1624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2809              		.loc 1 1624 3 view .LVU822
1624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2810              		.loc 1 1624 7 is_stmt 0 view .LVU823
 2811 000e 0368     		ldr	r3, [r0]
 2812 0010 5A69     		ldr	r2, [r3, #20]
1624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2813              		.loc 1 1624 6 view .LVU824
 2814 0012 12F0800F 		tst	r2, #128
 2815 0016 0BD0     		beq	.L175
1626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2816              		.loc 1 1626 5 is_stmt 1 view .LVU825
 2817 0018 5A69     		ldr	r2, [r3, #20]
 2818 001a 22F08002 		bic	r2, r2, #128
 2819 001e 5A61     		str	r2, [r3, #20]
1629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 2820              		.loc 1 1629 5 view .LVU826
1629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 2821              		.loc 1 1629 14 is_stmt 0 view .LVU827
 2822 0020 036B     		ldr	r3, [r0, #48]
1629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 2823              		.loc 1 1629 8 view .LVU828
 2824 0022 2BB1     		cbz	r3, .L175
1633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2825              		.loc 1 1633 7 is_stmt 1 view .LVU829
1633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2826              		.loc 1 1633 40 is_stmt 0 view .LVU830
ARM GAS  /tmp/ccGtkZvD.s 			page 118


 2827 0024 0022     		movs	r2, #0
 2828 0026 1A65     		str	r2, [r3, #80]
1635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 2829              		.loc 1 1635 7 is_stmt 1 view .LVU831
1635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 2830              		.loc 1 1635 11 is_stmt 0 view .LVU832
 2831 0028 006B     		ldr	r0, [r0, #48]
 2832              	.LVL213:
1635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 2833              		.loc 1 1635 11 view .LVU833
 2834 002a FFF7FEFF 		bl	HAL_DMA_Abort
 2835              	.LVL214:
1635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 2836              		.loc 1 1635 10 view .LVU834
 2837 002e 28B9     		cbnz	r0, .L178
 2838              	.L175:
1649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2839              		.loc 1 1649 3 is_stmt 1 view .LVU835
1649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2840              		.loc 1 1649 22 is_stmt 0 view .LVU836
 2841 0030 0020     		movs	r0, #0
 2842 0032 E084     		strh	r0, [r4, #38]	@ movhi
1652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2843              		.loc 1 1652 3 is_stmt 1 view .LVU837
1652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2844              		.loc 1 1652 17 is_stmt 0 view .LVU838
 2845 0034 2023     		movs	r3, #32
 2846 0036 84F83930 		strb	r3, [r4, #57]
1654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 2847              		.loc 1 1654 3 is_stmt 1 view .LVU839
 2848              	.L176:
1655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2849              		.loc 1 1655 1 is_stmt 0 view .LVU840
 2850 003a 10BD     		pop	{r4, pc}
 2851              	.LVL215:
 2852              	.L178:
1637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 2853              		.loc 1 1637 9 is_stmt 1 view .LVU841
1637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 2854              		.loc 1 1637 13 is_stmt 0 view .LVU842
 2855 003c 206B     		ldr	r0, [r4, #48]
 2856 003e FFF7FEFF 		bl	HAL_DMA_GetError
 2857              	.LVL216:
1637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 2858              		.loc 1 1637 12 view .LVU843
 2859 0042 2028     		cmp	r0, #32
 2860 0044 F4D1     		bne	.L175
1640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2861              		.loc 1 1640 11 is_stmt 1 view .LVU844
1640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2862              		.loc 1 1640 28 is_stmt 0 view .LVU845
 2863 0046 1023     		movs	r3, #16
 2864 0048 E363     		str	r3, [r4, #60]
1642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
 2865              		.loc 1 1642 11 is_stmt 1 view .LVU846
1642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
 2866              		.loc 1 1642 18 is_stmt 0 view .LVU847
ARM GAS  /tmp/ccGtkZvD.s 			page 119


 2867 004a 0320     		movs	r0, #3
 2868 004c F5E7     		b	.L176
 2869              		.cfi_endproc
 2870              	.LFE147:
 2872              		.section	.text.HAL_UART_AbortReceive,"ax",%progbits
 2873              		.align	1
 2874              		.global	HAL_UART_AbortReceive
 2875              		.syntax unified
 2876              		.thumb
 2877              		.thumb_func
 2879              	HAL_UART_AbortReceive:
 2880              	.LVL217:
 2881              	.LFB148:
1670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
 2882              		.loc 1 1670 1 is_stmt 1 view -0
 2883              		.cfi_startproc
 2884              		@ args = 0, pretend = 0, frame = 0
 2885              		@ frame_needed = 0, uses_anonymous_args = 0
1670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
 2886              		.loc 1 1670 1 is_stmt 0 view .LVU849
 2887 0000 10B5     		push	{r4, lr}
 2888              	.LCFI30:
 2889              		.cfi_def_cfa_offset 8
 2890              		.cfi_offset 4, -8
 2891              		.cfi_offset 14, -4
 2892 0002 0446     		mov	r4, r0
1672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
 2893              		.loc 1 1672 3 is_stmt 1 view .LVU850
 2894 0004 0268     		ldr	r2, [r0]
 2895 0006 D368     		ldr	r3, [r2, #12]
 2896 0008 23F49073 		bic	r3, r3, #288
 2897 000c D360     		str	r3, [r2, #12]
1673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2898              		.loc 1 1673 3 view .LVU851
 2899 000e 0268     		ldr	r2, [r0]
 2900 0010 5369     		ldr	r3, [r2, #20]
 2901 0012 23F00103 		bic	r3, r3, #1
 2902 0016 5361     		str	r3, [r2, #20]
1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2903              		.loc 1 1676 3 view .LVU852
1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2904              		.loc 1 1676 7 is_stmt 0 view .LVU853
 2905 0018 0368     		ldr	r3, [r0]
 2906 001a 5A69     		ldr	r2, [r3, #20]
1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 2907              		.loc 1 1676 6 view .LVU854
 2908 001c 12F0400F 		tst	r2, #64
 2909 0020 0BD0     		beq	.L180
1678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2910              		.loc 1 1678 5 is_stmt 1 view .LVU855
 2911 0022 5A69     		ldr	r2, [r3, #20]
 2912 0024 22F04002 		bic	r2, r2, #64
 2913 0028 5A61     		str	r2, [r3, #20]
1681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 2914              		.loc 1 1681 5 view .LVU856
1681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 2915              		.loc 1 1681 14 is_stmt 0 view .LVU857
ARM GAS  /tmp/ccGtkZvD.s 			page 120


 2916 002a 436B     		ldr	r3, [r0, #52]
1681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 2917              		.loc 1 1681 8 view .LVU858
 2918 002c 2BB1     		cbz	r3, .L180
1685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2919              		.loc 1 1685 7 is_stmt 1 view .LVU859
1685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2920              		.loc 1 1685 40 is_stmt 0 view .LVU860
 2921 002e 0022     		movs	r2, #0
 2922 0030 1A65     		str	r2, [r3, #80]
1687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 2923              		.loc 1 1687 7 is_stmt 1 view .LVU861
1687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 2924              		.loc 1 1687 11 is_stmt 0 view .LVU862
 2925 0032 406B     		ldr	r0, [r0, #52]
 2926              	.LVL218:
1687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 2927              		.loc 1 1687 11 view .LVU863
 2928 0034 FFF7FEFF 		bl	HAL_DMA_Abort
 2929              	.LVL219:
1687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 2930              		.loc 1 1687 10 view .LVU864
 2931 0038 28B9     		cbnz	r0, .L183
 2932              	.L180:
1701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2933              		.loc 1 1701 3 is_stmt 1 view .LVU865
1701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2934              		.loc 1 1701 22 is_stmt 0 view .LVU866
 2935 003a 0020     		movs	r0, #0
 2936 003c E085     		strh	r0, [r4, #46]	@ movhi
1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2937              		.loc 1 1704 3 is_stmt 1 view .LVU867
1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2938              		.loc 1 1704 18 is_stmt 0 view .LVU868
 2939 003e 2023     		movs	r3, #32
 2940 0040 84F83A30 		strb	r3, [r4, #58]
1706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 2941              		.loc 1 1706 3 is_stmt 1 view .LVU869
 2942              	.L181:
1707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2943              		.loc 1 1707 1 is_stmt 0 view .LVU870
 2944 0044 10BD     		pop	{r4, pc}
 2945              	.LVL220:
 2946              	.L183:
1689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 2947              		.loc 1 1689 9 is_stmt 1 view .LVU871
1689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 2948              		.loc 1 1689 13 is_stmt 0 view .LVU872
 2949 0046 606B     		ldr	r0, [r4, #52]
 2950 0048 FFF7FEFF 		bl	HAL_DMA_GetError
 2951              	.LVL221:
1689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 2952              		.loc 1 1689 12 view .LVU873
 2953 004c 2028     		cmp	r0, #32
 2954 004e F4D1     		bne	.L180
1692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2955              		.loc 1 1692 11 is_stmt 1 view .LVU874
ARM GAS  /tmp/ccGtkZvD.s 			page 121


1692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2956              		.loc 1 1692 28 is_stmt 0 view .LVU875
 2957 0050 1023     		movs	r3, #16
 2958 0052 E363     		str	r3, [r4, #60]
1694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
 2959              		.loc 1 1694 11 is_stmt 1 view .LVU876
1694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         }
 2960              		.loc 1 1694 18 is_stmt 0 view .LVU877
 2961 0054 0320     		movs	r0, #3
 2962 0056 F5E7     		b	.L181
 2963              		.cfi_endproc
 2964              	.LFE148:
 2966              		.section	.text.HAL_UART_TxCpltCallback,"ax",%progbits
 2967              		.align	1
 2968              		.weak	HAL_UART_TxCpltCallback
 2969              		.syntax unified
 2970              		.thumb
 2971              		.thumb_func
 2973              	HAL_UART_TxCpltCallback:
 2974              	.LVL222:
 2975              	.LFB153:
2145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
 2976              		.loc 1 2145 1 is_stmt 1 view -0
 2977              		.cfi_startproc
 2978              		@ args = 0, pretend = 0, frame = 0
 2979              		@ frame_needed = 0, uses_anonymous_args = 0
 2980              		@ link register save eliminated.
2147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* NOTE: This function should not be modified, when the callback is needed,
 2981              		.loc 1 2147 3 view .LVU879
2151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 2982              		.loc 1 2151 1 is_stmt 0 view .LVU880
 2983 0000 7047     		bx	lr
 2984              		.cfi_endproc
 2985              	.LFE153:
 2987              		.section	.text.UART_DMATransmitCplt,"ax",%progbits
 2988              		.align	1
 2989              		.syntax unified
 2990              		.thumb
 2991              		.thumb_func
 2993              	UART_DMATransmitCplt:
 2994              	.LVL223:
 2995              	.LFB168:
2520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
 2996              		.loc 1 2520 1 is_stmt 1 view -0
 2997              		.cfi_startproc
 2998              		@ args = 0, pretend = 0, frame = 0
 2999              		@ frame_needed = 0, uses_anonymous_args = 0
2520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
 3000              		.loc 1 2520 1 is_stmt 0 view .LVU882
 3001 0000 08B5     		push	{r3, lr}
 3002              	.LCFI31:
 3003              		.cfi_def_cfa_offset 8
 3004              		.cfi_offset 3, -8
 3005              		.cfi_offset 14, -4
 3006 0002 0346     		mov	r3, r0
2521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* DMA Normal mode*/
 3007              		.loc 1 2521 3 is_stmt 1 view .LVU883
ARM GAS  /tmp/ccGtkZvD.s 			page 122


2521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* DMA Normal mode*/
 3008              		.loc 1 2521 23 is_stmt 0 view .LVU884
 3009 0004 806B     		ldr	r0, [r0, #56]
 3010              	.LVL224:
2523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3011              		.loc 1 2523 3 is_stmt 1 view .LVU885
2523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3012              		.loc 1 2523 12 is_stmt 0 view .LVU886
 3013 0006 1B68     		ldr	r3, [r3]
 3014              	.LVL225:
2523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3015              		.loc 1 2523 22 view .LVU887
 3016 0008 1B68     		ldr	r3, [r3]
2523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3017              		.loc 1 2523 6 view .LVU888
 3018 000a 13F4807F 		tst	r3, #256
 3019 000e 0CD1     		bne	.L186
2525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3020              		.loc 1 2525 5 is_stmt 1 view .LVU889
2525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3021              		.loc 1 2525 24 is_stmt 0 view .LVU890
 3022 0010 0023     		movs	r3, #0
 3023 0012 C384     		strh	r3, [r0, #38]	@ movhi
2529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3024              		.loc 1 2529 5 is_stmt 1 view .LVU891
 3025 0014 0268     		ldr	r2, [r0]
 3026 0016 5369     		ldr	r3, [r2, #20]
 3027 0018 23F08003 		bic	r3, r3, #128
 3028 001c 5361     		str	r3, [r2, #20]
2532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3029              		.loc 1 2532 5 view .LVU892
 3030 001e 0268     		ldr	r2, [r0]
 3031 0020 D368     		ldr	r3, [r2, #12]
 3032 0022 43F04003 		orr	r3, r3, #64
 3033 0026 D360     		str	r3, [r2, #12]
 3034              	.LVL226:
 3035              	.L185:
2546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3036              		.loc 1 2546 1 is_stmt 0 view .LVU893
 3037 0028 08BD     		pop	{r3, pc}
 3038              	.LVL227:
 3039              	.L186:
2543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 3040              		.loc 1 2543 5 is_stmt 1 view .LVU894
 3041 002a FFF7FEFF 		bl	HAL_UART_TxCpltCallback
 3042              	.LVL228:
2546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3043              		.loc 1 2546 1 is_stmt 0 view .LVU895
 3044 002e FBE7     		b	.L185
 3045              		.cfi_endproc
 3046              	.LFE168:
 3048              		.section	.text.UART_EndTransmit_IT,"ax",%progbits
 3049              		.align	1
 3050              		.syntax unified
 3051              		.thumb
 3052              		.thumb_func
 3054              	UART_EndTransmit_IT:
ARM GAS  /tmp/ccGtkZvD.s 			page 123


 3055              	.LVL229:
 3056              	.LFB182:
2945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable the UART Transmit Complete Interrupt */
 3057              		.loc 1 2945 1 is_stmt 1 view -0
 3058              		.cfi_startproc
 3059              		@ args = 0, pretend = 0, frame = 0
 3060              		@ frame_needed = 0, uses_anonymous_args = 0
2945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable the UART Transmit Complete Interrupt */
 3061              		.loc 1 2945 1 is_stmt 0 view .LVU897
 3062 0000 08B5     		push	{r3, lr}
 3063              	.LCFI32:
 3064              		.cfi_def_cfa_offset 8
 3065              		.cfi_offset 3, -8
 3066              		.cfi_offset 14, -4
2947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3067              		.loc 1 2947 3 is_stmt 1 view .LVU898
 3068 0002 0168     		ldr	r1, [r0]
 3069 0004 CA68     		ldr	r2, [r1, #12]
 3070 0006 22F04002 		bic	r2, r2, #64
 3071 000a CA60     		str	r2, [r1, #12]
2950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3072              		.loc 1 2950 3 view .LVU899
2950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3073              		.loc 1 2950 17 is_stmt 0 view .LVU900
 3074 000c 2022     		movs	r2, #32
 3075 000e 80F83920 		strb	r2, [r0, #57]
2957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 3076              		.loc 1 2957 3 is_stmt 1 view .LVU901
 3077 0012 FFF7FEFF 		bl	HAL_UART_TxCpltCallback
 3078              	.LVL230:
2960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 3079              		.loc 1 2960 3 view .LVU902
2961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3080              		.loc 1 2961 1 is_stmt 0 view .LVU903
 3081 0016 0020     		movs	r0, #0
 3082 0018 08BD     		pop	{r3, pc}
 3083              		.cfi_endproc
 3084              	.LFE182:
 3086              		.section	.text.HAL_UART_TxHalfCpltCallback,"ax",%progbits
 3087              		.align	1
 3088              		.weak	HAL_UART_TxHalfCpltCallback
 3089              		.syntax unified
 3090              		.thumb
 3091              		.thumb_func
 3093              	HAL_UART_TxHalfCpltCallback:
 3094              	.LVL231:
 3095              	.LFB154:
2160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
 3096              		.loc 1 2160 1 is_stmt 1 view -0
 3097              		.cfi_startproc
 3098              		@ args = 0, pretend = 0, frame = 0
 3099              		@ frame_needed = 0, uses_anonymous_args = 0
 3100              		@ link register save eliminated.
2162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* NOTE: This function should not be modified, when the callback is needed,
 3101              		.loc 1 2162 3 view .LVU905
2166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3102              		.loc 1 2166 1 is_stmt 0 view .LVU906
ARM GAS  /tmp/ccGtkZvD.s 			page 124


 3103 0000 7047     		bx	lr
 3104              		.cfi_endproc
 3105              	.LFE154:
 3107              		.section	.text.UART_DMATxHalfCplt,"ax",%progbits
 3108              		.align	1
 3109              		.syntax unified
 3110              		.thumb
 3111              		.thumb_func
 3113              	UART_DMATxHalfCplt:
 3114              	.LVL232:
 3115              	.LFB169:
2555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
 3116              		.loc 1 2555 1 is_stmt 1 view -0
 3117              		.cfi_startproc
 3118              		@ args = 0, pretend = 0, frame = 0
 3119              		@ frame_needed = 0, uses_anonymous_args = 0
2555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
 3120              		.loc 1 2555 1 is_stmt 0 view .LVU908
 3121 0000 08B5     		push	{r3, lr}
 3122              	.LCFI33:
 3123              		.cfi_def_cfa_offset 8
 3124              		.cfi_offset 3, -8
 3125              		.cfi_offset 14, -4
2556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3126              		.loc 1 2556 3 is_stmt 1 view .LVU909
 3127              	.LVL233:
2563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 3128              		.loc 1 2563 3 view .LVU910
 3129 0002 806B     		ldr	r0, [r0, #56]
 3130              	.LVL234:
2563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 3131              		.loc 1 2563 3 is_stmt 0 view .LVU911
 3132 0004 FFF7FEFF 		bl	HAL_UART_TxHalfCpltCallback
 3133              	.LVL235:
2565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3134              		.loc 1 2565 1 view .LVU912
 3135 0008 08BD     		pop	{r3, pc}
 3136              		.cfi_endproc
 3137              	.LFE169:
 3139              		.section	.text.HAL_UART_RxCpltCallback,"ax",%progbits
 3140              		.align	1
 3141              		.weak	HAL_UART_RxCpltCallback
 3142              		.syntax unified
 3143              		.thumb
 3144              		.thumb_func
 3146              	HAL_UART_RxCpltCallback:
 3147              	.LVL236:
 3148              	.LFB155:
2175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
 3149              		.loc 1 2175 1 is_stmt 1 view -0
 3150              		.cfi_startproc
 3151              		@ args = 0, pretend = 0, frame = 0
 3152              		@ frame_needed = 0, uses_anonymous_args = 0
 3153              		@ link register save eliminated.
2177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* NOTE: This function should not be modified, when the callback is needed,
 3154              		.loc 1 2177 3 view .LVU914
2181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
ARM GAS  /tmp/ccGtkZvD.s 			page 125


 3155              		.loc 1 2181 1 is_stmt 0 view .LVU915
 3156 0000 7047     		bx	lr
 3157              		.cfi_endproc
 3158              	.LFE155:
 3160              		.section	.text.UART_DMAReceiveCplt,"ax",%progbits
 3161              		.align	1
 3162              		.syntax unified
 3163              		.thumb
 3164              		.thumb_func
 3166              	UART_DMAReceiveCplt:
 3167              	.LVL237:
 3168              	.LFB170:
2574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
 3169              		.loc 1 2574 1 is_stmt 1 view -0
 3170              		.cfi_startproc
 3171              		@ args = 0, pretend = 0, frame = 0
 3172              		@ frame_needed = 0, uses_anonymous_args = 0
2574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
 3173              		.loc 1 2574 1 is_stmt 0 view .LVU917
 3174 0000 08B5     		push	{r3, lr}
 3175              	.LCFI34:
 3176              		.cfi_def_cfa_offset 8
 3177              		.cfi_offset 3, -8
 3178              		.cfi_offset 14, -4
 3179 0002 0346     		mov	r3, r0
2575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* DMA Normal mode*/
 3180              		.loc 1 2575 3 is_stmt 1 view .LVU918
2575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* DMA Normal mode*/
 3181              		.loc 1 2575 23 is_stmt 0 view .LVU919
 3182 0004 806B     		ldr	r0, [r0, #56]
 3183              	.LVL238:
2577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3184              		.loc 1 2577 3 is_stmt 1 view .LVU920
2577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3185              		.loc 1 2577 12 is_stmt 0 view .LVU921
 3186 0006 1B68     		ldr	r3, [r3]
 3187              	.LVL239:
2577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3188              		.loc 1 2577 22 view .LVU922
 3189 0008 1B68     		ldr	r3, [r3]
2577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3190              		.loc 1 2577 6 view .LVU923
 3191 000a 13F4807F 		tst	r3, #256
 3192 000e 13D1     		bne	.L196
2579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3193              		.loc 1 2579 5 is_stmt 1 view .LVU924
2579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3194              		.loc 1 2579 24 is_stmt 0 view .LVU925
 3195 0010 0023     		movs	r3, #0
 3196 0012 C385     		strh	r3, [r0, #46]	@ movhi
2582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
 3197              		.loc 1 2582 5 is_stmt 1 view .LVU926
 3198 0014 0268     		ldr	r2, [r0]
 3199 0016 D368     		ldr	r3, [r2, #12]
 3200 0018 23F48073 		bic	r3, r3, #256
 3201 001c D360     		str	r3, [r2, #12]
2583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
ARM GAS  /tmp/ccGtkZvD.s 			page 126


 3202              		.loc 1 2583 5 view .LVU927
 3203 001e 0268     		ldr	r2, [r0]
 3204 0020 5369     		ldr	r3, [r2, #20]
 3205 0022 23F00103 		bic	r3, r3, #1
 3206 0026 5361     		str	r3, [r2, #20]
2587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3207              		.loc 1 2587 5 view .LVU928
 3208 0028 0268     		ldr	r2, [r0]
 3209 002a 5369     		ldr	r3, [r2, #20]
 3210 002c 23F04003 		bic	r3, r3, #64
 3211 0030 5361     		str	r3, [r2, #20]
2590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 3212              		.loc 1 2590 5 view .LVU929
2590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 3213              		.loc 1 2590 20 is_stmt 0 view .LVU930
 3214 0032 2023     		movs	r3, #32
 3215 0034 80F83A30 		strb	r3, [r0, #58]
 3216              	.L196:
2597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 3217              		.loc 1 2597 3 is_stmt 1 view .LVU931
 3218 0038 FFF7FEFF 		bl	HAL_UART_RxCpltCallback
 3219              	.LVL240:
2599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3220              		.loc 1 2599 1 is_stmt 0 view .LVU932
 3221 003c 08BD     		pop	{r3, pc}
 3222              		.cfi_endproc
 3223              	.LFE170:
 3225              		.section	.text.UART_Receive_IT,"ax",%progbits
 3226              		.align	1
 3227              		.syntax unified
 3228              		.thumb
 3229              		.thumb_func
 3231              	UART_Receive_IT:
 3232              	.LVL241:
 3233              	.LFB183:
2970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint16_t *tmp;
 3234              		.loc 1 2970 1 is_stmt 1 view -0
 3235              		.cfi_startproc
 3236              		@ args = 0, pretend = 0, frame = 0
 3237              		@ frame_needed = 0, uses_anonymous_args = 0
2970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint16_t *tmp;
 3238              		.loc 1 2970 1 is_stmt 0 view .LVU934
 3239 0000 08B5     		push	{r3, lr}
 3240              	.LCFI35:
 3241              		.cfi_def_cfa_offset 8
 3242              		.cfi_offset 3, -8
 3243              		.cfi_offset 14, -4
2971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3244              		.loc 1 2971 3 is_stmt 1 view .LVU935
2974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3245              		.loc 1 2974 3 view .LVU936
2974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3246              		.loc 1 2974 12 is_stmt 0 view .LVU937
 3247 0002 90F83A30 		ldrb	r3, [r0, #58]	@ zero_extendqisi2
 3248 0006 DBB2     		uxtb	r3, r3
2974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3249              		.loc 1 2974 6 view .LVU938
ARM GAS  /tmp/ccGtkZvD.s 			page 127


 3250 0008 222B     		cmp	r3, #34
 3251 000a 46D1     		bne	.L204
2976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3252              		.loc 1 2976 5 is_stmt 1 view .LVU939
2976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3253              		.loc 1 2976 20 is_stmt 0 view .LVU940
 3254 000c 8368     		ldr	r3, [r0, #8]
2976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3255              		.loc 1 2976 8 view .LVU941
 3256 000e B3F5805F 		cmp	r3, #4096
 3257 0012 0FD0     		beq	.L207
2992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 3258              		.loc 1 2992 7 is_stmt 1 view .LVU942
2992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 3259              		.loc 1 2992 22 is_stmt 0 view .LVU943
 3260 0014 0369     		ldr	r3, [r0, #16]
2992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 3261              		.loc 1 2992 10 view .LVU944
 3262 0016 0BBB     		cbnz	r3, .L203
2994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 3263              		.loc 1 2994 9 is_stmt 1 view .LVU945
2994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 3264              		.loc 1 2994 47 is_stmt 0 view .LVU946
 3265 0018 0368     		ldr	r3, [r0]
2994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 3266              		.loc 1 2994 57 view .LVU947
 3267 001a 5A68     		ldr	r2, [r3, #4]
2994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 3268              		.loc 1 2994 15 view .LVU948
 3269 001c 836A     		ldr	r3, [r0, #40]
2994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 3270              		.loc 1 2994 27 view .LVU949
 3271 001e 591C     		adds	r1, r3, #1
 3272 0020 8162     		str	r1, [r0, #40]
2994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 3273              		.loc 1 2994 30 view .LVU950
 3274 0022 1A70     		strb	r2, [r3]
 3275              	.L202:
3002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3276              		.loc 1 3002 5 is_stmt 1 view .LVU951
3002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3277              		.loc 1 3002 16 is_stmt 0 view .LVU952
 3278 0024 C38D     		ldrh	r3, [r0, #46]
 3279 0026 9BB2     		uxth	r3, r3
3002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3280              		.loc 1 3002 9 view .LVU953
 3281 0028 013B     		subs	r3, r3, #1
 3282 002a 9BB2     		uxth	r3, r3
3002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3283              		.loc 1 3002 8 view .LVU954
 3284 002c C385     		strh	r3, [r0, #46]	@ movhi
 3285 002e F3B1     		cbz	r3, .L208
3026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 3286              		.loc 1 3026 12 view .LVU955
 3287 0030 0020     		movs	r0, #0
 3288              	.LVL242:
 3289              	.L199:
ARM GAS  /tmp/ccGtkZvD.s 			page 128


3032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3290              		.loc 1 3032 1 view .LVU956
 3291 0032 08BD     		pop	{r3, pc}
 3292              	.LVL243:
 3293              	.L207:
2978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       if (huart->Init.Parity == UART_PARITY_NONE)
 3294              		.loc 1 2978 7 is_stmt 1 view .LVU957
2978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       if (huart->Init.Parity == UART_PARITY_NONE)
 3295              		.loc 1 2978 11 is_stmt 0 view .LVU958
 3296 0034 826A     		ldr	r2, [r0, #40]
 3297              	.LVL244:
2979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 3298              		.loc 1 2979 7 is_stmt 1 view .LVU959
2979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 3299              		.loc 1 2979 22 is_stmt 0 view .LVU960
 3300 0036 0369     		ldr	r3, [r0, #16]
2979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 3301              		.loc 1 2979 10 view .LVU961
 3302 0038 43B9     		cbnz	r3, .L201
2981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->pRxBuffPtr += 2U;
 3303              		.loc 1 2981 9 is_stmt 1 view .LVU962
2981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->pRxBuffPtr += 2U;
 3304              		.loc 1 2981 32 is_stmt 0 view .LVU963
 3305 003a 0368     		ldr	r3, [r0]
2981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->pRxBuffPtr += 2U;
 3306              		.loc 1 2981 42 view .LVU964
 3307 003c 5B68     		ldr	r3, [r3, #4]
2981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->pRxBuffPtr += 2U;
 3308              		.loc 1 2981 16 view .LVU965
 3309 003e C3F30803 		ubfx	r3, r3, #0, #9
2981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->pRxBuffPtr += 2U;
 3310              		.loc 1 2981 14 view .LVU966
 3311 0042 1380     		strh	r3, [r2]	@ movhi
2982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 3312              		.loc 1 2982 9 is_stmt 1 view .LVU967
2982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 3313              		.loc 1 2982 27 is_stmt 0 view .LVU968
 3314 0044 836A     		ldr	r3, [r0, #40]
 3315 0046 0233     		adds	r3, r3, #2
 3316 0048 8362     		str	r3, [r0, #40]
 3317 004a EBE7     		b	.L202
 3318              	.L201:
2986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->pRxBuffPtr += 1U;
 3319              		.loc 1 2986 9 is_stmt 1 view .LVU969
2986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->pRxBuffPtr += 1U;
 3320              		.loc 1 2986 32 is_stmt 0 view .LVU970
 3321 004c 0368     		ldr	r3, [r0]
2986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->pRxBuffPtr += 1U;
 3322              		.loc 1 2986 42 view .LVU971
 3323 004e 5B68     		ldr	r3, [r3, #4]
2986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->pRxBuffPtr += 1U;
 3324              		.loc 1 2986 16 view .LVU972
 3325 0050 DBB2     		uxtb	r3, r3
2986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         huart->pRxBuffPtr += 1U;
 3326              		.loc 1 2986 14 view .LVU973
 3327 0052 1380     		strh	r3, [r2]	@ movhi
2987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
ARM GAS  /tmp/ccGtkZvD.s 			page 129


 3328              		.loc 1 2987 9 is_stmt 1 view .LVU974
2987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 3329              		.loc 1 2987 27 is_stmt 0 view .LVU975
 3330 0054 836A     		ldr	r3, [r0, #40]
 3331 0056 0133     		adds	r3, r3, #1
 3332 0058 8362     		str	r3, [r0, #40]
 3333 005a E3E7     		b	.L202
 3334              	.LVL245:
 3335              	.L203:
2998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 3336              		.loc 1 2998 9 is_stmt 1 view .LVU976
2998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 3337              		.loc 1 2998 47 is_stmt 0 view .LVU977
 3338 005c 0368     		ldr	r3, [r0]
2998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 3339              		.loc 1 2998 57 view .LVU978
 3340 005e 5B68     		ldr	r3, [r3, #4]
2998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 3341              		.loc 1 2998 15 view .LVU979
 3342 0060 826A     		ldr	r2, [r0, #40]
2998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 3343              		.loc 1 2998 27 view .LVU980
 3344 0062 511C     		adds	r1, r2, #1
 3345 0064 8162     		str	r1, [r0, #40]
2998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 3346              		.loc 1 2998 32 view .LVU981
 3347 0066 03F07F03 		and	r3, r3, #127
2998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 3348              		.loc 1 2998 30 view .LVU982
 3349 006a 1370     		strb	r3, [r2]
 3350 006c DAE7     		b	.L202
 3351              	.L208:
3005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3352              		.loc 1 3005 7 is_stmt 1 view .LVU983
 3353 006e 0268     		ldr	r2, [r0]
 3354 0070 D368     		ldr	r3, [r2, #12]
 3355 0072 23F02003 		bic	r3, r3, #32
 3356 0076 D360     		str	r3, [r2, #12]
3008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3357              		.loc 1 3008 7 view .LVU984
 3358 0078 0268     		ldr	r2, [r0]
 3359 007a D368     		ldr	r3, [r2, #12]
 3360 007c 23F48073 		bic	r3, r3, #256
 3361 0080 D360     		str	r3, [r2, #12]
3011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3362              		.loc 1 3011 7 view .LVU985
 3363 0082 0268     		ldr	r2, [r0]
 3364 0084 5369     		ldr	r3, [r2, #20]
 3365 0086 23F00103 		bic	r3, r3, #1
 3366 008a 5361     		str	r3, [r2, #20]
3014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3367              		.loc 1 3014 7 view .LVU986
3014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3368              		.loc 1 3014 22 is_stmt 0 view .LVU987
 3369 008c 2023     		movs	r3, #32
 3370 008e 80F83A30 		strb	r3, [r0, #58]
3021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
ARM GAS  /tmp/ccGtkZvD.s 			page 130


 3371              		.loc 1 3021 7 is_stmt 1 view .LVU988
 3372 0092 FFF7FEFF 		bl	HAL_UART_RxCpltCallback
 3373              	.LVL246:
3024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 3374              		.loc 1 3024 7 view .LVU989
3024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 3375              		.loc 1 3024 14 is_stmt 0 view .LVU990
 3376 0096 0020     		movs	r0, #0
 3377 0098 CBE7     		b	.L199
 3378              	.LVL247:
 3379              	.L204:
3030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 3380              		.loc 1 3030 12 view .LVU991
 3381 009a 0220     		movs	r0, #2
 3382              	.LVL248:
3030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 3383              		.loc 1 3030 12 view .LVU992
 3384 009c C9E7     		b	.L199
 3385              		.cfi_endproc
 3386              	.LFE183:
 3388              		.section	.text.HAL_UART_RxHalfCpltCallback,"ax",%progbits
 3389              		.align	1
 3390              		.weak	HAL_UART_RxHalfCpltCallback
 3391              		.syntax unified
 3392              		.thumb
 3393              		.thumb_func
 3395              	HAL_UART_RxHalfCpltCallback:
 3396              	.LVL249:
 3397              	.LFB156:
2190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
 3398              		.loc 1 2190 1 is_stmt 1 view -0
 3399              		.cfi_startproc
 3400              		@ args = 0, pretend = 0, frame = 0
 3401              		@ frame_needed = 0, uses_anonymous_args = 0
 3402              		@ link register save eliminated.
2192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* NOTE: This function should not be modified, when the callback is needed,
 3403              		.loc 1 2192 3 view .LVU994
2196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3404              		.loc 1 2196 1 is_stmt 0 view .LVU995
 3405 0000 7047     		bx	lr
 3406              		.cfi_endproc
 3407              	.LFE156:
 3409              		.section	.text.UART_DMARxHalfCplt,"ax",%progbits
 3410              		.align	1
 3411              		.syntax unified
 3412              		.thumb
 3413              		.thumb_func
 3415              	UART_DMARxHalfCplt:
 3416              	.LVL250:
 3417              	.LFB171:
2608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
 3418              		.loc 1 2608 1 is_stmt 1 view -0
 3419              		.cfi_startproc
 3420              		@ args = 0, pretend = 0, frame = 0
 3421              		@ frame_needed = 0, uses_anonymous_args = 0
2608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
 3422              		.loc 1 2608 1 is_stmt 0 view .LVU997
ARM GAS  /tmp/ccGtkZvD.s 			page 131


 3423 0000 08B5     		push	{r3, lr}
 3424              	.LCFI36:
 3425              		.cfi_def_cfa_offset 8
 3426              		.cfi_offset 3, -8
 3427              		.cfi_offset 14, -4
2609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3428              		.loc 1 2609 3 is_stmt 1 view .LVU998
 3429              	.LVL251:
2616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 3430              		.loc 1 2616 3 view .LVU999
 3431 0002 806B     		ldr	r0, [r0, #56]
 3432              	.LVL252:
2616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 3433              		.loc 1 2616 3 is_stmt 0 view .LVU1000
 3434 0004 FFF7FEFF 		bl	HAL_UART_RxHalfCpltCallback
 3435              	.LVL253:
2618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3436              		.loc 1 2618 1 view .LVU1001
 3437 0008 08BD     		pop	{r3, pc}
 3438              		.cfi_endproc
 3439              	.LFE171:
 3441              		.section	.text.HAL_UART_ErrorCallback,"ax",%progbits
 3442              		.align	1
 3443              		.weak	HAL_UART_ErrorCallback
 3444              		.syntax unified
 3445              		.thumb
 3446              		.thumb_func
 3448              	HAL_UART_ErrorCallback:
 3449              	.LVL254:
 3450              	.LFB157:
2205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
 3451              		.loc 1 2205 1 is_stmt 1 view -0
 3452              		.cfi_startproc
 3453              		@ args = 0, pretend = 0, frame = 0
 3454              		@ frame_needed = 0, uses_anonymous_args = 0
 3455              		@ link register save eliminated.
2207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* NOTE: This function should not be modified, when the callback is needed,
 3456              		.loc 1 2207 3 view .LVU1003
2211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3457              		.loc 1 2211 1 is_stmt 0 view .LVU1004
 3458 0000 7047     		bx	lr
 3459              		.cfi_endproc
 3460              	.LFE157:
 3462              		.section	.text.UART_DMAError,"ax",%progbits
 3463              		.align	1
 3464              		.syntax unified
 3465              		.thumb
 3466              		.thumb_func
 3468              	UART_DMAError:
 3469              	.LVL255:
 3470              	.LFB172:
2627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t dmarequest = 0x00U;
 3471              		.loc 1 2627 1 is_stmt 1 view -0
 3472              		.cfi_startproc
 3473              		@ args = 0, pretend = 0, frame = 0
 3474              		@ frame_needed = 0, uses_anonymous_args = 0
2627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t dmarequest = 0x00U;
ARM GAS  /tmp/ccGtkZvD.s 			page 132


 3475              		.loc 1 2627 1 is_stmt 0 view .LVU1006
 3476 0000 10B5     		push	{r4, lr}
 3477              	.LCFI37:
 3478              		.cfi_def_cfa_offset 8
 3479              		.cfi_offset 4, -8
 3480              		.cfi_offset 14, -4
2628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
 3481              		.loc 1 2628 3 is_stmt 1 view .LVU1007
 3482              	.LVL256:
2629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3483              		.loc 1 2629 3 view .LVU1008
2629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3484              		.loc 1 2629 23 is_stmt 0 view .LVU1009
 3485 0002 846B     		ldr	r4, [r0, #56]
 3486              	.LVL257:
2632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
 3487              		.loc 1 2632 3 is_stmt 1 view .LVU1010
2632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
 3488              		.loc 1 2632 16 is_stmt 0 view .LVU1011
 3489 0004 2368     		ldr	r3, [r4]
 3490 0006 5A69     		ldr	r2, [r3, #20]
 3491              	.LVL258:
2633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3492              		.loc 1 2633 3 is_stmt 1 view .LVU1012
2633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3493              		.loc 1 2633 13 is_stmt 0 view .LVU1013
 3494 0008 94F83930 		ldrb	r3, [r4, #57]	@ zero_extendqisi2
 3495 000c DBB2     		uxtb	r3, r3
2633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3496              		.loc 1 2633 6 view .LVU1014
 3497 000e 212B     		cmp	r3, #33
 3498 0010 10D0     		beq	.L217
 3499              	.LVL259:
 3500              	.L214:
2640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
 3501              		.loc 1 2640 3 is_stmt 1 view .LVU1015
2640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
 3502              		.loc 1 2640 16 is_stmt 0 view .LVU1016
 3503 0012 2368     		ldr	r3, [r4]
 3504 0014 5A69     		ldr	r2, [r3, #20]
 3505 0016 02F04002 		and	r2, r2, #64
 3506              	.LVL260:
2641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3507              		.loc 1 2641 3 is_stmt 1 view .LVU1017
2641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3508              		.loc 1 2641 13 is_stmt 0 view .LVU1018
 3509 001a 94F83A30 		ldrb	r3, [r4, #58]	@ zero_extendqisi2
 3510 001e DBB2     		uxtb	r3, r3
2641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3511              		.loc 1 2641 6 view .LVU1019
 3512 0020 222B     		cmp	r3, #34
 3513 0022 11D0     		beq	.L218
 3514              	.LVL261:
 3515              	.L215:
2647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
 3516              		.loc 1 2647 3 is_stmt 1 view .LVU1020
2647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
ARM GAS  /tmp/ccGtkZvD.s 			page 133


 3517              		.loc 1 2647 20 is_stmt 0 view .LVU1021
 3518 0024 E36B     		ldr	r3, [r4, #60]
 3519 0026 43F01003 		orr	r3, r3, #16
 3520 002a E363     		str	r3, [r4, #60]
2653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 3521              		.loc 1 2653 3 is_stmt 1 view .LVU1022
 3522 002c 2046     		mov	r0, r4
 3523 002e FFF7FEFF 		bl	HAL_UART_ErrorCallback
 3524              	.LVL262:
2655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3525              		.loc 1 2655 1 is_stmt 0 view .LVU1023
 3526 0032 10BD     		pop	{r4, pc}
 3527              	.LVL263:
 3528              	.L217:
2655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3529              		.loc 1 2655 1 view .LVU1024
 3530 0034 02F08002 		and	r2, r2, #128
 3531              	.LVL264:
2633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3532              		.loc 1 2633 49 discriminator 1 view .LVU1025
 3533 0038 002A     		cmp	r2, #0
 3534 003a EAD0     		beq	.L214
2635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     UART_EndTxTransfer(huart);
 3535              		.loc 1 2635 5 is_stmt 1 view .LVU1026
2635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     UART_EndTxTransfer(huart);
 3536              		.loc 1 2635 24 is_stmt 0 view .LVU1027
 3537 003c 0023     		movs	r3, #0
 3538 003e E384     		strh	r3, [r4, #38]	@ movhi
2636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 3539              		.loc 1 2636 5 is_stmt 1 view .LVU1028
 3540 0040 2046     		mov	r0, r4
 3541              	.LVL265:
2636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 3542              		.loc 1 2636 5 is_stmt 0 view .LVU1029
 3543 0042 FFF7FEFF 		bl	UART_EndTxTransfer
 3544              	.LVL266:
 3545 0046 E4E7     		b	.L214
 3546              	.LVL267:
 3547              	.L218:
2641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3548              		.loc 1 2641 50 discriminator 1 view .LVU1030
 3549 0048 002A     		cmp	r2, #0
 3550 004a EBD0     		beq	.L215
2643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     UART_EndRxTransfer(huart);
 3551              		.loc 1 2643 5 is_stmt 1 view .LVU1031
2643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     UART_EndRxTransfer(huart);
 3552              		.loc 1 2643 24 is_stmt 0 view .LVU1032
 3553 004c 0023     		movs	r3, #0
 3554 004e E385     		strh	r3, [r4, #46]	@ movhi
2644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 3555              		.loc 1 2644 5 is_stmt 1 view .LVU1033
 3556 0050 2046     		mov	r0, r4
 3557 0052 FFF7FEFF 		bl	UART_EndRxTransfer
 3558              	.LVL268:
2644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 3559              		.loc 1 2644 5 is_stmt 0 view .LVU1034
 3560 0056 E5E7     		b	.L215
ARM GAS  /tmp/ccGtkZvD.s 			page 134


 3561              		.cfi_endproc
 3562              	.LFE172:
 3564              		.section	.text.HAL_UART_IRQHandler,"ax",%progbits
 3565              		.align	1
 3566              		.global	HAL_UART_IRQHandler
 3567              		.syntax unified
 3568              		.thumb
 3569              		.thumb_func
 3571              	HAL_UART_IRQHandler:
 3572              	.LVL269:
 3573              	.LFB152:
1999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t isrflags   = READ_REG(huart->Instance->SR);
 3574              		.loc 1 1999 1 is_stmt 1 view -0
 3575              		.cfi_startproc
 3576              		@ args = 0, pretend = 0, frame = 0
 3577              		@ frame_needed = 0, uses_anonymous_args = 0
1999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t isrflags   = READ_REG(huart->Instance->SR);
 3578              		.loc 1 1999 1 is_stmt 0 view .LVU1036
 3579 0000 10B5     		push	{r4, lr}
 3580              	.LCFI38:
 3581              		.cfi_def_cfa_offset 8
 3582              		.cfi_offset 4, -8
 3583              		.cfi_offset 14, -4
 3584 0002 0446     		mov	r4, r0
2000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t cr1its     = READ_REG(huart->Instance->CR1);
 3585              		.loc 1 2000 3 is_stmt 1 view .LVU1037
2000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t cr1its     = READ_REG(huart->Instance->CR1);
 3586              		.loc 1 2000 25 is_stmt 0 view .LVU1038
 3587 0004 0268     		ldr	r2, [r0]
2000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t cr1its     = READ_REG(huart->Instance->CR1);
 3588              		.loc 1 2000 12 view .LVU1039
 3589 0006 1368     		ldr	r3, [r2]
 3590              	.LVL270:
2001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t cr3its     = READ_REG(huart->Instance->CR3);
 3591              		.loc 1 2001 3 is_stmt 1 view .LVU1040
2001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t cr3its     = READ_REG(huart->Instance->CR3);
 3592              		.loc 1 2001 12 is_stmt 0 view .LVU1041
 3593 0008 D168     		ldr	r1, [r2, #12]
 3594              	.LVL271:
2002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t errorflags = 0x00U;
 3595              		.loc 1 2002 3 is_stmt 1 view .LVU1042
2002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t errorflags = 0x00U;
 3596              		.loc 1 2002 12 is_stmt 0 view .LVU1043
 3597 000a 5269     		ldr	r2, [r2, #20]
 3598              	.LVL272:
2003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t dmarequest = 0x00U;
 3599              		.loc 1 2003 3 is_stmt 1 view .LVU1044
2004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3600              		.loc 1 2004 3 view .LVU1045
2007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   if (errorflags == RESET)
 3601              		.loc 1 2007 3 view .LVU1046
2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3602              		.loc 1 2008 3 view .LVU1047
2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3603              		.loc 1 2008 6 is_stmt 0 view .LVU1048
 3604 000c 13F00F00 		ands	r0, r3, #15
 3605              	.LVL273:
ARM GAS  /tmp/ccGtkZvD.s 			page 135


2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3606              		.loc 1 2008 6 view .LVU1049
 3607 0010 05D1     		bne	.L220
2011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3608              		.loc 1 2011 5 is_stmt 1 view .LVU1050
2011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3609              		.loc 1 2011 8 is_stmt 0 view .LVU1051
 3610 0012 13F0200F 		tst	r3, #32
 3611 0016 02D0     		beq	.L220
2011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3612              		.loc 1 2011 47 discriminator 1 view .LVU1052
 3613 0018 11F0200F 		tst	r1, #32
 3614 001c 13D1     		bne	.L236
 3615              	.L220:
2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3616              		.loc 1 2019 3 is_stmt 1 view .LVU1053
2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3617              		.loc 1 2019 6 is_stmt 0 view .LVU1054
 3618 001e 28B1     		cbz	r0, .L222
2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3619              		.loc 1 2019 29 discriminator 1 view .LVU1055
 3620 0020 12F00102 		ands	r2, r2, #1
 3621              	.LVL274:
2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3622              		.loc 1 2019 29 discriminator 1 view .LVU1056
 3623 0024 13D1     		bne	.L223
2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3624              		.loc 1 2019 69 discriminator 2 view .LVU1057
 3625 0026 11F4907F 		tst	r1, #288
 3626 002a 10D1     		bne	.L223
 3627              	.L222:
2124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3628              		.loc 1 2124 3 is_stmt 1 view .LVU1058
2124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3629              		.loc 1 2124 6 is_stmt 0 view .LVU1059
 3630 002c 13F0800F 		tst	r3, #128
 3631 0030 02D0     		beq	.L234
2124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3632              		.loc 1 2124 44 discriminator 1 view .LVU1060
 3633 0032 11F0800F 		tst	r1, #128
 3634 0036 69D1     		bne	.L237
 3635              	.L234:
2131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3636              		.loc 1 2131 3 is_stmt 1 view .LVU1061
2131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3637              		.loc 1 2131 6 is_stmt 0 view .LVU1062
 3638 0038 13F0400F 		tst	r3, #64
 3639 003c 02D0     		beq	.L219
2131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3640              		.loc 1 2131 43 discriminator 1 view .LVU1063
 3641 003e 11F0400F 		tst	r1, #64
 3642 0042 67D1     		bne	.L238
 3643              	.LVL275:
 3644              	.L219:
2136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3645              		.loc 1 2136 1 view .LVU1064
 3646 0044 10BD     		pop	{r4, pc}
ARM GAS  /tmp/ccGtkZvD.s 			page 136


 3647              	.LVL276:
 3648              	.L236:
2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       return;
 3649              		.loc 1 2013 7 is_stmt 1 view .LVU1065
 3650 0046 2046     		mov	r0, r4
 3651              	.LVL277:
2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       return;
 3652              		.loc 1 2013 7 is_stmt 0 view .LVU1066
 3653 0048 FFF7FEFF 		bl	UART_Receive_IT
 3654              	.LVL278:
2014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 3655              		.loc 1 2014 7 is_stmt 1 view .LVU1067
 3656 004c FAE7     		b	.L219
 3657              	.LVL279:
 3658              	.L223:
2022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3659              		.loc 1 2022 5 view .LVU1068
2022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3660              		.loc 1 2022 8 is_stmt 0 view .LVU1069
 3661 004e 13F0010F 		tst	r3, #1
 3662 0052 06D0     		beq	.L224
2022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3663              		.loc 1 2022 45 discriminator 1 view .LVU1070
 3664 0054 11F4807F 		tst	r1, #256
 3665 0058 03D0     		beq	.L224
2024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 3666              		.loc 1 2024 7 is_stmt 1 view .LVU1071
2024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 3667              		.loc 1 2024 24 is_stmt 0 view .LVU1072
 3668 005a E06B     		ldr	r0, [r4, #60]
 3669              	.LVL280:
2024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 3670              		.loc 1 2024 24 view .LVU1073
 3671 005c 40F00100 		orr	r0, r0, #1
 3672 0060 E063     		str	r0, [r4, #60]
 3673              	.L224:
2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3674              		.loc 1 2028 5 is_stmt 1 view .LVU1074
2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3675              		.loc 1 2028 8 is_stmt 0 view .LVU1075
 3676 0062 13F0040F 		tst	r3, #4
 3677 0066 04D0     		beq	.L225
2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3678              		.loc 1 2028 45 discriminator 1 view .LVU1076
 3679 0068 1AB1     		cbz	r2, .L225
2030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 3680              		.loc 1 2030 7 is_stmt 1 view .LVU1077
2030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 3681              		.loc 1 2030 24 is_stmt 0 view .LVU1078
 3682 006a E06B     		ldr	r0, [r4, #60]
 3683 006c 40F00200 		orr	r0, r0, #2
 3684 0070 E063     		str	r0, [r4, #60]
 3685              	.L225:
2034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3686              		.loc 1 2034 5 is_stmt 1 view .LVU1079
2034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3687              		.loc 1 2034 8 is_stmt 0 view .LVU1080
ARM GAS  /tmp/ccGtkZvD.s 			page 137


 3688 0072 13F0020F 		tst	r3, #2
 3689 0076 04D0     		beq	.L226
2034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3690              		.loc 1 2034 45 discriminator 1 view .LVU1081
 3691 0078 1AB1     		cbz	r2, .L226
2036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 3692              		.loc 1 2036 7 is_stmt 1 view .LVU1082
2036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 3693              		.loc 1 2036 24 is_stmt 0 view .LVU1083
 3694 007a E06B     		ldr	r0, [r4, #60]
 3695 007c 40F00400 		orr	r0, r0, #4
 3696 0080 E063     		str	r0, [r4, #60]
 3697              	.L226:
2040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3698              		.loc 1 2040 5 is_stmt 1 view .LVU1084
2040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3699              		.loc 1 2040 8 is_stmt 0 view .LVU1085
 3700 0082 13F0080F 		tst	r3, #8
 3701 0086 04D0     		beq	.L227
2040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3702              		.loc 1 2040 46 discriminator 1 view .LVU1086
 3703 0088 1AB1     		cbz	r2, .L227
2042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 3704              		.loc 1 2042 7 is_stmt 1 view .LVU1087
2042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 3705              		.loc 1 2042 24 is_stmt 0 view .LVU1088
 3706 008a E26B     		ldr	r2, [r4, #60]
 3707 008c 42F00802 		orr	r2, r2, #8
 3708 0090 E263     		str	r2, [r4, #60]
 3709              	.L227:
2046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3710              		.loc 1 2046 5 is_stmt 1 view .LVU1089
2046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3711              		.loc 1 2046 14 is_stmt 0 view .LVU1090
 3712 0092 E26B     		ldr	r2, [r4, #60]
2046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3713              		.loc 1 2046 8 view .LVU1091
 3714 0094 002A     		cmp	r2, #0
 3715 0096 D5D0     		beq	.L219
2049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 3716              		.loc 1 2049 7 is_stmt 1 view .LVU1092
2049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 3717              		.loc 1 2049 10 is_stmt 0 view .LVU1093
 3718 0098 13F0200F 		tst	r3, #32
 3719 009c 02D0     		beq	.L229
2049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 3720              		.loc 1 2049 49 discriminator 1 view .LVU1094
 3721 009e 11F0200F 		tst	r1, #32
 3722 00a2 21D1     		bne	.L239
 3723              	.LVL281:
 3724              	.L229:
2056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       if (((huart->ErrorCode & HAL_UART_ERROR_ORE) != RESET) || dmarequest)
 3725              		.loc 1 2056 7 is_stmt 1 view .LVU1095
2056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       if (((huart->ErrorCode & HAL_UART_ERROR_ORE) != RESET) || dmarequest)
 3726              		.loc 1 2056 20 is_stmt 0 view .LVU1096
 3727 00a4 2368     		ldr	r3, [r4]
 3728 00a6 5B69     		ldr	r3, [r3, #20]
ARM GAS  /tmp/ccGtkZvD.s 			page 138


 3729 00a8 03F04003 		and	r3, r3, #64
 3730              	.LVL282:
2057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 3731              		.loc 1 2057 7 is_stmt 1 view .LVU1097
2057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 3732              		.loc 1 2057 18 is_stmt 0 view .LVU1098
 3733 00ac E26B     		ldr	r2, [r4, #60]
2057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 3734              		.loc 1 2057 10 view .LVU1099
 3735 00ae 12F0080F 		tst	r2, #8
 3736 00b2 00D1     		bne	.L230
2057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 3737              		.loc 1 2057 62 discriminator 1 view .LVU1100
 3738 00b4 23B3     		cbz	r3, .L231
 3739              	.L230:
2062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3740              		.loc 1 2062 9 is_stmt 1 view .LVU1101
 3741 00b6 2046     		mov	r0, r4
 3742 00b8 FFF7FEFF 		bl	UART_EndRxTransfer
 3743              	.LVL283:
2065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 3744              		.loc 1 2065 9 view .LVU1102
2065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 3745              		.loc 1 2065 13 is_stmt 0 view .LVU1103
 3746 00bc 2368     		ldr	r3, [r4]
 3747 00be 5A69     		ldr	r2, [r3, #20]
2065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         {
 3748              		.loc 1 2065 12 view .LVU1104
 3749 00c0 12F0400F 		tst	r2, #64
 3750 00c4 18D0     		beq	.L232
2067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3751              		.loc 1 2067 11 is_stmt 1 view .LVU1105
 3752 00c6 5A69     		ldr	r2, [r3, #20]
 3753 00c8 22F04002 		bic	r2, r2, #64
 3754 00cc 5A61     		str	r2, [r3, #20]
2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           {
 3755              		.loc 1 2070 11 view .LVU1106
2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           {
 3756              		.loc 1 2070 20 is_stmt 0 view .LVU1107
 3757 00ce 636B     		ldr	r3, [r4, #52]
2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****           {
 3758              		.loc 1 2070 14 view .LVU1108
 3759 00d0 73B1     		cbz	r3, .L233
2074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
 3760              		.loc 1 2074 13 is_stmt 1 view .LVU1109
2074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
 3761              		.loc 1 2074 46 is_stmt 0 view .LVU1110
 3762 00d2 124A     		ldr	r2, .L240
 3763 00d4 1A65     		str	r2, [r3, #80]
2075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             {
 3764              		.loc 1 2075 13 is_stmt 1 view .LVU1111
2075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             {
 3765              		.loc 1 2075 17 is_stmt 0 view .LVU1112
 3766 00d6 606B     		ldr	r0, [r4, #52]
 3767 00d8 FFF7FEFF 		bl	HAL_DMA_Abort_IT
 3768              	.LVL284:
2075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             {
ARM GAS  /tmp/ccGtkZvD.s 			page 139


 3769              		.loc 1 2075 16 view .LVU1113
 3770 00dc 0028     		cmp	r0, #0
 3771 00de B1D0     		beq	.L219
2078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             }
 3772              		.loc 1 2078 15 is_stmt 1 view .LVU1114
2078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             }
 3773              		.loc 1 2078 20 is_stmt 0 view .LVU1115
 3774 00e0 606B     		ldr	r0, [r4, #52]
2078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             }
 3775              		.loc 1 2078 28 view .LVU1116
 3776 00e2 036D     		ldr	r3, [r0, #80]
2078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****             }
 3777              		.loc 1 2078 15 view .LVU1117
 3778 00e4 9847     		blx	r3
 3779              	.LVL285:
 3780 00e6 ADE7     		b	.L219
 3781              	.LVL286:
 3782              	.L239:
2051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 3783              		.loc 1 2051 9 is_stmt 1 view .LVU1118
 3784 00e8 2046     		mov	r0, r4
 3785 00ea FFF7FEFF 		bl	UART_Receive_IT
 3786              	.LVL287:
2051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 3787              		.loc 1 2051 9 is_stmt 0 view .LVU1119
 3788 00ee D9E7     		b	.L229
 3789              	.LVL288:
 3790              	.L233:
2089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 3791              		.loc 1 2089 13 is_stmt 1 view .LVU1120
 3792 00f0 2046     		mov	r0, r4
 3793 00f2 FFF7FEFF 		bl	HAL_UART_ErrorCallback
 3794              	.LVL289:
 3795 00f6 A5E7     		b	.L219
 3796              	.L232:
2101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 3797              		.loc 1 2101 11 view .LVU1121
 3798 00f8 2046     		mov	r0, r4
 3799 00fa FFF7FEFF 		bl	HAL_UART_ErrorCallback
 3800              	.LVL290:
 3801 00fe A1E7     		b	.L219
 3802              	.LVL291:
 3803              	.L231:
2114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 3804              		.loc 1 2114 9 view .LVU1122
 3805 0100 2046     		mov	r0, r4
 3806 0102 FFF7FEFF 		bl	HAL_UART_ErrorCallback
 3807              	.LVL292:
2117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 3808              		.loc 1 2117 9 view .LVU1123
2117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 3809              		.loc 1 2117 26 is_stmt 0 view .LVU1124
 3810 0106 0023     		movs	r3, #0
 3811 0108 E363     		str	r3, [r4, #60]
2120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   } /* End if some error occurs */
 3812              		.loc 1 2120 5 is_stmt 1 view .LVU1125
 3813 010a 9BE7     		b	.L219
ARM GAS  /tmp/ccGtkZvD.s 			page 140


 3814              	.LVL293:
 3815              	.L237:
2126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     return;
 3816              		.loc 1 2126 5 view .LVU1126
 3817 010c 2046     		mov	r0, r4
 3818              	.LVL294:
2126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     return;
 3819              		.loc 1 2126 5 is_stmt 0 view .LVU1127
 3820 010e FFF7FEFF 		bl	UART_Transmit_IT
 3821              	.LVL295:
2127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 3822              		.loc 1 2127 5 is_stmt 1 view .LVU1128
 3823 0112 97E7     		b	.L219
 3824              	.LVL296:
 3825              	.L238:
2133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     return;
 3826              		.loc 1 2133 5 view .LVU1129
 3827 0114 2046     		mov	r0, r4
 3828              	.LVL297:
2133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     return;
 3829              		.loc 1 2133 5 is_stmt 0 view .LVU1130
 3830 0116 FFF7FEFF 		bl	UART_EndTransmit_IT
 3831              	.LVL298:
2134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   }
 3832              		.loc 1 2134 5 is_stmt 1 view .LVU1131
 3833 011a 93E7     		b	.L219
 3834              	.L241:
 3835              		.align	2
 3836              	.L240:
 3837 011c 00000000 		.word	UART_DMAAbortOnError
 3838              		.cfi_endproc
 3839              	.LFE152:
 3841              		.section	.text.UART_DMAAbortOnError,"ax",%progbits
 3842              		.align	1
 3843              		.syntax unified
 3844              		.thumb
 3845              		.thumb_func
 3847              	UART_DMAAbortOnError:
 3848              	.LVL299:
 3849              	.LFB176:
2731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
 3850              		.loc 1 2731 1 view -0
 3851              		.cfi_startproc
 3852              		@ args = 0, pretend = 0, frame = 0
 3853              		@ frame_needed = 0, uses_anonymous_args = 0
2731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
 3854              		.loc 1 2731 1 is_stmt 0 view .LVU1133
 3855 0000 08B5     		push	{r3, lr}
 3856              	.LCFI39:
 3857              		.cfi_def_cfa_offset 8
 3858              		.cfi_offset 3, -8
 3859              		.cfi_offset 14, -4
2732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxXferCount = 0x00U;
 3860              		.loc 1 2732 3 is_stmt 1 view .LVU1134
2732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxXferCount = 0x00U;
 3861              		.loc 1 2732 23 is_stmt 0 view .LVU1135
 3862 0002 806B     		ldr	r0, [r0, #56]
ARM GAS  /tmp/ccGtkZvD.s 			page 141


 3863              	.LVL300:
2733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->TxXferCount = 0x00U;
 3864              		.loc 1 2733 3 is_stmt 1 view .LVU1136
2733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->TxXferCount = 0x00U;
 3865              		.loc 1 2733 22 is_stmt 0 view .LVU1137
 3866 0004 0023     		movs	r3, #0
 3867 0006 C385     		strh	r3, [r0, #46]	@ movhi
2734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3868              		.loc 1 2734 3 is_stmt 1 view .LVU1138
2734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3869              		.loc 1 2734 22 is_stmt 0 view .LVU1139
 3870 0008 C384     		strh	r3, [r0, #38]	@ movhi
2741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 3871              		.loc 1 2741 3 is_stmt 1 view .LVU1140
 3872 000a FFF7FEFF 		bl	HAL_UART_ErrorCallback
 3873              	.LVL301:
2743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3874              		.loc 1 2743 1 is_stmt 0 view .LVU1141
 3875 000e 08BD     		pop	{r3, pc}
 3876              		.cfi_endproc
 3877              	.LFE176:
 3879              		.section	.text.HAL_UART_AbortCpltCallback,"ax",%progbits
 3880              		.align	1
 3881              		.weak	HAL_UART_AbortCpltCallback
 3882              		.syntax unified
 3883              		.thumb
 3884              		.thumb_func
 3886              	HAL_UART_AbortCpltCallback:
 3887              	.LVL302:
 3888              	.LFB158:
2219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
 3889              		.loc 1 2219 1 is_stmt 1 view -0
 3890              		.cfi_startproc
 3891              		@ args = 0, pretend = 0, frame = 0
 3892              		@ frame_needed = 0, uses_anonymous_args = 0
 3893              		@ link register save eliminated.
2221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3894              		.loc 1 2221 3 view .LVU1143
2226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3895              		.loc 1 2226 1 is_stmt 0 view .LVU1144
 3896 0000 7047     		bx	lr
 3897              		.cfi_endproc
 3898              	.LFE158:
 3900              		.section	.text.HAL_UART_Abort_IT,"ax",%progbits
 3901              		.align	1
 3902              		.global	HAL_UART_Abort_IT
 3903              		.syntax unified
 3904              		.thumb
 3905              		.thumb_func
 3907              	HAL_UART_Abort_IT:
 3908              	.LVL303:
 3909              	.LFB149:
1724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t AbortCplt = 0x01U;
 3910              		.loc 1 1724 1 is_stmt 1 view -0
 3911              		.cfi_startproc
 3912              		@ args = 0, pretend = 0, frame = 0
 3913              		@ frame_needed = 0, uses_anonymous_args = 0
ARM GAS  /tmp/ccGtkZvD.s 			page 142


1724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t AbortCplt = 0x01U;
 3914              		.loc 1 1724 1 is_stmt 0 view .LVU1146
 3915 0000 10B5     		push	{r4, lr}
 3916              	.LCFI40:
 3917              		.cfi_def_cfa_offset 8
 3918              		.cfi_offset 4, -8
 3919              		.cfi_offset 14, -4
 3920 0002 0446     		mov	r4, r0
1725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3921              		.loc 1 1725 3 is_stmt 1 view .LVU1147
 3922              	.LVL304:
1728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
 3923              		.loc 1 1728 3 view .LVU1148
 3924 0004 0268     		ldr	r2, [r0]
 3925 0006 D368     		ldr	r3, [r2, #12]
 3926 0008 23F4F073 		bic	r3, r3, #480
 3927 000c D360     		str	r3, [r2, #12]
1729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3928              		.loc 1 1729 3 view .LVU1149
 3929 000e 0268     		ldr	r2, [r0]
 3930 0010 5369     		ldr	r3, [r2, #20]
 3931 0012 23F00103 		bic	r3, r3, #1
 3932 0016 5361     		str	r3, [r2, #20]
1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3933              		.loc 1 1734 3 view .LVU1150
1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3934              		.loc 1 1734 12 is_stmt 0 view .LVU1151
 3935 0018 036B     		ldr	r3, [r0, #48]
1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3936              		.loc 1 1734 6 view .LVU1152
 3937 001a 33B1     		cbz	r3, .L246
1738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3938              		.loc 1 1738 5 is_stmt 1 view .LVU1153
1738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3939              		.loc 1 1738 9 is_stmt 0 view .LVU1154
 3940 001c 0268     		ldr	r2, [r0]
 3941 001e 5269     		ldr	r2, [r2, #20]
1738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3942              		.loc 1 1738 8 view .LVU1155
 3943 0020 12F0800F 		tst	r2, #128
 3944 0024 1DD0     		beq	.L247
1740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 3945              		.loc 1 1740 7 is_stmt 1 view .LVU1156
1740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 3946              		.loc 1 1740 40 is_stmt 0 view .LVU1157
 3947 0026 254A     		ldr	r2, .L258
 3948 0028 1A65     		str	r2, [r3, #80]
 3949              	.L246:
1748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3950              		.loc 1 1748 3 is_stmt 1 view .LVU1158
1748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3951              		.loc 1 1748 12 is_stmt 0 view .LVU1159
 3952 002a 636B     		ldr	r3, [r4, #52]
1748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3953              		.loc 1 1748 6 view .LVU1160
 3954 002c 33B1     		cbz	r3, .L248
1752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
ARM GAS  /tmp/ccGtkZvD.s 			page 143


 3955              		.loc 1 1752 5 is_stmt 1 view .LVU1161
1752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3956              		.loc 1 1752 9 is_stmt 0 view .LVU1162
 3957 002e 2268     		ldr	r2, [r4]
 3958 0030 5269     		ldr	r2, [r2, #20]
1752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3959              		.loc 1 1752 8 view .LVU1163
 3960 0032 12F0400F 		tst	r2, #64
 3961 0036 17D0     		beq	.L249
1754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 3962              		.loc 1 1754 7 is_stmt 1 view .LVU1164
1754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 3963              		.loc 1 1754 40 is_stmt 0 view .LVU1165
 3964 0038 214A     		ldr	r2, .L258+4
 3965 003a 1A65     		str	r2, [r3, #80]
 3966              	.L248:
1763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3967              		.loc 1 1763 3 is_stmt 1 view .LVU1166
1763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3968              		.loc 1 1763 7 is_stmt 0 view .LVU1167
 3969 003c 2368     		ldr	r3, [r4]
 3970 003e 5A69     		ldr	r2, [r3, #20]
1763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 3971              		.loc 1 1763 6 view .LVU1168
 3972 0040 12F0800F 		tst	r2, #128
 3973 0044 13D0     		beq	.L254
1766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3974              		.loc 1 1766 5 is_stmt 1 view .LVU1169
 3975 0046 5A69     		ldr	r2, [r3, #20]
 3976 0048 22F08002 		bic	r2, r2, #128
 3977 004c 5A61     		str	r2, [r3, #20]
1769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3978              		.loc 1 1769 5 view .LVU1170
1769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3979              		.loc 1 1769 14 is_stmt 0 view .LVU1171
 3980 004e 206B     		ldr	r0, [r4, #48]
 3981              	.LVL305:
1769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 3982              		.loc 1 1769 8 view .LVU1172
 3983 0050 60B3     		cbz	r0, .L255
1775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 3984              		.loc 1 1775 7 is_stmt 1 view .LVU1173
1775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 3985              		.loc 1 1775 11 is_stmt 0 view .LVU1174
 3986 0052 FFF7FEFF 		bl	HAL_DMA_Abort_IT
 3987              	.LVL306:
1775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 3988              		.loc 1 1775 10 view .LVU1175
 3989 0056 58B3     		cbz	r0, .L256
1777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 3990              		.loc 1 1777 9 is_stmt 1 view .LVU1176
1777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 3991              		.loc 1 1777 14 is_stmt 0 view .LVU1177
 3992 0058 236B     		ldr	r3, [r4, #48]
1777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 3993              		.loc 1 1777 42 view .LVU1178
 3994 005a 0022     		movs	r2, #0
ARM GAS  /tmp/ccGtkZvD.s 			page 144


 3995 005c 1A65     		str	r2, [r3, #80]
1725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 3996              		.loc 1 1725 12 view .LVU1179
 3997 005e 0121     		movs	r1, #1
 3998 0060 06E0     		b	.L250
 3999              	.LVL307:
 4000              	.L247:
1744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 4001              		.loc 1 1744 7 is_stmt 1 view .LVU1180
1744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 4002              		.loc 1 1744 40 is_stmt 0 view .LVU1181
 4003 0062 0022     		movs	r2, #0
 4004 0064 1A65     		str	r2, [r3, #80]
 4005 0066 E0E7     		b	.L246
 4006              	.L249:
1758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 4007              		.loc 1 1758 7 is_stmt 1 view .LVU1182
1758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     }
 4008              		.loc 1 1758 40 is_stmt 0 view .LVU1183
 4009 0068 0022     		movs	r2, #0
 4010 006a 1A65     		str	r2, [r3, #80]
 4011 006c E6E7     		b	.L248
 4012              	.L254:
1725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4013              		.loc 1 1725 12 view .LVU1184
 4014 006e 0121     		movs	r1, #1
 4015              	.LVL308:
 4016              	.L250:
1787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 4017              		.loc 1 1787 3 is_stmt 1 view .LVU1185
1787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 4018              		.loc 1 1787 7 is_stmt 0 view .LVU1186
 4019 0070 2368     		ldr	r3, [r4]
 4020 0072 5A69     		ldr	r2, [r3, #20]
1787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 4021              		.loc 1 1787 6 view .LVU1187
 4022 0074 12F0400F 		tst	r2, #64
 4023 0078 1CD0     		beq	.L251
1789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4024              		.loc 1 1789 5 is_stmt 1 view .LVU1188
 4025 007a 5A69     		ldr	r2, [r3, #20]
 4026 007c 22F04002 		bic	r2, r2, #64
 4027 0080 5A61     		str	r2, [r3, #20]
1792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 4028              		.loc 1 1792 5 view .LVU1189
1792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 4029              		.loc 1 1792 14 is_stmt 0 view .LVU1190
 4030 0082 606B     		ldr	r0, [r4, #52]
1792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 4031              		.loc 1 1792 8 view .LVU1191
 4032 0084 B0B1     		cbz	r0, .L251
1798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 4033              		.loc 1 1798 7 is_stmt 1 view .LVU1192
1798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 4034              		.loc 1 1798 11 is_stmt 0 view .LVU1193
 4035 0086 FFF7FEFF 		bl	HAL_DMA_Abort_IT
 4036              	.LVL309:
ARM GAS  /tmp/ccGtkZvD.s 			page 145


1798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 4037              		.loc 1 1798 10 view .LVU1194
 4038 008a A8B1     		cbz	r0, .L252
1800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         AbortCplt = 0x01U;
 4039              		.loc 1 1800 9 is_stmt 1 view .LVU1195
1800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         AbortCplt = 0x01U;
 4040              		.loc 1 1800 14 is_stmt 0 view .LVU1196
 4041 008c 636B     		ldr	r3, [r4, #52]
1800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****         AbortCplt = 0x01U;
 4042              		.loc 1 1800 42 view .LVU1197
 4043 008e 0022     		movs	r2, #0
 4044 0090 1A65     		str	r2, [r3, #80]
1801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 4045              		.loc 1 1801 9 is_stmt 1 view .LVU1198
 4046              	.LVL310:
1811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 4047              		.loc 1 1811 3 view .LVU1199
 4048              	.L253:
1814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxXferCount = 0x00U;
 4049              		.loc 1 1814 5 view .LVU1200
1814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxXferCount = 0x00U;
 4050              		.loc 1 1814 24 is_stmt 0 view .LVU1201
 4051 0092 0023     		movs	r3, #0
 4052 0094 E384     		strh	r3, [r4, #38]	@ movhi
1815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4053              		.loc 1 1815 5 is_stmt 1 view .LVU1202
1815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4054              		.loc 1 1815 24 is_stmt 0 view .LVU1203
 4055 0096 E385     		strh	r3, [r4, #46]	@ movhi
1818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4056              		.loc 1 1818 5 is_stmt 1 view .LVU1204
1818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4057              		.loc 1 1818 22 is_stmt 0 view .LVU1205
 4058 0098 E363     		str	r3, [r4, #60]
1821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxState = HAL_UART_STATE_READY;
 4059              		.loc 1 1821 5 is_stmt 1 view .LVU1206
1821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     huart->RxState = HAL_UART_STATE_READY;
 4060              		.loc 1 1821 20 is_stmt 0 view .LVU1207
 4061 009a 2023     		movs	r3, #32
 4062 009c 84F83930 		strb	r3, [r4, #57]
1822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4063              		.loc 1 1822 5 is_stmt 1 view .LVU1208
1822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4064              		.loc 1 1822 20 is_stmt 0 view .LVU1209
 4065 00a0 84F83A30 		strb	r3, [r4, #58]
1830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 4066              		.loc 1 1830 5 is_stmt 1 view .LVU1210
 4067 00a4 2046     		mov	r0, r4
 4068 00a6 FFF7FEFF 		bl	HAL_UART_AbortCpltCallback
 4069              	.LVL311:
 4070 00aa 05E0     		b	.L252
 4071              	.LVL312:
 4072              	.L255:
1725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4073              		.loc 1 1725 12 is_stmt 0 view .LVU1211
 4074 00ac 0121     		movs	r1, #1
 4075 00ae DFE7     		b	.L250
ARM GAS  /tmp/ccGtkZvD.s 			page 146


 4076              	.L256:
1781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 4077              		.loc 1 1781 19 view .LVU1212
 4078 00b0 0021     		movs	r1, #0
 4079 00b2 DDE7     		b	.L250
 4080              	.LVL313:
 4081              	.L251:
1811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 4082              		.loc 1 1811 3 is_stmt 1 view .LVU1213
1811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 4083              		.loc 1 1811 6 is_stmt 0 view .LVU1214
 4084 00b4 0029     		cmp	r1, #0
 4085 00b6 ECD1     		bne	.L253
 4086              	.LVL314:
 4087              	.L252:
1834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 4088              		.loc 1 1834 3 is_stmt 1 view .LVU1215
1835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4089              		.loc 1 1835 1 is_stmt 0 view .LVU1216
 4090 00b8 0020     		movs	r0, #0
 4091 00ba 10BD     		pop	{r4, pc}
 4092              	.LVL315:
 4093              	.L259:
1835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4094              		.loc 1 1835 1 view .LVU1217
 4095              		.align	2
 4096              	.L258:
 4097 00bc 00000000 		.word	UART_DMATxAbortCallback
 4098 00c0 00000000 		.word	UART_DMARxAbortCallback
 4099              		.cfi_endproc
 4100              	.LFE149:
 4102              		.section	.text.UART_DMARxAbortCallback,"ax",%progbits
 4103              		.align	1
 4104              		.syntax unified
 4105              		.thumb
 4106              		.thumb_func
 4108              	UART_DMARxAbortCallback:
 4109              	.LVL316:
 4110              	.LFB178:
2800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
 4111              		.loc 1 2800 1 is_stmt 1 view -0
 4112              		.cfi_startproc
 4113              		@ args = 0, pretend = 0, frame = 0
 4114              		@ frame_needed = 0, uses_anonymous_args = 0
2800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
 4115              		.loc 1 2800 1 is_stmt 0 view .LVU1219
 4116 0000 08B5     		push	{r3, lr}
 4117              	.LCFI41:
 4118              		.cfi_def_cfa_offset 8
 4119              		.cfi_offset 3, -8
 4120              		.cfi_offset 14, -4
2801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4121              		.loc 1 2801 3 is_stmt 1 view .LVU1220
2801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4122              		.loc 1 2801 23 is_stmt 0 view .LVU1221
 4123 0002 806B     		ldr	r0, [r0, #56]
 4124              	.LVL317:
ARM GAS  /tmp/ccGtkZvD.s 			page 147


2803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4125              		.loc 1 2803 3 is_stmt 1 view .LVU1222
2803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4126              		.loc 1 2803 8 is_stmt 0 view .LVU1223
 4127 0004 436B     		ldr	r3, [r0, #52]
2803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4128              		.loc 1 2803 36 view .LVU1224
 4129 0006 0022     		movs	r2, #0
 4130 0008 1A65     		str	r2, [r3, #80]
2806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 4131              		.loc 1 2806 3 is_stmt 1 view .LVU1225
2806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 4132              		.loc 1 2806 12 is_stmt 0 view .LVU1226
 4133 000a 036B     		ldr	r3, [r0, #48]
2806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 4134              		.loc 1 2806 6 view .LVU1227
 4135 000c 0BB1     		cbz	r3, .L261
2808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 4136              		.loc 1 2808 5 is_stmt 1 view .LVU1228
2808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 4137              		.loc 1 2808 22 is_stmt 0 view .LVU1229
 4138 000e 1B6D     		ldr	r3, [r3, #80]
2808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 4139              		.loc 1 2808 8 view .LVU1230
 4140 0010 53B9     		cbnz	r3, .L260
 4141              	.L261:
2815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxXferCount = 0x00U;
 4142              		.loc 1 2815 3 is_stmt 1 view .LVU1231
2815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxXferCount = 0x00U;
 4143              		.loc 1 2815 22 is_stmt 0 view .LVU1232
 4144 0012 0023     		movs	r3, #0
 4145 0014 C384     		strh	r3, [r0, #38]	@ movhi
2816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4146              		.loc 1 2816 3 is_stmt 1 view .LVU1233
2816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4147              		.loc 1 2816 22 is_stmt 0 view .LVU1234
 4148 0016 C385     		strh	r3, [r0, #46]	@ movhi
2819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4149              		.loc 1 2819 3 is_stmt 1 view .LVU1235
2819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4150              		.loc 1 2819 20 is_stmt 0 view .LVU1236
 4151 0018 C363     		str	r3, [r0, #60]
2822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
 4152              		.loc 1 2822 3 is_stmt 1 view .LVU1237
2822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
 4153              		.loc 1 2822 18 is_stmt 0 view .LVU1238
 4154 001a 2023     		movs	r3, #32
 4155 001c 80F83930 		strb	r3, [r0, #57]
2823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4156              		.loc 1 2823 3 is_stmt 1 view .LVU1239
2823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4157              		.loc 1 2823 18 is_stmt 0 view .LVU1240
 4158 0020 80F83A30 		strb	r3, [r0, #58]
2831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 4159              		.loc 1 2831 3 is_stmt 1 view .LVU1241
 4160 0024 FFF7FEFF 		bl	HAL_UART_AbortCpltCallback
 4161              	.LVL318:
ARM GAS  /tmp/ccGtkZvD.s 			page 148


 4162              	.L260:
2833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4163              		.loc 1 2833 1 is_stmt 0 view .LVU1242
 4164 0028 08BD     		pop	{r3, pc}
 4165              		.cfi_endproc
 4166              	.LFE178:
 4168              		.section	.text.UART_DMATxAbortCallback,"ax",%progbits
 4169              		.align	1
 4170              		.syntax unified
 4171              		.thumb
 4172              		.thumb_func
 4174              	UART_DMATxAbortCallback:
 4175              	.LVL319:
 4176              	.LFB177:
2755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
 4177              		.loc 1 2755 1 is_stmt 1 view -0
 4178              		.cfi_startproc
 4179              		@ args = 0, pretend = 0, frame = 0
 4180              		@ frame_needed = 0, uses_anonymous_args = 0
2755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
 4181              		.loc 1 2755 1 is_stmt 0 view .LVU1244
 4182 0000 08B5     		push	{r3, lr}
 4183              	.LCFI42:
 4184              		.cfi_def_cfa_offset 8
 4185              		.cfi_offset 3, -8
 4186              		.cfi_offset 14, -4
2756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4187              		.loc 1 2756 3 is_stmt 1 view .LVU1245
2756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4188              		.loc 1 2756 23 is_stmt 0 view .LVU1246
 4189 0002 806B     		ldr	r0, [r0, #56]
 4190              	.LVL320:
2758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4191              		.loc 1 2758 3 is_stmt 1 view .LVU1247
2758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4192              		.loc 1 2758 8 is_stmt 0 view .LVU1248
 4193 0004 036B     		ldr	r3, [r0, #48]
2758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4194              		.loc 1 2758 36 view .LVU1249
 4195 0006 0022     		movs	r2, #0
 4196 0008 1A65     		str	r2, [r3, #80]
2761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 4197              		.loc 1 2761 3 is_stmt 1 view .LVU1250
2761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 4198              		.loc 1 2761 12 is_stmt 0 view .LVU1251
 4199 000a 436B     		ldr	r3, [r0, #52]
2761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 4200              		.loc 1 2761 6 view .LVU1252
 4201 000c 0BB1     		cbz	r3, .L265
2763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 4202              		.loc 1 2763 5 is_stmt 1 view .LVU1253
2763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 4203              		.loc 1 2763 22 is_stmt 0 view .LVU1254
 4204 000e 1B6D     		ldr	r3, [r3, #80]
2763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 4205              		.loc 1 2763 8 view .LVU1255
 4206 0010 53B9     		cbnz	r3, .L264
ARM GAS  /tmp/ccGtkZvD.s 			page 149


 4207              	.L265:
2770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxXferCount = 0x00U;
 4208              		.loc 1 2770 3 is_stmt 1 view .LVU1256
2770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxXferCount = 0x00U;
 4209              		.loc 1 2770 22 is_stmt 0 view .LVU1257
 4210 0012 0023     		movs	r3, #0
 4211 0014 C384     		strh	r3, [r0, #38]	@ movhi
2771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4212              		.loc 1 2771 3 is_stmt 1 view .LVU1258
2771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4213              		.loc 1 2771 22 is_stmt 0 view .LVU1259
 4214 0016 C385     		strh	r3, [r0, #46]	@ movhi
2774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4215              		.loc 1 2774 3 is_stmt 1 view .LVU1260
2774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4216              		.loc 1 2774 20 is_stmt 0 view .LVU1261
 4217 0018 C363     		str	r3, [r0, #60]
2777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
 4218              		.loc 1 2777 3 is_stmt 1 view .LVU1262
2777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
 4219              		.loc 1 2777 18 is_stmt 0 view .LVU1263
 4220 001a 2023     		movs	r3, #32
 4221 001c 80F83930 		strb	r3, [r0, #57]
2778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4222              		.loc 1 2778 3 is_stmt 1 view .LVU1264
2778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4223              		.loc 1 2778 18 is_stmt 0 view .LVU1265
 4224 0020 80F83A30 		strb	r3, [r0, #58]
2786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 4225              		.loc 1 2786 3 is_stmt 1 view .LVU1266
 4226 0024 FFF7FEFF 		bl	HAL_UART_AbortCpltCallback
 4227              	.LVL321:
 4228              	.L264:
2788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4229              		.loc 1 2788 1 is_stmt 0 view .LVU1267
 4230 0028 08BD     		pop	{r3, pc}
 4231              		.cfi_endproc
 4232              	.LFE177:
 4234              		.section	.text.HAL_UART_AbortTransmitCpltCallback,"ax",%progbits
 4235              		.align	1
 4236              		.weak	HAL_UART_AbortTransmitCpltCallback
 4237              		.syntax unified
 4238              		.thumb
 4239              		.thumb_func
 4241              	HAL_UART_AbortTransmitCpltCallback:
 4242              	.LVL322:
 4243              	.LFB159:
2234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
 4244              		.loc 1 2234 1 is_stmt 1 view -0
 4245              		.cfi_startproc
 4246              		@ args = 0, pretend = 0, frame = 0
 4247              		@ frame_needed = 0, uses_anonymous_args = 0
 4248              		@ link register save eliminated.
2236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4249              		.loc 1 2236 3 view .LVU1269
2241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4250              		.loc 1 2241 1 is_stmt 0 view .LVU1270
ARM GAS  /tmp/ccGtkZvD.s 			page 150


 4251 0000 7047     		bx	lr
 4252              		.cfi_endproc
 4253              	.LFE159:
 4255              		.section	.text.HAL_UART_AbortTransmit_IT,"ax",%progbits
 4256              		.align	1
 4257              		.global	HAL_UART_AbortTransmit_IT
 4258              		.syntax unified
 4259              		.thumb
 4260              		.thumb_func
 4262              	HAL_UART_AbortTransmit_IT:
 4263              	.LVL323:
 4264              	.LFB150:
1852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable TXEIE and TCIE interrupts */
 4265              		.loc 1 1852 1 is_stmt 1 view -0
 4266              		.cfi_startproc
 4267              		@ args = 0, pretend = 0, frame = 0
 4268              		@ frame_needed = 0, uses_anonymous_args = 0
1852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable TXEIE and TCIE interrupts */
 4269              		.loc 1 1852 1 is_stmt 0 view .LVU1272
 4270 0000 10B5     		push	{r4, lr}
 4271              	.LCFI43:
 4272              		.cfi_def_cfa_offset 8
 4273              		.cfi_offset 4, -8
 4274              		.cfi_offset 14, -4
 4275 0002 0446     		mov	r4, r0
1854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4276              		.loc 1 1854 3 is_stmt 1 view .LVU1273
 4277 0004 0268     		ldr	r2, [r0]
 4278 0006 D368     		ldr	r3, [r2, #12]
 4279 0008 23F0C003 		bic	r3, r3, #192
 4280 000c D360     		str	r3, [r2, #12]
1857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 4281              		.loc 1 1857 3 view .LVU1274
1857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 4282              		.loc 1 1857 7 is_stmt 0 view .LVU1275
 4283 000e 0368     		ldr	r3, [r0]
 4284 0010 5A69     		ldr	r2, [r3, #20]
1857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 4285              		.loc 1 1857 6 view .LVU1276
 4286 0012 12F0800F 		tst	r2, #128
 4287 0016 17D0     		beq	.L270
1859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4288              		.loc 1 1859 5 is_stmt 1 view .LVU1277
 4289 0018 5A69     		ldr	r2, [r3, #20]
 4290 001a 22F08002 		bic	r2, r2, #128
 4291 001e 5A61     		str	r2, [r3, #20]
1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 4292              		.loc 1 1862 5 view .LVU1278
1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 4293              		.loc 1 1862 14 is_stmt 0 view .LVU1279
 4294 0020 036B     		ldr	r3, [r0, #48]
1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 4295              		.loc 1 1862 8 view .LVU1280
 4296 0022 4BB1     		cbz	r3, .L271
1866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4297              		.loc 1 1866 7 is_stmt 1 view .LVU1281
1866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
ARM GAS  /tmp/ccGtkZvD.s 			page 151


 4298              		.loc 1 1866 40 is_stmt 0 view .LVU1282
 4299 0024 0D4A     		ldr	r2, .L274
 4300 0026 1A65     		str	r2, [r3, #80]
1869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 4301              		.loc 1 1869 7 is_stmt 1 view .LVU1283
1869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 4302              		.loc 1 1869 11 is_stmt 0 view .LVU1284
 4303 0028 006B     		ldr	r0, [r0, #48]
 4304              	.LVL324:
1869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 4305              		.loc 1 1869 11 view .LVU1285
 4306 002a FFF7FEFF 		bl	HAL_DMA_Abort_IT
 4307              	.LVL325:
1869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 4308              		.loc 1 1869 10 view .LVU1286
 4309 002e 90B1     		cbz	r0, .L272
1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 4310              		.loc 1 1872 9 is_stmt 1 view .LVU1287
1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 4311              		.loc 1 1872 14 is_stmt 0 view .LVU1288
 4312 0030 206B     		ldr	r0, [r4, #48]
1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 4313              		.loc 1 1872 22 view .LVU1289
 4314 0032 036D     		ldr	r3, [r0, #80]
1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 4315              		.loc 1 1872 9 view .LVU1290
 4316 0034 9847     		blx	r3
 4317              	.LVL326:
 4318 0036 0EE0     		b	.L272
 4319              	.LVL327:
 4320              	.L271:
1878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4321              		.loc 1 1878 7 is_stmt 1 view .LVU1291
1878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4322              		.loc 1 1878 26 is_stmt 0 view .LVU1292
 4323 0038 0023     		movs	r3, #0
 4324 003a C384     		strh	r3, [r0, #38]	@ movhi
1881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4325              		.loc 1 1881 7 is_stmt 1 view .LVU1293
1881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4326              		.loc 1 1881 21 is_stmt 0 view .LVU1294
 4327 003c 2023     		movs	r3, #32
 4328 003e 80F83930 		strb	r3, [r0, #57]
1889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 4329              		.loc 1 1889 7 is_stmt 1 view .LVU1295
 4330 0042 FFF7FEFF 		bl	HAL_UART_AbortTransmitCpltCallback
 4331              	.LVL328:
1889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 4332              		.loc 1 1889 7 is_stmt 0 view .LVU1296
 4333 0046 06E0     		b	.L272
 4334              	.LVL329:
 4335              	.L270:
1896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4336              		.loc 1 1896 5 is_stmt 1 view .LVU1297
1896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4337              		.loc 1 1896 24 is_stmt 0 view .LVU1298
 4338 0048 0023     		movs	r3, #0
ARM GAS  /tmp/ccGtkZvD.s 			page 152


 4339 004a C384     		strh	r3, [r0, #38]	@ movhi
1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4340              		.loc 1 1899 5 is_stmt 1 view .LVU1299
1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4341              		.loc 1 1899 19 is_stmt 0 view .LVU1300
 4342 004c 2023     		movs	r3, #32
 4343 004e 80F83930 		strb	r3, [r0, #57]
1907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 4344              		.loc 1 1907 5 is_stmt 1 view .LVU1301
 4345 0052 FFF7FEFF 		bl	HAL_UART_AbortTransmitCpltCallback
 4346              	.LVL330:
 4347              	.L272:
1911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 4348              		.loc 1 1911 3 view .LVU1302
1912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4349              		.loc 1 1912 1 is_stmt 0 view .LVU1303
 4350 0056 0020     		movs	r0, #0
 4351 0058 10BD     		pop	{r4, pc}
 4352              	.LVL331:
 4353              	.L275:
1912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4354              		.loc 1 1912 1 view .LVU1304
 4355 005a 00BF     		.align	2
 4356              	.L274:
 4357 005c 00000000 		.word	UART_DMATxOnlyAbortCallback
 4358              		.cfi_endproc
 4359              	.LFE150:
 4361              		.section	.text.UART_DMATxOnlyAbortCallback,"ax",%progbits
 4362              		.align	1
 4363              		.syntax unified
 4364              		.thumb
 4365              		.thumb_func
 4367              	UART_DMATxOnlyAbortCallback:
 4368              	.LVL332:
 4369              	.LFB179:
2845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
 4370              		.loc 1 2845 1 is_stmt 1 view -0
 4371              		.cfi_startproc
 4372              		@ args = 0, pretend = 0, frame = 0
 4373              		@ frame_needed = 0, uses_anonymous_args = 0
2845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
 4374              		.loc 1 2845 1 is_stmt 0 view .LVU1306
 4375 0000 08B5     		push	{r3, lr}
 4376              	.LCFI44:
 4377              		.cfi_def_cfa_offset 8
 4378              		.cfi_offset 3, -8
 4379              		.cfi_offset 14, -4
2846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4380              		.loc 1 2846 3 is_stmt 1 view .LVU1307
2846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4381              		.loc 1 2846 23 is_stmt 0 view .LVU1308
 4382 0002 806B     		ldr	r0, [r0, #56]
 4383              	.LVL333:
2848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4384              		.loc 1 2848 3 is_stmt 1 view .LVU1309
2848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4385              		.loc 1 2848 22 is_stmt 0 view .LVU1310
ARM GAS  /tmp/ccGtkZvD.s 			page 153


 4386 0004 0023     		movs	r3, #0
 4387 0006 C384     		strh	r3, [r0, #38]	@ movhi
2851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4388              		.loc 1 2851 3 is_stmt 1 view .LVU1311
2851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4389              		.loc 1 2851 17 is_stmt 0 view .LVU1312
 4390 0008 2023     		movs	r3, #32
 4391 000a 80F83930 		strb	r3, [r0, #57]
2859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 4392              		.loc 1 2859 3 is_stmt 1 view .LVU1313
 4393 000e FFF7FEFF 		bl	HAL_UART_AbortTransmitCpltCallback
 4394              	.LVL334:
2861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4395              		.loc 1 2861 1 is_stmt 0 view .LVU1314
 4396 0012 08BD     		pop	{r3, pc}
 4397              		.cfi_endproc
 4398              	.LFE179:
 4400              		.section	.text.HAL_UART_AbortReceiveCpltCallback,"ax",%progbits
 4401              		.align	1
 4402              		.weak	HAL_UART_AbortReceiveCpltCallback
 4403              		.syntax unified
 4404              		.thumb
 4405              		.thumb_func
 4407              	HAL_UART_AbortReceiveCpltCallback:
 4408              	.LVL335:
 4409              	.LFB160:
2249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
 4410              		.loc 1 2249 1 is_stmt 1 view -0
 4411              		.cfi_startproc
 4412              		@ args = 0, pretend = 0, frame = 0
 4413              		@ frame_needed = 0, uses_anonymous_args = 0
 4414              		@ link register save eliminated.
2251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4415              		.loc 1 2251 3 view .LVU1316
2256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4416              		.loc 1 2256 1 is_stmt 0 view .LVU1317
 4417 0000 7047     		bx	lr
 4418              		.cfi_endproc
 4419              	.LFE160:
 4421              		.section	.text.HAL_UART_AbortReceive_IT,"ax",%progbits
 4422              		.align	1
 4423              		.global	HAL_UART_AbortReceive_IT
 4424              		.syntax unified
 4425              		.thumb
 4426              		.thumb_func
 4428              	HAL_UART_AbortReceive_IT:
 4429              	.LVL336:
 4430              	.LFB151:
1929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
 4431              		.loc 1 1929 1 is_stmt 1 view -0
 4432              		.cfi_startproc
 4433              		@ args = 0, pretend = 0, frame = 0
 4434              		@ frame_needed = 0, uses_anonymous_args = 0
1929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
 4435              		.loc 1 1929 1 is_stmt 0 view .LVU1319
 4436 0000 10B5     		push	{r4, lr}
 4437              	.LCFI45:
ARM GAS  /tmp/ccGtkZvD.s 			page 154


 4438              		.cfi_def_cfa_offset 8
 4439              		.cfi_offset 4, -8
 4440              		.cfi_offset 14, -4
 4441 0002 0446     		mov	r4, r0
1931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
 4442              		.loc 1 1931 3 is_stmt 1 view .LVU1320
 4443 0004 0268     		ldr	r2, [r0]
 4444 0006 D368     		ldr	r3, [r2, #12]
 4445 0008 23F49073 		bic	r3, r3, #288
 4446 000c D360     		str	r3, [r2, #12]
1932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4447              		.loc 1 1932 3 view .LVU1321
 4448 000e 0268     		ldr	r2, [r0]
 4449 0010 5369     		ldr	r3, [r2, #20]
 4450 0012 23F00103 		bic	r3, r3, #1
 4451 0016 5361     		str	r3, [r2, #20]
1935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 4452              		.loc 1 1935 3 view .LVU1322
1935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 4453              		.loc 1 1935 7 is_stmt 0 view .LVU1323
 4454 0018 0368     		ldr	r3, [r0]
 4455 001a 5A69     		ldr	r2, [r3, #20]
1935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   {
 4456              		.loc 1 1935 6 view .LVU1324
 4457 001c 12F0400F 		tst	r2, #64
 4458 0020 17D0     		beq	.L280
1937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4459              		.loc 1 1937 5 is_stmt 1 view .LVU1325
 4460 0022 5A69     		ldr	r2, [r3, #20]
 4461 0024 22F04002 		bic	r2, r2, #64
 4462 0028 5A61     		str	r2, [r3, #20]
1940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 4463              		.loc 1 1940 5 view .LVU1326
1940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 4464              		.loc 1 1940 14 is_stmt 0 view .LVU1327
 4465 002a 436B     		ldr	r3, [r0, #52]
1940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****     {
 4466              		.loc 1 1940 8 view .LVU1328
 4467 002c 4BB1     		cbz	r3, .L281
1944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4468              		.loc 1 1944 7 is_stmt 1 view .LVU1329
1944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4469              		.loc 1 1944 40 is_stmt 0 view .LVU1330
 4470 002e 0D4A     		ldr	r2, .L284
 4471 0030 1A65     		str	r2, [r3, #80]
1947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 4472              		.loc 1 1947 7 is_stmt 1 view .LVU1331
1947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 4473              		.loc 1 1947 11 is_stmt 0 view .LVU1332
 4474 0032 406B     		ldr	r0, [r0, #52]
 4475              	.LVL337:
1947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 4476              		.loc 1 1947 11 view .LVU1333
 4477 0034 FFF7FEFF 		bl	HAL_DMA_Abort_IT
 4478              	.LVL338:
1947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       {
 4479              		.loc 1 1947 10 view .LVU1334
ARM GAS  /tmp/ccGtkZvD.s 			page 155


 4480 0038 90B1     		cbz	r0, .L282
1950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 4481              		.loc 1 1950 9 is_stmt 1 view .LVU1335
1950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 4482              		.loc 1 1950 14 is_stmt 0 view .LVU1336
 4483 003a 606B     		ldr	r0, [r4, #52]
1950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 4484              		.loc 1 1950 22 view .LVU1337
 4485 003c 036D     		ldr	r3, [r0, #80]
1950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****       }
 4486              		.loc 1 1950 9 view .LVU1338
 4487 003e 9847     		blx	r3
 4488              	.LVL339:
 4489 0040 0EE0     		b	.L282
 4490              	.LVL340:
 4491              	.L281:
1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4492              		.loc 1 1956 7 is_stmt 1 view .LVU1339
1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4493              		.loc 1 1956 26 is_stmt 0 view .LVU1340
 4494 0042 0023     		movs	r3, #0
 4495 0044 C385     		strh	r3, [r0, #46]	@ movhi
1959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4496              		.loc 1 1959 7 is_stmt 1 view .LVU1341
1959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4497              		.loc 1 1959 22 is_stmt 0 view .LVU1342
 4498 0046 2023     		movs	r3, #32
 4499 0048 80F83A30 		strb	r3, [r0, #58]
1967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 4500              		.loc 1 1967 7 is_stmt 1 view .LVU1343
 4501 004c FFF7FEFF 		bl	HAL_UART_AbortReceiveCpltCallback
 4502              	.LVL341:
1967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 4503              		.loc 1 1967 7 is_stmt 0 view .LVU1344
 4504 0050 06E0     		b	.L282
 4505              	.LVL342:
 4506              	.L280:
1974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4507              		.loc 1 1974 5 is_stmt 1 view .LVU1345
1974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4508              		.loc 1 1974 24 is_stmt 0 view .LVU1346
 4509 0052 0023     		movs	r3, #0
 4510 0054 C385     		strh	r3, [r0, #46]	@ movhi
1977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4511              		.loc 1 1977 5 is_stmt 1 view .LVU1347
1977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4512              		.loc 1 1977 20 is_stmt 0 view .LVU1348
 4513 0056 2023     		movs	r3, #32
 4514 0058 80F83A30 		strb	r3, [r0, #58]
1985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 4515              		.loc 1 1985 5 is_stmt 1 view .LVU1349
 4516 005c FFF7FEFF 		bl	HAL_UART_AbortReceiveCpltCallback
 4517              	.LVL343:
 4518              	.L282:
1989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 4519              		.loc 1 1989 3 view .LVU1350
1990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
ARM GAS  /tmp/ccGtkZvD.s 			page 156


 4520              		.loc 1 1990 1 is_stmt 0 view .LVU1351
 4521 0060 0020     		movs	r0, #0
 4522 0062 10BD     		pop	{r4, pc}
 4523              	.LVL344:
 4524              	.L285:
1990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4525              		.loc 1 1990 1 view .LVU1352
 4526              		.align	2
 4527              	.L284:
 4528 0064 00000000 		.word	UART_DMARxOnlyAbortCallback
 4529              		.cfi_endproc
 4530              	.LFE151:
 4532              		.section	.text.UART_DMARxOnlyAbortCallback,"ax",%progbits
 4533              		.align	1
 4534              		.syntax unified
 4535              		.thumb
 4536              		.thumb_func
 4538              	UART_DMARxOnlyAbortCallback:
 4539              	.LVL345:
 4540              	.LFB180:
2873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
 4541              		.loc 1 2873 1 is_stmt 1 view -0
 4542              		.cfi_startproc
 4543              		@ args = 0, pretend = 0, frame = 0
 4544              		@ frame_needed = 0, uses_anonymous_args = 0
2873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
 4545              		.loc 1 2873 1 is_stmt 0 view .LVU1354
 4546 0000 08B5     		push	{r3, lr}
 4547              	.LCFI46:
 4548              		.cfi_def_cfa_offset 8
 4549              		.cfi_offset 3, -8
 4550              		.cfi_offset 14, -4
2874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4551              		.loc 1 2874 3 is_stmt 1 view .LVU1355
2874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4552              		.loc 1 2874 23 is_stmt 0 view .LVU1356
 4553 0002 806B     		ldr	r0, [r0, #56]
 4554              	.LVL346:
2876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4555              		.loc 1 2876 3 is_stmt 1 view .LVU1357
2876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4556              		.loc 1 2876 22 is_stmt 0 view .LVU1358
 4557 0004 0023     		movs	r3, #0
 4558 0006 C385     		strh	r3, [r0, #46]	@ movhi
2879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4559              		.loc 1 2879 3 is_stmt 1 view .LVU1359
2879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4560              		.loc 1 2879 18 is_stmt 0 view .LVU1360
 4561 0008 2023     		movs	r3, #32
 4562 000a 80F83A30 		strb	r3, [r0, #58]
2887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 4563              		.loc 1 2887 3 is_stmt 1 view .LVU1361
 4564 000e FFF7FEFF 		bl	HAL_UART_AbortReceiveCpltCallback
 4565              	.LVL347:
2889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4566              		.loc 1 2889 1 is_stmt 0 view .LVU1362
 4567 0012 08BD     		pop	{r3, pc}
ARM GAS  /tmp/ccGtkZvD.s 			page 157


 4568              		.cfi_endproc
 4569              	.LFE180:
 4571              		.section	.text.HAL_LIN_SendBreak,"ax",%progbits
 4572              		.align	1
 4573              		.global	HAL_LIN_SendBreak
 4574              		.syntax unified
 4575              		.thumb
 4576              		.thumb_func
 4578              	HAL_LIN_SendBreak:
 4579              	.LVL348:
 4580              	.LFB161:
2288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check the parameters */
 4581              		.loc 1 2288 1 is_stmt 1 view -0
 4582              		.cfi_startproc
 4583              		@ args = 0, pretend = 0, frame = 0
 4584              		@ frame_needed = 0, uses_anonymous_args = 0
 4585              		@ link register save eliminated.
2290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4586              		.loc 1 2290 3 view .LVU1364
2293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4587              		.loc 1 2293 3 view .LVU1365
2293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4588              		.loc 1 2293 3 view .LVU1366
 4589 0000 90F83830 		ldrb	r3, [r0, #56]	@ zero_extendqisi2
 4590 0004 012B     		cmp	r3, #1
 4591 0006 12D0     		beq	.L290
2293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4592              		.loc 1 2293 3 discriminator 2 view .LVU1367
 4593 0008 0123     		movs	r3, #1
 4594 000a 80F83830 		strb	r3, [r0, #56]
2293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4595              		.loc 1 2293 3 discriminator 2 view .LVU1368
2295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4596              		.loc 1 2295 3 discriminator 2 view .LVU1369
2295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4597              		.loc 1 2295 17 is_stmt 0 discriminator 2 view .LVU1370
 4598 000e 2423     		movs	r3, #36
 4599 0010 80F83930 		strb	r3, [r0, #57]
2298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4600              		.loc 1 2298 3 is_stmt 1 discriminator 2 view .LVU1371
 4601 0014 0268     		ldr	r2, [r0]
 4602 0016 D368     		ldr	r3, [r2, #12]
 4603 0018 43F00103 		orr	r3, r3, #1
 4604 001c D360     		str	r3, [r2, #12]
2300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4605              		.loc 1 2300 3 discriminator 2 view .LVU1372
2300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4606              		.loc 1 2300 17 is_stmt 0 discriminator 2 view .LVU1373
 4607 001e 2023     		movs	r3, #32
 4608 0020 80F83930 		strb	r3, [r0, #57]
2303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4609              		.loc 1 2303 3 is_stmt 1 discriminator 2 view .LVU1374
2303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4610              		.loc 1 2303 3 discriminator 2 view .LVU1375
 4611 0024 0023     		movs	r3, #0
 4612 0026 80F83830 		strb	r3, [r0, #56]
2303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
ARM GAS  /tmp/ccGtkZvD.s 			page 158


 4613              		.loc 1 2303 3 discriminator 2 view .LVU1376
2305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 4614              		.loc 1 2305 3 discriminator 2 view .LVU1377
2305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 4615              		.loc 1 2305 10 is_stmt 0 discriminator 2 view .LVU1378
 4616 002a 1846     		mov	r0, r3
 4617              	.LVL349:
2305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 4618              		.loc 1 2305 10 discriminator 2 view .LVU1379
 4619 002c 7047     		bx	lr
 4620              	.LVL350:
 4621              	.L290:
2293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4622              		.loc 1 2293 3 view .LVU1380
 4623 002e 0220     		movs	r0, #2
 4624              	.LVL351:
2306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4625              		.loc 1 2306 1 view .LVU1381
 4626 0030 7047     		bx	lr
 4627              		.cfi_endproc
 4628              	.LFE161:
 4630              		.section	.text.HAL_MultiProcessor_EnterMuteMode,"ax",%progbits
 4631              		.align	1
 4632              		.global	HAL_MultiProcessor_EnterMuteMode
 4633              		.syntax unified
 4634              		.thumb
 4635              		.thumb_func
 4637              	HAL_MultiProcessor_EnterMuteMode:
 4638              	.LVL352:
 4639              	.LFB162:
2315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check the parameters */
 4640              		.loc 1 2315 1 is_stmt 1 view -0
 4641              		.cfi_startproc
 4642              		@ args = 0, pretend = 0, frame = 0
 4643              		@ frame_needed = 0, uses_anonymous_args = 0
 4644              		@ link register save eliminated.
2317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4645              		.loc 1 2317 3 view .LVU1383
2320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4646              		.loc 1 2320 3 view .LVU1384
2320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4647              		.loc 1 2320 3 view .LVU1385
 4648 0000 90F83830 		ldrb	r3, [r0, #56]	@ zero_extendqisi2
 4649 0004 012B     		cmp	r3, #1
 4650 0006 12D0     		beq	.L293
2320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4651              		.loc 1 2320 3 discriminator 2 view .LVU1386
 4652 0008 0123     		movs	r3, #1
 4653 000a 80F83830 		strb	r3, [r0, #56]
2320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4654              		.loc 1 2320 3 discriminator 2 view .LVU1387
2322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4655              		.loc 1 2322 3 discriminator 2 view .LVU1388
2322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4656              		.loc 1 2322 17 is_stmt 0 discriminator 2 view .LVU1389
 4657 000e 2423     		movs	r3, #36
 4658 0010 80F83930 		strb	r3, [r0, #57]
ARM GAS  /tmp/ccGtkZvD.s 			page 159


2325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4659              		.loc 1 2325 3 is_stmt 1 discriminator 2 view .LVU1390
 4660 0014 0268     		ldr	r2, [r0]
 4661 0016 D368     		ldr	r3, [r2, #12]
 4662 0018 43F00203 		orr	r3, r3, #2
 4663 001c D360     		str	r3, [r2, #12]
2327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4664              		.loc 1 2327 3 discriminator 2 view .LVU1391
2327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4665              		.loc 1 2327 17 is_stmt 0 discriminator 2 view .LVU1392
 4666 001e 2023     		movs	r3, #32
 4667 0020 80F83930 		strb	r3, [r0, #57]
2330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4668              		.loc 1 2330 3 is_stmt 1 discriminator 2 view .LVU1393
2330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4669              		.loc 1 2330 3 discriminator 2 view .LVU1394
 4670 0024 0023     		movs	r3, #0
 4671 0026 80F83830 		strb	r3, [r0, #56]
2330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4672              		.loc 1 2330 3 discriminator 2 view .LVU1395
2332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 4673              		.loc 1 2332 3 discriminator 2 view .LVU1396
2332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 4674              		.loc 1 2332 10 is_stmt 0 discriminator 2 view .LVU1397
 4675 002a 1846     		mov	r0, r3
 4676              	.LVL353:
2332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 4677              		.loc 1 2332 10 discriminator 2 view .LVU1398
 4678 002c 7047     		bx	lr
 4679              	.LVL354:
 4680              	.L293:
2320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4681              		.loc 1 2320 3 view .LVU1399
 4682 002e 0220     		movs	r0, #2
 4683              	.LVL355:
2333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4684              		.loc 1 2333 1 view .LVU1400
 4685 0030 7047     		bx	lr
 4686              		.cfi_endproc
 4687              	.LFE162:
 4689              		.section	.text.HAL_MultiProcessor_ExitMuteMode,"ax",%progbits
 4690              		.align	1
 4691              		.global	HAL_MultiProcessor_ExitMuteMode
 4692              		.syntax unified
 4693              		.thumb
 4694              		.thumb_func
 4696              	HAL_MultiProcessor_ExitMuteMode:
 4697              	.LVL356:
 4698              	.LFB163:
2342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   /* Check the parameters */
 4699              		.loc 1 2342 1 is_stmt 1 view -0
 4700              		.cfi_startproc
 4701              		@ args = 0, pretend = 0, frame = 0
 4702              		@ frame_needed = 0, uses_anonymous_args = 0
 4703              		@ link register save eliminated.
2344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4704              		.loc 1 2344 3 view .LVU1402
ARM GAS  /tmp/ccGtkZvD.s 			page 160


2347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4705              		.loc 1 2347 3 view .LVU1403
2347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4706              		.loc 1 2347 3 view .LVU1404
 4707 0000 90F83830 		ldrb	r3, [r0, #56]	@ zero_extendqisi2
 4708 0004 012B     		cmp	r3, #1
 4709 0006 12D0     		beq	.L296
2347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4710              		.loc 1 2347 3 discriminator 2 view .LVU1405
 4711 0008 0123     		movs	r3, #1
 4712 000a 80F83830 		strb	r3, [r0, #56]
2347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4713              		.loc 1 2347 3 discriminator 2 view .LVU1406
2349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4714              		.loc 1 2349 3 discriminator 2 view .LVU1407
2349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4715              		.loc 1 2349 17 is_stmt 0 discriminator 2 view .LVU1408
 4716 000e 2423     		movs	r3, #36
 4717 0010 80F83930 		strb	r3, [r0, #57]
2352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4718              		.loc 1 2352 3 is_stmt 1 discriminator 2 view .LVU1409
 4719 0014 0268     		ldr	r2, [r0]
 4720 0016 D368     		ldr	r3, [r2, #12]
 4721 0018 23F00203 		bic	r3, r3, #2
 4722 001c D360     		str	r3, [r2, #12]
2354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4723              		.loc 1 2354 3 discriminator 2 view .LVU1410
2354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4724              		.loc 1 2354 17 is_stmt 0 discriminator 2 view .LVU1411
 4725 001e 2023     		movs	r3, #32
 4726 0020 80F83930 		strb	r3, [r0, #57]
2357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4727              		.loc 1 2357 3 is_stmt 1 discriminator 2 view .LVU1412
2357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4728              		.loc 1 2357 3 discriminator 2 view .LVU1413
 4729 0024 0023     		movs	r3, #0
 4730 0026 80F83830 		strb	r3, [r0, #56]
2357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4731              		.loc 1 2357 3 discriminator 2 view .LVU1414
2359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 4732              		.loc 1 2359 3 discriminator 2 view .LVU1415
2359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 4733              		.loc 1 2359 10 is_stmt 0 discriminator 2 view .LVU1416
 4734 002a 1846     		mov	r0, r3
 4735              	.LVL357:
2359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 4736              		.loc 1 2359 10 discriminator 2 view .LVU1417
 4737 002c 7047     		bx	lr
 4738              	.LVL358:
 4739              	.L296:
2347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4740              		.loc 1 2347 3 view .LVU1418
 4741 002e 0220     		movs	r0, #2
 4742              	.LVL359:
2360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4743              		.loc 1 2360 1 view .LVU1419
 4744 0030 7047     		bx	lr
ARM GAS  /tmp/ccGtkZvD.s 			page 161


 4745              		.cfi_endproc
 4746              	.LFE163:
 4748              		.section	.text.HAL_HalfDuplex_EnableTransmitter,"ax",%progbits
 4749              		.align	1
 4750              		.global	HAL_HalfDuplex_EnableTransmitter
 4751              		.syntax unified
 4752              		.thumb
 4753              		.thumb_func
 4755              	HAL_HalfDuplex_EnableTransmitter:
 4756              	.LVL360:
 4757              	.LFB164:
2369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t tmpreg = 0x00U;
 4758              		.loc 1 2369 1 is_stmt 1 view -0
 4759              		.cfi_startproc
 4760              		@ args = 0, pretend = 0, frame = 0
 4761              		@ frame_needed = 0, uses_anonymous_args = 0
 4762              		@ link register save eliminated.
2370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4763              		.loc 1 2370 3 view .LVU1421
2373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4764              		.loc 1 2373 3 view .LVU1422
2373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4765              		.loc 1 2373 3 view .LVU1423
 4766 0000 90F83830 		ldrb	r3, [r0, #56]	@ zero_extendqisi2
 4767 0004 012B     		cmp	r3, #1
 4768 0006 14D0     		beq	.L299
2373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4769              		.loc 1 2373 3 discriminator 2 view .LVU1424
 4770 0008 0123     		movs	r3, #1
 4771 000a 80F83830 		strb	r3, [r0, #56]
2373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4772              		.loc 1 2373 3 discriminator 2 view .LVU1425
2375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4773              		.loc 1 2375 3 discriminator 2 view .LVU1426
2375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4774              		.loc 1 2375 17 is_stmt 0 discriminator 2 view .LVU1427
 4775 000e 2423     		movs	r3, #36
 4776 0010 80F83930 		strb	r3, [r0, #57]
2378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4777              		.loc 1 2378 3 is_stmt 1 discriminator 2 view .LVU1428
2378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4778              		.loc 1 2378 17 is_stmt 0 discriminator 2 view .LVU1429
 4779 0014 0268     		ldr	r2, [r0]
2378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4780              		.loc 1 2378 10 discriminator 2 view .LVU1430
 4781 0016 D368     		ldr	r3, [r2, #12]
 4782              	.LVL361:
2381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4783              		.loc 1 2381 3 is_stmt 1 discriminator 2 view .LVU1431
2381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4784              		.loc 1 2381 10 is_stmt 0 discriminator 2 view .LVU1432
 4785 0018 23F00C03 		bic	r3, r3, #12
 4786              	.LVL362:
2384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4787              		.loc 1 2384 3 is_stmt 1 discriminator 2 view .LVU1433
2384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4788              		.loc 1 2384 10 is_stmt 0 discriminator 2 view .LVU1434
ARM GAS  /tmp/ccGtkZvD.s 			page 162


 4789 001c 43F00803 		orr	r3, r3, #8
 4790              	.LVL363:
2387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4791              		.loc 1 2387 3 is_stmt 1 discriminator 2 view .LVU1435
 4792 0020 D360     		str	r3, [r2, #12]
2389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4793              		.loc 1 2389 3 discriminator 2 view .LVU1436
2389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4794              		.loc 1 2389 17 is_stmt 0 discriminator 2 view .LVU1437
 4795 0022 2023     		movs	r3, #32
 4796              	.LVL364:
2389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4797              		.loc 1 2389 17 discriminator 2 view .LVU1438
 4798 0024 80F83930 		strb	r3, [r0, #57]
 4799              	.LVL365:
2392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4800              		.loc 1 2392 3 is_stmt 1 discriminator 2 view .LVU1439
2392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4801              		.loc 1 2392 3 discriminator 2 view .LVU1440
 4802 0028 0023     		movs	r3, #0
 4803 002a 80F83830 		strb	r3, [r0, #56]
2392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4804              		.loc 1 2392 3 discriminator 2 view .LVU1441
2394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 4805              		.loc 1 2394 3 discriminator 2 view .LVU1442
2394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 4806              		.loc 1 2394 10 is_stmt 0 discriminator 2 view .LVU1443
 4807 002e 1846     		mov	r0, r3
 4808              	.LVL366:
2394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 4809              		.loc 1 2394 10 discriminator 2 view .LVU1444
 4810 0030 7047     		bx	lr
 4811              	.LVL367:
 4812              	.L299:
2373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4813              		.loc 1 2373 3 view .LVU1445
 4814 0032 0220     		movs	r0, #2
 4815              	.LVL368:
2395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4816              		.loc 1 2395 1 view .LVU1446
 4817 0034 7047     		bx	lr
 4818              		.cfi_endproc
 4819              	.LFE164:
 4821              		.section	.text.HAL_HalfDuplex_EnableReceiver,"ax",%progbits
 4822              		.align	1
 4823              		.global	HAL_HalfDuplex_EnableReceiver
 4824              		.syntax unified
 4825              		.thumb
 4826              		.thumb_func
 4828              	HAL_HalfDuplex_EnableReceiver:
 4829              	.LVL369:
 4830              	.LFB165:
2404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t tmpreg = 0x00U;
 4831              		.loc 1 2404 1 is_stmt 1 view -0
 4832              		.cfi_startproc
 4833              		@ args = 0, pretend = 0, frame = 0
 4834              		@ frame_needed = 0, uses_anonymous_args = 0
ARM GAS  /tmp/ccGtkZvD.s 			page 163


 4835              		@ link register save eliminated.
2405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4836              		.loc 1 2405 3 view .LVU1448
2408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4837              		.loc 1 2408 3 view .LVU1449
2408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4838              		.loc 1 2408 3 view .LVU1450
 4839 0000 90F83830 		ldrb	r3, [r0, #56]	@ zero_extendqisi2
 4840 0004 012B     		cmp	r3, #1
 4841 0006 14D0     		beq	.L302
2408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4842              		.loc 1 2408 3 discriminator 2 view .LVU1451
 4843 0008 0123     		movs	r3, #1
 4844 000a 80F83830 		strb	r3, [r0, #56]
2408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4845              		.loc 1 2408 3 discriminator 2 view .LVU1452
2410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4846              		.loc 1 2410 3 discriminator 2 view .LVU1453
2410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4847              		.loc 1 2410 17 is_stmt 0 discriminator 2 view .LVU1454
 4848 000e 2423     		movs	r3, #36
 4849 0010 80F83930 		strb	r3, [r0, #57]
2413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4850              		.loc 1 2413 3 is_stmt 1 discriminator 2 view .LVU1455
2413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4851              		.loc 1 2413 17 is_stmt 0 discriminator 2 view .LVU1456
 4852 0014 0268     		ldr	r2, [r0]
2413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4853              		.loc 1 2413 10 discriminator 2 view .LVU1457
 4854 0016 D368     		ldr	r3, [r2, #12]
 4855              	.LVL370:
2416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4856              		.loc 1 2416 3 is_stmt 1 discriminator 2 view .LVU1458
2416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4857              		.loc 1 2416 10 is_stmt 0 discriminator 2 view .LVU1459
 4858 0018 23F00C03 		bic	r3, r3, #12
 4859              	.LVL371:
2419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4860              		.loc 1 2419 3 is_stmt 1 discriminator 2 view .LVU1460
2419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4861              		.loc 1 2419 10 is_stmt 0 discriminator 2 view .LVU1461
 4862 001c 43F00403 		orr	r3, r3, #4
 4863              	.LVL372:
2422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4864              		.loc 1 2422 3 is_stmt 1 discriminator 2 view .LVU1462
 4865 0020 D360     		str	r3, [r2, #12]
2424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4866              		.loc 1 2424 3 discriminator 2 view .LVU1463
2424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4867              		.loc 1 2424 17 is_stmt 0 discriminator 2 view .LVU1464
 4868 0022 2023     		movs	r3, #32
 4869              	.LVL373:
2424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4870              		.loc 1 2424 17 discriminator 2 view .LVU1465
 4871 0024 80F83930 		strb	r3, [r0, #57]
 4872              	.LVL374:
2427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
ARM GAS  /tmp/ccGtkZvD.s 			page 164


 4873              		.loc 1 2427 3 is_stmt 1 discriminator 2 view .LVU1466
2427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4874              		.loc 1 2427 3 discriminator 2 view .LVU1467
 4875 0028 0023     		movs	r3, #0
 4876 002a 80F83830 		strb	r3, [r0, #56]
2427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4877              		.loc 1 2427 3 discriminator 2 view .LVU1468
2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 4878              		.loc 1 2429 3 discriminator 2 view .LVU1469
2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 4879              		.loc 1 2429 10 is_stmt 0 discriminator 2 view .LVU1470
 4880 002e 1846     		mov	r0, r3
 4881              	.LVL375:
2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 4882              		.loc 1 2429 10 discriminator 2 view .LVU1471
 4883 0030 7047     		bx	lr
 4884              	.LVL376:
 4885              	.L302:
2408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4886              		.loc 1 2408 3 view .LVU1472
 4887 0032 0220     		movs	r0, #2
 4888              	.LVL377:
2430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4889              		.loc 1 2430 1 view .LVU1473
 4890 0034 7047     		bx	lr
 4891              		.cfi_endproc
 4892              	.LFE165:
 4894              		.section	.text.HAL_UART_GetState,"ax",%progbits
 4895              		.align	1
 4896              		.global	HAL_UART_GetState
 4897              		.syntax unified
 4898              		.thumb
 4899              		.thumb_func
 4901              	HAL_UART_GetState:
 4902              	.LVL378:
 4903              	.LFB166:
2461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   uint32_t temp1 = 0x00U, temp2 = 0x00U;
 4904              		.loc 1 2461 1 is_stmt 1 view -0
 4905              		.cfi_startproc
 4906              		@ args = 0, pretend = 0, frame = 0
 4907              		@ frame_needed = 0, uses_anonymous_args = 0
 4908              		@ link register save eliminated.
2462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   temp1 = huart->gState;
 4909              		.loc 1 2462 3 view .LVU1475
2463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   temp2 = huart->RxState;
 4910              		.loc 1 2463 3 view .LVU1476
2463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   temp2 = huart->RxState;
 4911              		.loc 1 2463 16 is_stmt 0 view .LVU1477
 4912 0000 90F83930 		ldrb	r3, [r0, #57]	@ zero_extendqisi2
 4913              	.LVL379:
2464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4914              		.loc 1 2464 3 is_stmt 1 view .LVU1478
2464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4915              		.loc 1 2464 16 is_stmt 0 view .LVU1479
 4916 0004 90F83A00 		ldrb	r0, [r0, #58]	@ zero_extendqisi2
 4917              	.LVL380:
2466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS  /tmp/ccGtkZvD.s 			page 165


 4918              		.loc 1 2466 3 is_stmt 1 view .LVU1480
2467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4919              		.loc 1 2467 1 is_stmt 0 view .LVU1481
 4920 0008 1843     		orrs	r0, r0, r3
 4921              	.LVL381:
2467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4922              		.loc 1 2467 1 view .LVU1482
 4923 000a 7047     		bx	lr
 4924              		.cfi_endproc
 4925              	.LFE166:
 4927              		.section	.text.HAL_UART_GetError,"ax",%progbits
 4928              		.align	1
 4929              		.global	HAL_UART_GetError
 4930              		.syntax unified
 4931              		.thumb
 4932              		.thumb_func
 4934              	HAL_UART_GetError:
 4935              	.LVL382:
 4936              	.LFB167:
2476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****   return huart->ErrorCode;
 4937              		.loc 1 2476 1 is_stmt 1 view -0
 4938              		.cfi_startproc
 4939              		@ args = 0, pretend = 0, frame = 0
 4940              		@ frame_needed = 0, uses_anonymous_args = 0
 4941              		@ link register save eliminated.
2477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 4942              		.loc 1 2477 3 view .LVU1484
2477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
 4943              		.loc 1 2477 15 is_stmt 0 view .LVU1485
 4944 0000 C06B     		ldr	r0, [r0, #60]
 4945              	.LVL383:
2478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 
 4946              		.loc 1 2478 1 view .LVU1486
 4947 0002 7047     		bx	lr
 4948              		.cfi_endproc
 4949              	.LFE167:
 4951              		.text
 4952              	.Letext0:
 4953              		.file 2 "/home/gitc/\346\241\214\351\235\242/gcc-arm-none-eabi-10.3-2021.10/arm-none-eabi/include/
 4954              		.file 3 "/home/gitc/\346\241\214\351\235\242/gcc-arm-none-eabi-10.3-2021.10/arm-none-eabi/include/
 4955              		.file 4 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f407xx.h"
 4956              		.file 5 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h"
 4957              		.file 6 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h"
 4958              		.file 7 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h"
 4959              		.file 8 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h"
 4960              		.file 9 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h"
 4961              		.file 10 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h"
ARM GAS  /tmp/ccGtkZvD.s 			page 166


DEFINED SYMBOLS
                            *ABS*:0000000000000000 stm32f4xx_hal_uart.c
     /tmp/ccGtkZvD.s:20     .text.UART_EndTxTransfer:0000000000000000 $t
     /tmp/ccGtkZvD.s:25     .text.UART_EndTxTransfer:0000000000000000 UART_EndTxTransfer
     /tmp/ccGtkZvD.s:49     .text.UART_EndRxTransfer:0000000000000000 $t
     /tmp/ccGtkZvD.s:54     .text.UART_EndRxTransfer:0000000000000000 UART_EndRxTransfer
     /tmp/ccGtkZvD.s:82     .text.UART_Transmit_IT:0000000000000000 $t
     /tmp/ccGtkZvD.s:87     .text.UART_Transmit_IT:0000000000000000 UART_Transmit_IT
     /tmp/ccGtkZvD.s:195    .text.UART_SetConfig:0000000000000000 $t
     /tmp/ccGtkZvD.s:200    .text.UART_SetConfig:0000000000000000 UART_SetConfig
     /tmp/ccGtkZvD.s:572    .text.UART_SetConfig:0000000000000320 $d
     /tmp/ccGtkZvD.s:578    .text.UART_WaitOnFlagUntilTimeout:0000000000000000 $t
     /tmp/ccGtkZvD.s:583    .text.UART_WaitOnFlagUntilTimeout:0000000000000000 UART_WaitOnFlagUntilTimeout
     /tmp/ccGtkZvD.s:676    .text.HAL_UART_MspInit:0000000000000000 $t
     /tmp/ccGtkZvD.s:682    .text.HAL_UART_MspInit:0000000000000000 HAL_UART_MspInit
     /tmp/ccGtkZvD.s:697    .text.HAL_UART_Init:0000000000000000 $t
     /tmp/ccGtkZvD.s:703    .text.HAL_UART_Init:0000000000000000 HAL_UART_Init
     /tmp/ccGtkZvD.s:798    .text.HAL_HalfDuplex_Init:0000000000000000 $t
     /tmp/ccGtkZvD.s:804    .text.HAL_HalfDuplex_Init:0000000000000000 HAL_HalfDuplex_Init
     /tmp/ccGtkZvD.s:904    .text.HAL_LIN_Init:0000000000000000 $t
     /tmp/ccGtkZvD.s:910    .text.HAL_LIN_Init:0000000000000000 HAL_LIN_Init
     /tmp/ccGtkZvD.s:1029   .text.HAL_MultiProcessor_Init:0000000000000000 $t
     /tmp/ccGtkZvD.s:1035   .text.HAL_MultiProcessor_Init:0000000000000000 HAL_MultiProcessor_Init
     /tmp/ccGtkZvD.s:1161   .text.HAL_UART_MspDeInit:0000000000000000 $t
     /tmp/ccGtkZvD.s:1167   .text.HAL_UART_MspDeInit:0000000000000000 HAL_UART_MspDeInit
     /tmp/ccGtkZvD.s:1182   .text.HAL_UART_DeInit:0000000000000000 $t
     /tmp/ccGtkZvD.s:1188   .text.HAL_UART_DeInit:0000000000000000 HAL_UART_DeInit
     /tmp/ccGtkZvD.s:1250   .text.HAL_UART_Transmit:0000000000000000 $t
     /tmp/ccGtkZvD.s:1256   .text.HAL_UART_Transmit:0000000000000000 HAL_UART_Transmit
     /tmp/ccGtkZvD.s:1494   .text.HAL_UART_Receive:0000000000000000 $t
     /tmp/ccGtkZvD.s:1500   .text.HAL_UART_Receive:0000000000000000 HAL_UART_Receive
     /tmp/ccGtkZvD.s:1749   .text.HAL_UART_Transmit_IT:0000000000000000 $t
     /tmp/ccGtkZvD.s:1755   .text.HAL_UART_Transmit_IT:0000000000000000 HAL_UART_Transmit_IT
     /tmp/ccGtkZvD.s:1853   .text.HAL_UART_Receive_IT:0000000000000000 $t
     /tmp/ccGtkZvD.s:1859   .text.HAL_UART_Receive_IT:0000000000000000 HAL_UART_Receive_IT
     /tmp/ccGtkZvD.s:1967   .text.HAL_UART_Transmit_DMA:0000000000000000 $t
     /tmp/ccGtkZvD.s:1973   .text.HAL_UART_Transmit_DMA:0000000000000000 HAL_UART_Transmit_DMA
     /tmp/ccGtkZvD.s:2117   .text.HAL_UART_Transmit_DMA:0000000000000080 $d
     /tmp/ccGtkZvD.s:2993   .text.UART_DMATransmitCplt:0000000000000000 UART_DMATransmitCplt
     /tmp/ccGtkZvD.s:3113   .text.UART_DMATxHalfCplt:0000000000000000 UART_DMATxHalfCplt
     /tmp/ccGtkZvD.s:3468   .text.UART_DMAError:0000000000000000 UART_DMAError
     /tmp/ccGtkZvD.s:2124   .text.HAL_UART_Receive_DMA:0000000000000000 $t
     /tmp/ccGtkZvD.s:2130   .text.HAL_UART_Receive_DMA:0000000000000000 HAL_UART_Receive_DMA
     /tmp/ccGtkZvD.s:2294   .text.HAL_UART_Receive_DMA:000000000000009c $d
     /tmp/ccGtkZvD.s:3166   .text.UART_DMAReceiveCplt:0000000000000000 UART_DMAReceiveCplt
     /tmp/ccGtkZvD.s:3415   .text.UART_DMARxHalfCplt:0000000000000000 UART_DMARxHalfCplt
     /tmp/ccGtkZvD.s:2301   .text.HAL_UART_DMAPause:0000000000000000 $t
     /tmp/ccGtkZvD.s:2307   .text.HAL_UART_DMAPause:0000000000000000 HAL_UART_DMAPause
     /tmp/ccGtkZvD.s:2409   .text.HAL_UART_DMAResume:0000000000000000 $t
     /tmp/ccGtkZvD.s:2415   .text.HAL_UART_DMAResume:0000000000000000 HAL_UART_DMAResume
     /tmp/ccGtkZvD.s:2527   .text.HAL_UART_DMAStop:0000000000000000 $t
     /tmp/ccGtkZvD.s:2533   .text.HAL_UART_DMAStop:0000000000000000 HAL_UART_DMAStop
     /tmp/ccGtkZvD.s:2636   .text.HAL_UART_Abort:0000000000000000 $t
     /tmp/ccGtkZvD.s:2642   .text.HAL_UART_Abort:0000000000000000 HAL_UART_Abort
     /tmp/ccGtkZvD.s:2784   .text.HAL_UART_AbortTransmit:0000000000000000 $t
     /tmp/ccGtkZvD.s:2790   .text.HAL_UART_AbortTransmit:0000000000000000 HAL_UART_AbortTransmit
     /tmp/ccGtkZvD.s:2873   .text.HAL_UART_AbortReceive:0000000000000000 $t
ARM GAS  /tmp/ccGtkZvD.s 			page 167


     /tmp/ccGtkZvD.s:2879   .text.HAL_UART_AbortReceive:0000000000000000 HAL_UART_AbortReceive
     /tmp/ccGtkZvD.s:2967   .text.HAL_UART_TxCpltCallback:0000000000000000 $t
     /tmp/ccGtkZvD.s:2973   .text.HAL_UART_TxCpltCallback:0000000000000000 HAL_UART_TxCpltCallback
     /tmp/ccGtkZvD.s:2988   .text.UART_DMATransmitCplt:0000000000000000 $t
     /tmp/ccGtkZvD.s:3049   .text.UART_EndTransmit_IT:0000000000000000 $t
     /tmp/ccGtkZvD.s:3054   .text.UART_EndTransmit_IT:0000000000000000 UART_EndTransmit_IT
     /tmp/ccGtkZvD.s:3087   .text.HAL_UART_TxHalfCpltCallback:0000000000000000 $t
     /tmp/ccGtkZvD.s:3093   .text.HAL_UART_TxHalfCpltCallback:0000000000000000 HAL_UART_TxHalfCpltCallback
     /tmp/ccGtkZvD.s:3108   .text.UART_DMATxHalfCplt:0000000000000000 $t
     /tmp/ccGtkZvD.s:3140   .text.HAL_UART_RxCpltCallback:0000000000000000 $t
     /tmp/ccGtkZvD.s:3146   .text.HAL_UART_RxCpltCallback:0000000000000000 HAL_UART_RxCpltCallback
     /tmp/ccGtkZvD.s:3161   .text.UART_DMAReceiveCplt:0000000000000000 $t
     /tmp/ccGtkZvD.s:3226   .text.UART_Receive_IT:0000000000000000 $t
     /tmp/ccGtkZvD.s:3231   .text.UART_Receive_IT:0000000000000000 UART_Receive_IT
     /tmp/ccGtkZvD.s:3389   .text.HAL_UART_RxHalfCpltCallback:0000000000000000 $t
     /tmp/ccGtkZvD.s:3395   .text.HAL_UART_RxHalfCpltCallback:0000000000000000 HAL_UART_RxHalfCpltCallback
     /tmp/ccGtkZvD.s:3410   .text.UART_DMARxHalfCplt:0000000000000000 $t
     /tmp/ccGtkZvD.s:3442   .text.HAL_UART_ErrorCallback:0000000000000000 $t
     /tmp/ccGtkZvD.s:3448   .text.HAL_UART_ErrorCallback:0000000000000000 HAL_UART_ErrorCallback
     /tmp/ccGtkZvD.s:3463   .text.UART_DMAError:0000000000000000 $t
     /tmp/ccGtkZvD.s:3565   .text.HAL_UART_IRQHandler:0000000000000000 $t
     /tmp/ccGtkZvD.s:3571   .text.HAL_UART_IRQHandler:0000000000000000 HAL_UART_IRQHandler
     /tmp/ccGtkZvD.s:3837   .text.HAL_UART_IRQHandler:000000000000011c $d
     /tmp/ccGtkZvD.s:3847   .text.UART_DMAAbortOnError:0000000000000000 UART_DMAAbortOnError
     /tmp/ccGtkZvD.s:3842   .text.UART_DMAAbortOnError:0000000000000000 $t
     /tmp/ccGtkZvD.s:3880   .text.HAL_UART_AbortCpltCallback:0000000000000000 $t
     /tmp/ccGtkZvD.s:3886   .text.HAL_UART_AbortCpltCallback:0000000000000000 HAL_UART_AbortCpltCallback
     /tmp/ccGtkZvD.s:3901   .text.HAL_UART_Abort_IT:0000000000000000 $t
     /tmp/ccGtkZvD.s:3907   .text.HAL_UART_Abort_IT:0000000000000000 HAL_UART_Abort_IT
     /tmp/ccGtkZvD.s:4097   .text.HAL_UART_Abort_IT:00000000000000bc $d
     /tmp/ccGtkZvD.s:4174   .text.UART_DMATxAbortCallback:0000000000000000 UART_DMATxAbortCallback
     /tmp/ccGtkZvD.s:4108   .text.UART_DMARxAbortCallback:0000000000000000 UART_DMARxAbortCallback
     /tmp/ccGtkZvD.s:4103   .text.UART_DMARxAbortCallback:0000000000000000 $t
     /tmp/ccGtkZvD.s:4169   .text.UART_DMATxAbortCallback:0000000000000000 $t
     /tmp/ccGtkZvD.s:4235   .text.HAL_UART_AbortTransmitCpltCallback:0000000000000000 $t
     /tmp/ccGtkZvD.s:4241   .text.HAL_UART_AbortTransmitCpltCallback:0000000000000000 HAL_UART_AbortTransmitCpltCallback
     /tmp/ccGtkZvD.s:4256   .text.HAL_UART_AbortTransmit_IT:0000000000000000 $t
     /tmp/ccGtkZvD.s:4262   .text.HAL_UART_AbortTransmit_IT:0000000000000000 HAL_UART_AbortTransmit_IT
     /tmp/ccGtkZvD.s:4357   .text.HAL_UART_AbortTransmit_IT:000000000000005c $d
     /tmp/ccGtkZvD.s:4367   .text.UART_DMATxOnlyAbortCallback:0000000000000000 UART_DMATxOnlyAbortCallback
     /tmp/ccGtkZvD.s:4362   .text.UART_DMATxOnlyAbortCallback:0000000000000000 $t
     /tmp/ccGtkZvD.s:4401   .text.HAL_UART_AbortReceiveCpltCallback:0000000000000000 $t
     /tmp/ccGtkZvD.s:4407   .text.HAL_UART_AbortReceiveCpltCallback:0000000000000000 HAL_UART_AbortReceiveCpltCallback
     /tmp/ccGtkZvD.s:4422   .text.HAL_UART_AbortReceive_IT:0000000000000000 $t
     /tmp/ccGtkZvD.s:4428   .text.HAL_UART_AbortReceive_IT:0000000000000000 HAL_UART_AbortReceive_IT
     /tmp/ccGtkZvD.s:4528   .text.HAL_UART_AbortReceive_IT:0000000000000064 $d
     /tmp/ccGtkZvD.s:4538   .text.UART_DMARxOnlyAbortCallback:0000000000000000 UART_DMARxOnlyAbortCallback
     /tmp/ccGtkZvD.s:4533   .text.UART_DMARxOnlyAbortCallback:0000000000000000 $t
     /tmp/ccGtkZvD.s:4572   .text.HAL_LIN_SendBreak:0000000000000000 $t
     /tmp/ccGtkZvD.s:4578   .text.HAL_LIN_SendBreak:0000000000000000 HAL_LIN_SendBreak
     /tmp/ccGtkZvD.s:4631   .text.HAL_MultiProcessor_EnterMuteMode:0000000000000000 $t
     /tmp/ccGtkZvD.s:4637   .text.HAL_MultiProcessor_EnterMuteMode:0000000000000000 HAL_MultiProcessor_EnterMuteMode
     /tmp/ccGtkZvD.s:4690   .text.HAL_MultiProcessor_ExitMuteMode:0000000000000000 $t
     /tmp/ccGtkZvD.s:4696   .text.HAL_MultiProcessor_ExitMuteMode:0000000000000000 HAL_MultiProcessor_ExitMuteMode
     /tmp/ccGtkZvD.s:4749   .text.HAL_HalfDuplex_EnableTransmitter:0000000000000000 $t
     /tmp/ccGtkZvD.s:4755   .text.HAL_HalfDuplex_EnableTransmitter:0000000000000000 HAL_HalfDuplex_EnableTransmitter
     /tmp/ccGtkZvD.s:4822   .text.HAL_HalfDuplex_EnableReceiver:0000000000000000 $t
ARM GAS  /tmp/ccGtkZvD.s 			page 168


     /tmp/ccGtkZvD.s:4828   .text.HAL_HalfDuplex_EnableReceiver:0000000000000000 HAL_HalfDuplex_EnableReceiver
     /tmp/ccGtkZvD.s:4895   .text.HAL_UART_GetState:0000000000000000 $t
     /tmp/ccGtkZvD.s:4901   .text.HAL_UART_GetState:0000000000000000 HAL_UART_GetState
     /tmp/ccGtkZvD.s:4928   .text.HAL_UART_GetError:0000000000000000 $t
     /tmp/ccGtkZvD.s:4934   .text.HAL_UART_GetError:0000000000000000 HAL_UART_GetError

UNDEFINED SYMBOLS
HAL_RCC_GetPCLK1Freq
HAL_RCC_GetPCLK2Freq
HAL_GetTick
HAL_DMA_Start_IT
HAL_DMA_Abort
HAL_DMA_GetError
HAL_DMA_Abort_IT
