ARM GAS  /tmp/ccVmA0m0.s 			page 1


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


  33:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****                 are managed using the macros __HAL_UART_ENABLE_IT() and __HAL_UART_DISABLE_IT()
  34:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****                 inside the transmit and receive processes.
  35:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (++) DMA Configuration if you need to use DMA process (HAL_UART_Transmit_DMA()
  36:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****              and HAL_UART_Receive_DMA() APIs):
  37:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             (+++) Declare a DMA handle structure for the Tx/Rx channel.
  38:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             (+++) Enable the DMAx interface clock.
  39:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             (+++) Configure the declared DMA handle structure with the required Tx/Rx parameters.
  40:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             (+++) Configure the DMA Tx/Rx channel.
  41:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             (+++) Associate the initialized DMA handle to the UART DMA Tx/Rx handle.
  42:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             (+++) Configure the priority and enable the NVIC for the transfer complete
  43:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****                   interrupt on the DMA Tx/Rx channel.
  44:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
  45:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (#) Program the Baud Rate, Word Length, Stop Bit, Parity, Prescaler value , Hardware
  46:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         flow control and Mode (Receiver/Transmitter) in the huart handle Init structure.
  47:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
  48:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (#) If required, program UART advanced features (TX/RX pins swap, auto Baud rate detection,...)
  49:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         in the huart handle AdvancedInit structure.
  50:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
  51:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (#) For the UART asynchronous mode, initialize the UART registers by calling
  52:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         the HAL_UART_Init() API.
  53:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
  54:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (#) For the UART Half duplex mode, initialize the UART registers by calling
  55:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         the HAL_HalfDuplex_Init() API.
  56:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
  57:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (#) For the UART LIN (Local Interconnection Network) mode, initialize the UART registers
  58:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         by calling the HAL_LIN_Init() API.
  59:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
  60:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (#) For the UART Multiprocessor mode, initialize the UART registers
  61:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         by calling the HAL_MultiProcessor_Init() API.
  62:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
  63:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (#) For the UART RS485 Driver Enabled mode, initialize the UART registers
  64:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         by calling the HAL_RS485Ex_Init() API.
  65:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
  66:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     [..]
  67:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (@) These API's (HAL_UART_Init(), HAL_HalfDuplex_Init(), HAL_LIN_Init(), HAL_MultiProcessor_Ini
  68:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         also configure the low level Hardware GPIO, CLOCK, CORTEX...etc) by
  69:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         calling the customized HAL_UART_MspInit() API.
  70:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
  71:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     ##### Callback registration #####
  72:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     ==================================
  73:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
  74:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     [..]
  75:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     The compilation define USE_HAL_UART_REGISTER_CALLBACKS when set to 1
  76:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     allows the user to configure dynamically the driver callbacks.
  77:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
  78:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     [..]
  79:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     Use Function @ref HAL_UART_RegisterCallback() to register a user callback.
  80:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     Function @ref HAL_UART_RegisterCallback() allows to register following callbacks:
  81:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (+) TxHalfCpltCallback        : Tx Half Complete Callback.
  82:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (+) TxCpltCallback            : Tx Complete Callback.
  83:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (+) RxHalfCpltCallback        : Rx Half Complete Callback.
  84:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (+) RxCpltCallback            : Rx Complete Callback.
  85:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (+) ErrorCallback             : Error Callback.
  86:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (+) AbortCpltCallback         : Abort Complete Callback.
  87:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback.
  88:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (+) AbortReceiveCpltCallback  : Abort Receive Complete Callback.
  89:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (+) WakeupCallback            : Wakeup Callback.
ARM GAS  /tmp/ccVmA0m0.s 			page 3


  90:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (+) RxFifoFullCallback        : Rx Fifo Full Callback.
  91:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (+) TxFifoEmptyCallback       : Tx Fifo Empty Callback.
  92:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (+) MspInitCallback           : UART MspInit.
  93:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (+) MspDeInitCallback         : UART MspDeInit.
  94:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     This function takes as parameters the HAL peripheral handle, the Callback ID
  95:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     and a pointer to the user callback function.
  96:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
  97:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     [..]
  98:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     Use function @ref HAL_UART_UnRegisterCallback() to reset a callback to the default
  99:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     weak (surcharged) function.
 100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     @ref HAL_UART_UnRegisterCallback() takes as parameters the HAL peripheral handle,
 101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     and the Callback ID.
 102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     This function allows to reset following callbacks:
 103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (+) TxHalfCpltCallback        : Tx Half Complete Callback.
 104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (+) TxCpltCallback            : Tx Complete Callback.
 105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (+) RxHalfCpltCallback        : Rx Half Complete Callback.
 106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (+) RxCpltCallback            : Rx Complete Callback.
 107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (+) ErrorCallback             : Error Callback.
 108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (+) AbortCpltCallback         : Abort Complete Callback.
 109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback.
 110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (+) AbortReceiveCpltCallback  : Abort Receive Complete Callback.
 111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (+) WakeupCallback            : Wakeup Callback.
 112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (+) RxFifoFullCallback        : Rx Fifo Full Callback.
 113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (+) TxFifoEmptyCallback       : Tx Fifo Empty Callback.
 114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (+) MspInitCallback           : UART MspInit.
 115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (+) MspDeInitCallback         : UART MspDeInit.
 116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     [..]
 118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     For specific callback RxEventCallback, use dedicated registration/reset functions:
 119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     respectively @ref HAL_UART_RegisterRxEventCallback() , @ref HAL_UART_UnRegisterRxEventCallback(
 120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     [..]
 122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     By default, after the @ref HAL_UART_Init() and when the state is HAL_UART_STATE_RESET
 123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     all callbacks are set to the corresponding weak (surcharged) functions:
 124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     examples @ref HAL_UART_TxCpltCallback(), @ref HAL_UART_RxHalfCpltCallback().
 125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     Exception done for MspInit and MspDeInit functions that are respectively
 126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     reset to the legacy weak (surcharged) functions in the @ref HAL_UART_Init()
 127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     and @ref HAL_UART_DeInit() only when these callbacks are null (not registered beforehand).
 128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     If not, MspInit or MspDeInit are not null, the @ref HAL_UART_Init() and @ref HAL_UART_DeInit()
 129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     keep and use the user MspInit/MspDeInit callbacks (registered beforehand).
 130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     [..]
 132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     Callbacks can be registered/unregistered in HAL_UART_STATE_READY state only.
 133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     Exception done MspInit/MspDeInit that can be registered/unregistered
 134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     in HAL_UART_STATE_READY or HAL_UART_STATE_RESET state, thus registered (user)
 135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     MspInit/DeInit callbacks can be used during the Init/DeInit.
 136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     In that case first register the MspInit/MspDeInit user callbacks
 137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     using @ref HAL_UART_RegisterCallback() before calling @ref HAL_UART_DeInit()
 138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     or @ref HAL_UART_Init() function.
 139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     [..]
 141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     When The compilation define USE_HAL_UART_REGISTER_CALLBACKS is set to 0 or
 142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     not defined, the callback registration feature is not available
 143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     and weak (surcharged) callbacks are used.
 144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   @endverbatim
ARM GAS  /tmp/ccVmA0m0.s 			page 4


 147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   ******************************************************************************
 148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @attention
 149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *
 150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
 151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * All rights reserved.</center></h2>
 152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *
 153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * This software component is licensed by ST under BSD 3-Clause license,
 154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * the "License"; You may not use this file except in compliance with the
 155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * License. You may obtain a copy of the License at:
 156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *                        opensource.org/licenses/BSD-3-Clause
 157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *
 158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   ******************************************************************************
 159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
 160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Includes ------------------------------------------------------------------*/
 162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #include "stm32g4xx_hal.h"
 163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** @addtogroup STM32G4xx_HAL_Driver
 165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @{
 166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
 167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** @defgroup UART UART
 169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief HAL UART module driver
 170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @{
 171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
 172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #ifdef HAL_UART_MODULE_ENABLED
 174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Private typedef -----------------------------------------------------------*/
 176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Private define ------------------------------------------------------------*/
 177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** @defgroup UART_Private_Constants UART Private Constants
 178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @{
 179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
 180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #define USART_CR1_FIELDS  ((uint32_t)(USART_CR1_M | USART_CR1_PCE | USART_CR1_PS | USART_CR1_TE | U
 181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****                                       USART_CR1_OVER8 | USART_CR1_FIFOEN)) /*!< UART or USART CR1 f
 182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #define USART_CR3_FIELDS  ((uint32_t)(USART_CR3_RTSE | USART_CR3_CTSE | USART_CR3_ONEBIT | USART_CR
 184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****                                       USART_CR3_RXFTCFG)) /*!< UART or USART CR3 fields of paramete
 185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #define LPUART_BRR_MIN  0x00000300U  /* LPUART BRR minimum authorized value */
 187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #define LPUART_BRR_MAX  0x000FFFFFU  /* LPUART BRR maximum authorized value */
 188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #define UART_BRR_MIN    0x10U        /* UART BRR minimum authorized value */
 190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #define UART_BRR_MAX    0x0000FFFFU  /* UART BRR maximum authorized value */
 191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
 192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @}
 193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
 194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Private macros ------------------------------------------------------------*/
 196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Private variables ---------------------------------------------------------*/
 197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Private function prototypes -----------------------------------------------*/
 198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** @addtogroup UART_Private_Functions
 199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @{
 200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
 201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart);
 202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart);
 203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma);
ARM GAS  /tmp/ccVmA0m0.s 			page 5


 204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma);
 205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma);
 206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma);
 207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma);
 208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma);
 209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma);
 210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma);
 211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma);
 212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma);
 213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_TxISR_8BIT(UART_HandleTypeDef *huart);
 214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_TxISR_16BIT(UART_HandleTypeDef *huart);
 215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_TxISR_8BIT_FIFOEN(UART_HandleTypeDef *huart);
 216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_TxISR_16BIT_FIFOEN(UART_HandleTypeDef *huart);
 217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_EndTransmit_IT(UART_HandleTypeDef *huart);
 218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_RxISR_8BIT(UART_HandleTypeDef *huart);
 219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_RxISR_16BIT(UART_HandleTypeDef *huart);
 220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_RxISR_8BIT_FIFOEN(UART_HandleTypeDef *huart);
 221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_RxISR_16BIT_FIFOEN(UART_HandleTypeDef *huart);
 222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
 223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @}
 224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
 225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Exported Constants --------------------------------------------------------*/
 227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** @addtogroup UART_Exported_Constants
 228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @{
 229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
 230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const uint16_t UARTPrescTable[12] = {1U, 2U, 4U, 6U, 8U, 10U, 12U, 16U, 32U, 64U, 128U, 256U};
 231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
 232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @}
 233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
 234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Exported functions --------------------------------------------------------*/
 236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions UART Exported Functions
 238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @{
 239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
 240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group1 Initialization and de-initialization functions
 242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *  @brief    Initialization and Configuration functions
 243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *
 244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @verbatim
 245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ===============================================================================
 246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             ##### Initialization and Configuration functions #####
 247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****  ===============================================================================
 248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     [..]
 249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     This subsection provides a set of functions allowing to initialize the USARTx or the UARTy
 250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     in asynchronous mode.
 251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       (+) For the asynchronous mode the parameters below can be configured:
 252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (++) Baud Rate
 253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (++) Word Length
 254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (++) Stop Bit
 255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (++) Parity: If the parity is enabled, then the MSB bit of the data written
 256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****              in the data register is transmitted but is changed by the parity bit.
 257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (++) Hardware flow control
 258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (++) Receiver/transmitter modes
 259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (++) Over Sampling Method
 260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (++) One-Bit Sampling Method
ARM GAS  /tmp/ccVmA0m0.s 			page 6


 261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       (+) For the asynchronous mode, the following advanced features can be configured as well:
 262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (++) TX and/or RX pin level inversion
 263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (++) data logical level inversion
 264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (++) RX and TX pins swap
 265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (++) RX overrun detection disabling
 266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (++) DMA disabling on RX error
 267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (++) MSB first on communication line
 268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (++) auto Baud rate detection
 269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     [..]
 270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     The HAL_UART_Init(), HAL_HalfDuplex_Init(), HAL_LIN_Init()and HAL_MultiProcessor_Init()API
 271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     follow respectively the UART asynchronous, UART Half duplex, UART LIN mode
 272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     and UART multiprocessor mode configuration procedures (details for the procedures
 273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     are available in reference manual).
 274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @endverbatim
 276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   Depending on the frame length defined by the M1 and M0 bits (7-bit,
 278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   8-bit or 9-bit), the possible UART formats are listed in the
 279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   following table.
 280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   Table 1. UART frame format.
 282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     +-----------------------------------------------------------------------+
 283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     |  M1 bit |  M0 bit |  PCE bit  |             UART frame                |
 284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     |---------|---------|-----------|---------------------------------------|
 285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     |    0    |    0    |    0      |    | SB |    8 bit data   | STB |     |
 286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     |---------|---------|-----------|---------------------------------------|
 287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     |    0    |    0    |    1      |    | SB | 7 bit data | PB | STB |     |
 288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     |---------|---------|-----------|---------------------------------------|
 289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     |    0    |    1    |    0      |    | SB |    9 bit data   | STB |     |
 290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     |---------|---------|-----------|---------------------------------------|
 291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     |    0    |    1    |    1      |    | SB | 8 bit data | PB | STB |     |
 292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     |---------|---------|-----------|---------------------------------------|
 293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     |    1    |    0    |    0      |    | SB |    7 bit data   | STB |     |
 294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     |---------|---------|-----------|---------------------------------------|
 295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     |    1    |    0    |    1      |    | SB | 6 bit data | PB | STB |     |
 296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     +-----------------------------------------------------------------------+
 297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @{
 299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
 300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
 302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief Initialize the UART mode according to the specified
 303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *        parameters in the UART_InitTypeDef and initialize the associated handle.
 304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param huart UART handle.
 305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
 306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
 307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart)
 308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
 309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check the UART handle allocation */
 310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart == NULL)
 311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     return HAL_ERROR;
 313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->Init.HwFlowCtl != UART_HWCONTROL_NONE)
 316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Check the parameters */
ARM GAS  /tmp/ccVmA0m0.s 			page 7


 318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     assert_param(IS_UART_HWFLOW_INSTANCE(huart->Instance));
 319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   else
 321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Check the parameters */
 323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     assert_param((IS_UART_INSTANCE(huart->Instance)) || (IS_LPUART_INSTANCE(huart->Instance)));
 324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->gState == HAL_UART_STATE_RESET)
 327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Allocate lock resource and initialize it */
 329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->Lock = HAL_UNLOCKED;
 330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
 332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     UART_InitCallbacksToDefault(huart);
 333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (huart->MspInitCallback == NULL)
 335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->MspInitCallback = HAL_UART_MspInit;
 337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Init the low level hardware */
 340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->MspInitCallback(huart);
 341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
 342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Init the low level hardware : GPIO, CLOCK */
 343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     HAL_UART_MspInit(huart);
 344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
 345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_BUSY;
 348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_UART_DISABLE(huart);
 350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Set the UART Communication parameters */
 352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (UART_SetConfig(huart) == HAL_ERROR)
 353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     return HAL_ERROR;
 355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT)
 358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     UART_AdvFeatureConfig(huart);
 360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* In asynchronous mode, the following bits must be kept cleared:
 363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   - LINEN and CLKEN bits in the USART_CR2 register,
 364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   - SCEN, HDSEL and IREN  bits in the USART_CR3 register.*/
 365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
 366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
 367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_UART_ENABLE(huart);
 369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */
 371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   return (UART_CheckIdleState(huart));
 372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
 373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
ARM GAS  /tmp/ccVmA0m0.s 			page 8


 375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief Initialize the half-duplex mode according to the specified
 376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *        parameters in the UART_InitTypeDef and creates the associated handle.
 377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param huart UART handle.
 378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
 379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
 380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_Init(UART_HandleTypeDef *huart)
 381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
 382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check the UART handle allocation */
 383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart == NULL)
 384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     return HAL_ERROR;
 386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check UART instance */
 389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   assert_param(IS_UART_HALFDUPLEX_INSTANCE(huart->Instance));
 390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->gState == HAL_UART_STATE_RESET)
 392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Allocate lock resource and initialize it */
 394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->Lock = HAL_UNLOCKED;
 395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
 397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     UART_InitCallbacksToDefault(huart);
 398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (huart->MspInitCallback == NULL)
 400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->MspInitCallback = HAL_UART_MspInit;
 402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Init the low level hardware */
 405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->MspInitCallback(huart);
 406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
 407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Init the low level hardware : GPIO, CLOCK */
 408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     HAL_UART_MspInit(huart);
 409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
 410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_BUSY;
 413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_UART_DISABLE(huart);
 415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Set the UART Communication parameters */
 417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (UART_SetConfig(huart) == HAL_ERROR)
 418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     return HAL_ERROR;
 420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT)
 423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     UART_AdvFeatureConfig(huart);
 425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* In half-duplex mode, the following bits must be kept cleared:
 428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   - LINEN and CLKEN bits in the USART_CR2 register,
 429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   - SCEN and IREN bits in the USART_CR3 register.*/
 430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
 431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN));
ARM GAS  /tmp/ccVmA0m0.s 			page 9


 432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Enable the Half-Duplex mode by setting the HDSEL bit in the CR3 register */
 434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   SET_BIT(huart->Instance->CR3, USART_CR3_HDSEL);
 435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_UART_ENABLE(huart);
 437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */
 439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   return (UART_CheckIdleState(huart));
 440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
 441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
 444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief Initialize the LIN mode according to the specified
 445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *        parameters in the UART_InitTypeDef and creates the associated handle.
 446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param huart             UART handle.
 447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param BreakDetectLength Specifies the LIN break detection length.
 448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *        This parameter can be one of the following values:
 449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *          @arg @ref UART_LINBREAKDETECTLENGTH_10B 10-bit break detection
 450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *          @arg @ref UART_LINBREAKDETECTLENGTH_11B 11-bit break detection
 451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
 452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
 453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_Init(UART_HandleTypeDef *huart, uint32_t BreakDetectLength)
 454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
 455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check the UART handle allocation */
 456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart == NULL)
 457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     return HAL_ERROR;
 459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check the LIN UART instance */
 462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   assert_param(IS_UART_LIN_INSTANCE(huart->Instance));
 463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check the Break detection length parameter */
 464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   assert_param(IS_UART_LIN_BREAK_DETECT_LENGTH(BreakDetectLength));
 465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* LIN mode limited to 16-bit oversampling only */
 467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->Init.OverSampling == UART_OVERSAMPLING_8)
 468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     return HAL_ERROR;
 470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* LIN mode limited to 8-bit data length */
 472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->Init.WordLength != UART_WORDLENGTH_8B)
 473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     return HAL_ERROR;
 475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->gState == HAL_UART_STATE_RESET)
 478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Allocate lock resource and initialize it */
 480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->Lock = HAL_UNLOCKED;
 481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
 483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     UART_InitCallbacksToDefault(huart);
 484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (huart->MspInitCallback == NULL)
 486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->MspInitCallback = HAL_UART_MspInit;
 488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
ARM GAS  /tmp/ccVmA0m0.s 			page 10


 489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Init the low level hardware */
 491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->MspInitCallback(huart);
 492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
 493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Init the low level hardware : GPIO, CLOCK */
 494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     HAL_UART_MspInit(huart);
 495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
 496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_BUSY;
 499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_UART_DISABLE(huart);
 501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Set the UART Communication parameters */
 503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (UART_SetConfig(huart) == HAL_ERROR)
 504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     return HAL_ERROR;
 506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT)
 509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     UART_AdvFeatureConfig(huart);
 511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* In LIN mode, the following bits must be kept cleared:
 514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   - LINEN and CLKEN bits in the USART_CR2 register,
 515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   - SCEN and IREN bits in the USART_CR3 register.*/
 516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR2, USART_CR2_CLKEN);
 517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN));
 518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Enable the LIN mode by setting the LINEN bit in the CR2 register */
 520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   SET_BIT(huart->Instance->CR2, USART_CR2_LINEN);
 521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Set the USART LIN Break detection length. */
 523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   MODIFY_REG(huart->Instance->CR2, USART_CR2_LBDL, BreakDetectLength);
 524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_UART_ENABLE(huart);
 526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */
 528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   return (UART_CheckIdleState(huart));
 529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
 530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
 533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief Initialize the multiprocessor mode according to the specified
 534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *        parameters in the UART_InitTypeDef and initialize the associated handle.
 535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param huart        UART handle.
 536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param Address      UART node address (4-, 6-, 7- or 8-bit long).
 537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param WakeUpMethod Specifies the UART wakeup method.
 538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *        This parameter can be one of the following values:
 539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *          @arg @ref UART_WAKEUPMETHOD_IDLELINE WakeUp by an idle line detection
 540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *          @arg @ref UART_WAKEUPMETHOD_ADDRESSMARK WakeUp by an address mark
 541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note  If the user resorts to idle line detection wake up, the Address parameter
 542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *        is useless and ignored by the initialization function.
 543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note  If the user resorts to address mark wake up, the address length detection
 544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *        is configured by default to 4 bits only. For the UART to be able to
 545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *        manage 6-, 7- or 8-bit long addresses detection, the API
ARM GAS  /tmp/ccVmA0m0.s 			page 11


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


 603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (WakeUpMethod == UART_WAKEUPMETHOD_ADDRESSMARK)
 604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* If address mark wake up method is chosen, set the USART address node */
 606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     MODIFY_REG(huart->Instance->CR2, USART_CR2_ADD, ((uint32_t)Address << UART_CR2_ADDRESS_LSB_POS)
 607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Set the wake up method by setting the WAKE bit in the CR1 register */
 610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   MODIFY_REG(huart->Instance->CR1, USART_CR1_WAKE, WakeUpMethod);
 611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_UART_ENABLE(huart);
 613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */
 615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   return (UART_CheckIdleState(huart));
 616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
 617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
 620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief DeInitialize the UART peripheral.
 621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param huart UART handle.
 622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
 623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
 624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DeInit(UART_HandleTypeDef *huart)
 625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
 626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check the UART handle allocation */
 627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart == NULL)
 628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     return HAL_ERROR;
 630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check the parameters */
 633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   assert_param((IS_UART_INSTANCE(huart->Instance)) || (IS_LPUART_INSTANCE(huart->Instance)));
 634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_BUSY;
 636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_UART_DISABLE(huart);
 638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->Instance->CR1 = 0x0U;
 640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->Instance->CR2 = 0x0U;
 641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->Instance->CR3 = 0x0U;
 642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
 644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->MspDeInitCallback == NULL)
 645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->MspDeInitCallback = HAL_UART_MspDeInit;
 647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* DeInit the low level hardware */
 649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->MspDeInitCallback(huart);
 650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
 651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* DeInit the low level hardware */
 652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   HAL_UART_MspDeInit(huart);
 653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
 654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->ErrorCode = HAL_UART_ERROR_NONE;
 656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_RESET;
 657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_RESET;
 658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
 659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
ARM GAS  /tmp/ccVmA0m0.s 			page 13


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


 717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
 718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef C
 719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****                                             pUART_CallbackTypeDef pCallback)
 720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
 721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   HAL_StatusTypeDef status = HAL_OK;
 722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (pCallback == NULL)
 724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
 726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     return HAL_ERROR;
 728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_LOCK(huart);
 731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->gState == HAL_UART_STATE_READY)
 733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     switch (CallbackID)
 735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case HAL_UART_TX_HALFCOMPLETE_CB_ID :
 737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->TxHalfCpltCallback = pCallback;
 738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case HAL_UART_TX_COMPLETE_CB_ID :
 741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->TxCpltCallback = pCallback;
 742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case HAL_UART_RX_HALFCOMPLETE_CB_ID :
 745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->RxHalfCpltCallback = pCallback;
 746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case HAL_UART_RX_COMPLETE_CB_ID :
 749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->RxCpltCallback = pCallback;
 750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case HAL_UART_ERROR_CB_ID :
 753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->ErrorCallback = pCallback;
 754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case HAL_UART_ABORT_COMPLETE_CB_ID :
 757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->AbortCpltCallback = pCallback;
 758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID :
 761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->AbortTransmitCpltCallback = pCallback;
 762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID :
 765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->AbortReceiveCpltCallback = pCallback;
 766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case HAL_UART_WAKEUP_CB_ID :
 769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->WakeupCallback = pCallback;
 770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case HAL_UART_RX_FIFO_FULL_CB_ID :
 773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->RxFifoFullCallback = pCallback;
ARM GAS  /tmp/ccVmA0m0.s 			page 15


 774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case HAL_UART_TX_FIFO_EMPTY_CB_ID :
 777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->TxFifoEmptyCallback = pCallback;
 778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case HAL_UART_MSPINIT_CB_ID :
 781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->MspInitCallback = pCallback;
 782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case HAL_UART_MSPDEINIT_CB_ID :
 785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->MspDeInitCallback = pCallback;
 786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       default :
 789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
 790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         status =  HAL_ERROR;
 792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   else if (huart->gState == HAL_UART_STATE_RESET)
 796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     switch (CallbackID)
 798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case HAL_UART_MSPINIT_CB_ID :
 800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->MspInitCallback = pCallback;
 801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case HAL_UART_MSPDEINIT_CB_ID :
 804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->MspDeInitCallback = pCallback;
 805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       default :
 808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
 809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         status =  HAL_ERROR;
 811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   else
 815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
 817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     status =  HAL_ERROR;
 819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_UNLOCK(huart);
 822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   return status;
 824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
 825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
 827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  Unregister an UART Callback
 828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         UART callaback is redirected to the weak predefined callback
 829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart uart handle
 830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  CallbackID ID of the callback to be unregistered
ARM GAS  /tmp/ccVmA0m0.s 			page 16


 831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         This parameter can be one of the following values:
 832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID
 833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID
 834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID
 835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID
 836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID
 837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID
 838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID
 839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID
 840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           @arg @ref HAL_UART_WAKEUP_CB_ID Wakeup Callback ID
 841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           @arg @ref HAL_UART_RX_FIFO_FULL_CB_ID Rx Fifo Full Callback ID
 842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           @arg @ref HAL_UART_TX_FIFO_EMPTY_CB_ID Tx Fifo Empty Callback ID
 843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID
 844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID
 845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
 846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
 847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef
 848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
 849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   HAL_StatusTypeDef status = HAL_OK;
 850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_LOCK(huart);
 852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (HAL_UART_STATE_READY == huart->gState)
 854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     switch (CallbackID)
 856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case HAL_UART_TX_HALFCOMPLETE_CB_ID :
 858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback;               /* Legacy weak  TxHa
 859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case HAL_UART_TX_COMPLETE_CB_ID :
 862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->TxCpltCallback = HAL_UART_TxCpltCallback;                       /* Legacy weak TxCpl
 863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case HAL_UART_RX_HALFCOMPLETE_CB_ID :
 866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback;               /* Legacy weak RxHal
 867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case HAL_UART_RX_COMPLETE_CB_ID :
 870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->RxCpltCallback = HAL_UART_RxCpltCallback;                       /* Legacy weak RxCpl
 871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case HAL_UART_ERROR_CB_ID :
 874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->ErrorCallback = HAL_UART_ErrorCallback;                         /* Legacy weak Error
 875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case HAL_UART_ABORT_COMPLETE_CB_ID :
 878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->AbortCpltCallback = HAL_UART_AbortCpltCallback;                 /* Legacy weak Abort
 879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID :
 882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak
 883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****                                                                                   AbortTransmitCplt
 884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID :
 887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback;   /* Legacy weak
ARM GAS  /tmp/ccVmA0m0.s 			page 17


 888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****                                                                                   AbortReceiveCpltC
 889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case HAL_UART_WAKEUP_CB_ID :
 892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->WakeupCallback = HAL_UARTEx_WakeupCallback;                     /* Legacy weak Wakeu
 893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case HAL_UART_RX_FIFO_FULL_CB_ID :
 896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->RxFifoFullCallback = HAL_UARTEx_RxFifoFullCallback;             /* Legacy weak RxFif
 897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case HAL_UART_TX_FIFO_EMPTY_CB_ID :
 900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->TxFifoEmptyCallback = HAL_UARTEx_TxFifoEmptyCallback;           /* Legacy weak TxFif
 901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case HAL_UART_MSPINIT_CB_ID :
 904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->MspInitCallback = HAL_UART_MspInit;                             /* Legacy weak MspIn
 905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case HAL_UART_MSPDEINIT_CB_ID :
 908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->MspDeInitCallback = HAL_UART_MspDeInit;                         /* Legacy weak MspDe
 909:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       default :
 912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
 913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         status =  HAL_ERROR;
 915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   else if (HAL_UART_STATE_RESET == huart->gState)
 919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     switch (CallbackID)
 921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case HAL_UART_MSPINIT_CB_ID :
 923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->MspInitCallback = HAL_UART_MspInit;
 924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case HAL_UART_MSPDEINIT_CB_ID :
 927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->MspDeInitCallback = HAL_UART_MspDeInit;
 928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       default :
 931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
 932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         status =  HAL_ERROR;
 934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   else
 938:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
 940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     status =  HAL_ERROR;
 942:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_UNLOCK(huart);
ARM GAS  /tmp/ccVmA0m0.s 			page 18


 945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   return status;
 947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
 948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
 950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  Register a User UART Rx Event Callback
 951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         To be used instead of the weak predefined callback
 952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart     Uart handle
 953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  pCallback Pointer to the Rx Event Callback function
 954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
 955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
 956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterRxEventCallback(UART_HandleTypeDef *huart, pUART_RxEventCallback
 957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
 958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   HAL_StatusTypeDef status = HAL_OK;
 959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (pCallback == NULL)
 961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
 963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     return HAL_ERROR;
 965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Process locked */
 968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_LOCK(huart);
 969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->gState == HAL_UART_STATE_READY)
 971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->RxEventCallback = pCallback;
 973:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 974:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   else
 975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
 977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     status =  HAL_ERROR;
 979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Release Lock */
 982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_UNLOCK(huart);
 983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   return status;
 985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
 986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
 988:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  UnRegister the UART Rx Event Callback
 989:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         UART Rx Event Callback is redirected to the weak HAL_UARTEx_RxEventCallback() predefine
 990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart     Uart handle
 991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
 992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
 993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterRxEventCallback(UART_HandleTypeDef *huart)
 994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
 995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   HAL_StatusTypeDef status = HAL_OK;
 996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Process locked */
 998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_LOCK(huart);
 999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->gState == HAL_UART_STATE_READY)
1001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
ARM GAS  /tmp/ccVmA0m0.s 			page 19


1002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->RxEventCallback = HAL_UARTEx_RxEventCallback; /* Legacy weak UART Rx Event Callback  */
1003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
1004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   else
1005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
1006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
1007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     status =  HAL_ERROR;
1009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
1010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Release Lock */
1012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_UNLOCK(huart);
1013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   return status;
1014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
1017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
1019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @}
1020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
1021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group2 IO operation functions
1023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief UART Transmit/Receive functions
1024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *
1025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @verbatim
1026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****  ===============================================================================
1027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****                       ##### IO operation functions #####
1028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****  ===============================================================================
1029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     This subsection provides a set of functions allowing to manage the UART asynchronous
1030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     and Half duplex data transfers.
1031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (#) There are two mode of transfer:
1033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****        (+) Blocking mode: The communication is performed in polling mode.
1034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****            The HAL status of all data processing is returned by the same function
1035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****            after finishing transfer.
1036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****        (+) Non-Blocking mode: The communication is performed using Interrupts
1037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****            or DMA, These API's return the HAL status.
1038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****            The end of the data processing will be indicated through the
1039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****            dedicated UART IRQ when using Interrupt mode or the DMA IRQ when
1040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****            using DMA mode.
1041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****            The HAL_UART_TxCpltCallback(), HAL_UART_RxCpltCallback() user callbacks
1042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****            will be executed respectively at the end of the transmit or Receive process
1043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****            The HAL_UART_ErrorCallback()user callback will be executed when a communication error is
1044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (#) Blocking mode API's are :
1046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (+) HAL_UART_Transmit()
1047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (+) HAL_UART_Receive()
1048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (#) Non-Blocking mode API's with Interrupt are :
1050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (+) HAL_UART_Transmit_IT()
1051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (+) HAL_UART_Receive_IT()
1052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (+) HAL_UART_IRQHandler()
1053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (#) Non-Blocking mode API's with DMA are :
1055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (+) HAL_UART_Transmit_DMA()
1056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (+) HAL_UART_Receive_DMA()
1057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (+) HAL_UART_DMAPause()
1058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (+) HAL_UART_DMAResume()
ARM GAS  /tmp/ccVmA0m0.s 			page 20


1059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (+) HAL_UART_DMAStop()
1060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (#) A set of Transfer Complete Callbacks are provided in Non_Blocking mode:
1062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (+) HAL_UART_TxHalfCpltCallback()
1063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (+) HAL_UART_TxCpltCallback()
1064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (+) HAL_UART_RxHalfCpltCallback()
1065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (+) HAL_UART_RxCpltCallback()
1066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (+) HAL_UART_ErrorCallback()
1067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (#) Non-Blocking mode transfers could be aborted using Abort API's :
1069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (+) HAL_UART_Abort()
1070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (+) HAL_UART_AbortTransmit()
1071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (+) HAL_UART_AbortReceive()
1072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (+) HAL_UART_Abort_IT()
1073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (+) HAL_UART_AbortTransmit_IT()
1074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (+) HAL_UART_AbortReceive_IT()
1075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (#) For Abort services based on interrupts (HAL_UART_Abortxxx_IT), a set of Abort Complete Call
1077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (+) HAL_UART_AbortCpltCallback()
1078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (+) HAL_UART_AbortTransmitCpltCallback()
1079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (+) HAL_UART_AbortReceiveCpltCallback()
1080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (#) A Rx Event Reception Callback (Rx event notification) is available for Non_Blocking modes o
1082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         reception services:
1083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         (+) HAL_UARTEx_RxEventCallback()
1084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     (#) In Non-Blocking mode transfers, possible errors are split into 2 categories.
1086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         Errors are handled as follows :
1087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****        (+) Error is considered as Recoverable and non blocking : Transfer could go till end, but er
1088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****            to be evaluated by user : this concerns Frame Error, Parity Error or Noise Error
1089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****            in Interrupt mode reception .
1090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****            Received character is then retrieved and stored in Rx buffer, Error code is set to allow
1091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****            to identify error type, and HAL_UART_ErrorCallback() user callback is executed.
1092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****            Transfer is kept ongoing on UART side.
1093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****            If user wants to abort it, Abort services should be called by user.
1094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****        (+) Error is considered as Blocking : Transfer could not be completed properly and is aborte
1095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****            This concerns Overrun Error In Interrupt mode reception and all errors in DMA mode.
1096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****            Error code is set to allow user to identify error type, and HAL_UART_ErrorCallback()
1097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****            user callback is executed.
1098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     -@- In the Half duplex communication, it is forbidden to run the transmit
1100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         and receive process in parallel, the UART state HAL_UART_STATE_BUSY_TX_RX can't be useful.
1101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @endverbatim
1103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @{
1104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
1105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
1107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief Send an amount of data in blocking mode.
1108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note   When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         the sent data is handled as a set of u16. In this case, Size must indicate the number
1110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         of u16 provided through pData.
1111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note When FIFO mode is enabled, writing a data in the TDR register adds one
1112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *       data to the TXFIFO. Write operations to the TDR register are performed
1113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *       when TXFNF flag is set. From hardware perspective, TXFNF flag and
1114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *       TXE are mapped on the same bit-field.
1115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param huart   UART handle.
ARM GAS  /tmp/ccVmA0m0.s 			page 21


1116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param pData   Pointer to data buffer (u8 or u16 data elements).
1117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param Size    Amount of data elements (u8 or u16) to be sent.
1118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param Timeout Timeout duration.
1119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
1120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
1121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint3
1122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint8_t  *pdata8bits;
1124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint16_t *pdata16bits;
1125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint32_t tickstart;
1126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check that a Tx process is not already ongoing */
1128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->gState == HAL_UART_STATE_READY)
1129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
1130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if ((pData == NULL) || (Size == 0U))
1131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
1132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       return  HAL_ERROR;
1133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
1134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     __HAL_LOCK(huart);
1136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->ErrorCode = HAL_UART_ERROR_NONE;
1138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->gState = HAL_UART_STATE_BUSY_TX;
1139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Init tickstart for timeout management */
1141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     tickstart = HAL_GetTick();
1142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->TxXferSize  = Size;
1144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->TxXferCount = Size;
1145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* In case of 9bits/No Parity transfer, pData needs to be handled as a uint16_t pointer */
1147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
1148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
1149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       pdata8bits  = NULL;
1150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       pdata16bits = (uint16_t *) pData;
1151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
1152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     else
1153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
1154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       pdata8bits  = pData;
1155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       pdata16bits = NULL;
1156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
1157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     __HAL_UNLOCK(huart);
1159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     while (huart->TxXferCount > 0U)
1161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
1162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK)
1163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
1164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         return HAL_TIMEOUT;
1165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
1166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if (pdata8bits == NULL)
1167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
1168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->Instance->TDR = (uint16_t)(*pdata16bits & 0x01FFU);
1169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         pdata16bits++;
1170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
1171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       else
1172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
ARM GAS  /tmp/ccVmA0m0.s 			page 22


1173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->Instance->TDR = (uint8_t)(*pdata8bits & 0xFFU);
1174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         pdata8bits++;
1175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
1176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->TxXferCount--;
1177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
1178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TC, RESET, tickstart, Timeout) != HAL_OK)
1180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
1181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       return HAL_TIMEOUT;
1182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
1183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* At end of Tx process, restore huart->gState to Ready */
1185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->gState = HAL_UART_STATE_READY;
1186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     return HAL_OK;
1188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
1189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   else
1190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
1191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     return HAL_BUSY;
1192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
1193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
1196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief Receive an amount of data in blocking mode.
1197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note   When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         the received data is handled as a set of u16. In this case, Size must indicate the numb
1199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         of u16 available through pData.
1200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note When FIFO mode is enabled, the RXFNE flag is set as long as the RXFIFO
1201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *       is not empty. Read operations from the RDR register are performed when
1202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *       RXFNE flag is set. From hardware perspective, RXFNE flag and
1203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *       RXNE are mapped on the same bit-field.
1204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param huart   UART handle.
1205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param pData   Pointer to data buffer (u8 or u16 data elements).
1206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param Size    Amount of data elements (u8 or u16) to be received.
1207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param Timeout Timeout duration.
1208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
1209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
1210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32
1211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint8_t  *pdata8bits;
1213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint16_t *pdata16bits;
1214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint16_t uhMask;
1215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint32_t tickstart;
1216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check that a Rx process is not already ongoing */
1218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->RxState == HAL_UART_STATE_READY)
1219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
1220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if ((pData == NULL) || (Size == 0U))
1221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
1222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       return  HAL_ERROR;
1223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
1224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     __HAL_LOCK(huart);
1226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->ErrorCode = HAL_UART_ERROR_NONE;
1228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->RxState = HAL_UART_STATE_BUSY_RX;
1229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
ARM GAS  /tmp/ccVmA0m0.s 			page 23


1230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Init tickstart for timeout management */
1232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     tickstart = HAL_GetTick();
1233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->RxXferSize  = Size;
1235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->RxXferCount = Size;
1236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Computation of UART mask to apply to RDR register */
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     UART_MASK_COMPUTATION(huart);
1239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     uhMask = huart->Mask;
1240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* In case of 9bits/No Parity transfer, pRxData needs to be handled as a uint16_t pointer */
1242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
1243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
1244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       pdata8bits  = NULL;
1245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       pdata16bits = (uint16_t *) pData;
1246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
1247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     else
1248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
1249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       pdata8bits  = pData;
1250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       pdata16bits = NULL;
1251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
1252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     __HAL_UNLOCK(huart);
1254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* as long as data have to be received */
1256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     while (huart->RxXferCount > 0U)
1257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
1258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_RXNE, RESET, tickstart, Timeout) != HAL_OK)
1259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
1260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         return HAL_TIMEOUT;
1261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
1262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if (pdata8bits == NULL)
1263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
1264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         *pdata16bits = (uint16_t)(huart->Instance->RDR & uhMask);
1265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         pdata16bits++;
1266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
1267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       else
1268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
1269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         *pdata8bits = (uint8_t)(huart->Instance->RDR & (uint8_t)uhMask);
1270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         pdata8bits++;
1271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
1272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->RxXferCount--;
1273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
1274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* At end of Rx process, restore huart->RxState to Ready */
1276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->RxState = HAL_UART_STATE_READY;
1277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     return HAL_OK;
1279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
1280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   else
1281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
1282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     return HAL_BUSY;
1283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
1284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
ARM GAS  /tmp/ccVmA0m0.s 			page 24


1287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief Send an amount of data in interrupt mode.
1288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note   When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         the sent data is handled as a set of u16. In this case, Size must indicate the number
1290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         of u16 provided through pData.
1291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param huart UART handle.
1292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param pData Pointer to data buffer (u8 or u16 data elements).
1293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param Size  Amount of data elements (u8 or u16) to be sent.
1294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
1295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
1296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
1297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check that a Tx process is not already ongoing */
1299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->gState == HAL_UART_STATE_READY)
1300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
1301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if ((pData == NULL) || (Size == 0U))
1302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
1303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       return HAL_ERROR;
1304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
1305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     __HAL_LOCK(huart);
1307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->pTxBuffPtr  = pData;
1309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->TxXferSize  = Size;
1310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->TxXferCount = Size;
1311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->TxISR       = NULL;
1312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->ErrorCode = HAL_UART_ERROR_NONE;
1314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->gState = HAL_UART_STATE_BUSY_TX;
1315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Configure Tx interrupt processing */
1317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (huart->FifoMode == UART_FIFOMODE_ENABLE)
1318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
1319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Set the Tx ISR function pointer according to the data word length */
1320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE
1321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
1322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->TxISR = UART_TxISR_16BIT_FIFOEN;
1323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
1324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       else
1325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
1326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->TxISR = UART_TxISR_8BIT_FIFOEN;
1327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
1328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       __HAL_UNLOCK(huart);
1330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Enable the TX FIFO threshold interrupt */
1332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       SET_BIT(huart->Instance->CR3, USART_CR3_TXFTIE);
1333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
1334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     else
1335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
1336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Set the Tx ISR function pointer according to the data word length */
1337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE
1338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
1339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->TxISR = UART_TxISR_16BIT;
1340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
1341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       else
1342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
1343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->TxISR = UART_TxISR_8BIT;
ARM GAS  /tmp/ccVmA0m0.s 			page 25


1344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
1345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       __HAL_UNLOCK(huart);
1347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Enable the Transmit Data Register Empty interrupt */
1349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       SET_BIT(huart->Instance->CR1, USART_CR1_TXEIE_TXFNFIE);
1350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
1351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     return HAL_OK;
1353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
1354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   else
1355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
1356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     return HAL_BUSY;
1357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
1358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
1361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief Receive an amount of data in interrupt mode.
1362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note   When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         the received data is handled as a set of u16. In this case, Size must indicate the numb
1364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         of u16 available through pData.
1365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param huart UART handle.
1366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param pData Pointer to data buffer (u8 or u16 data elements).
1367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param Size  Amount of data elements (u8 or u16) to be received.
1368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
1369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
1370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
1371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check that a Rx process is not already ongoing */
1373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->RxState == HAL_UART_STATE_READY)
1374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
1375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if ((pData == NULL) || (Size == 0U))
1376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
1377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       return HAL_ERROR;
1378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
1379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     __HAL_LOCK(huart);
1381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Set Reception type to Standard reception */
1383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
1384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (!(IS_LPUART_INSTANCE(huart->Instance)))
1386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
1387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Check that USART RTOEN bit is set */
1388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U)
1389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
1390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Enable the UART Receiver Timeout Interrupt */
1391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         SET_BIT(huart->Instance->CR1, USART_CR1_RTOIE);
1392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
1393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
1394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     return (UART_Start_Receive_IT(huart, pData, Size));
1396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
1397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   else
1398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
1399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     return HAL_BUSY;
1400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
ARM GAS  /tmp/ccVmA0m0.s 			page 26


1401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
1404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief Send an amount of data in DMA mode.
1405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note   When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         the sent data is handled as a set of u16. In this case, Size must indicate the number
1407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         of u16 provided through pData.
1408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param huart UART handle.
1409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param pData Pointer to data buffer (u8 or u16 data elements).
1410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param Size  Amount of data elements (u8 or u16) to be sent.
1411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
1412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
1413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
1414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check that a Tx process is not already ongoing */
1416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->gState == HAL_UART_STATE_READY)
1417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
1418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if ((pData == NULL) || (Size == 0U))
1419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
1420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       return HAL_ERROR;
1421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
1422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     __HAL_LOCK(huart);
1424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->pTxBuffPtr  = pData;
1426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->TxXferSize  = Size;
1427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->TxXferCount = Size;
1428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->ErrorCode = HAL_UART_ERROR_NONE;
1430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->gState = HAL_UART_STATE_BUSY_TX;
1431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (huart->hdmatx != NULL)
1433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
1434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Set the UART DMA transfer complete callback */
1435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->hdmatx->XferCpltCallback = UART_DMATransmitCplt;
1436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Set the UART DMA Half transfer complete callback */
1438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->hdmatx->XferHalfCpltCallback = UART_DMATxHalfCplt;
1439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Set the DMA error callback */
1441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->hdmatx->XferErrorCallback = UART_DMAError;
1442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Set the DMA abort callback */
1444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->hdmatx->XferAbortCallback = NULL;
1445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Enable the UART transmit DMA channel */
1447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if (HAL_DMA_Start_IT(huart->hdmatx, (uint32_t)huart->pTxBuffPtr, (uint32_t)&huart->Instance->
1448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
1449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Set error code to DMA */
1450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->ErrorCode = HAL_UART_ERROR_DMA;
1451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         __HAL_UNLOCK(huart);
1453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Restore huart->gState to ready */
1455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->gState = HAL_UART_STATE_READY;
1456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         return HAL_ERROR;
ARM GAS  /tmp/ccVmA0m0.s 			page 27


1458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
1459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
1460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Clear the TC flag in the ICR register */
1461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_TCF);
1462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     __HAL_UNLOCK(huart);
1464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Enable the DMA transfer for transmit request by setting the DMAT bit
1466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     in the UART CR3 register */
1467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     SET_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     return HAL_OK;
1470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
1471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   else
1472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
1473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     return HAL_BUSY;
1474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
1475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
1478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief Receive an amount of data in DMA mode.
1479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note   When the UART parity is enabled (PCE = 1), the received data contain
1480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         the parity bit (MSB position).
1481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note   When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         the received data is handled as a set of u16. In this case, Size must indicate the numb
1483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         of u16 available through pData.
1484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param huart UART handle.
1485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param pData Pointer to data buffer (u8 or u16 data elements).
1486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param Size  Amount of data elements (u8 or u16) to be received.
1487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
1488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
1489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
1490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check that a Rx process is not already ongoing */
1492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->RxState == HAL_UART_STATE_READY)
1493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
1494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if ((pData == NULL) || (Size == 0U))
1495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
1496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       return HAL_ERROR;
1497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
1498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     __HAL_LOCK(huart);
1500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Set Reception type to Standard reception */
1502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
1503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (!(IS_LPUART_INSTANCE(huart->Instance)))
1505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
1506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Check that USART RTOEN bit is set */
1507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U)
1508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
1509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Enable the UART Receiver Timeout Interrupt */
1510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         SET_BIT(huart->Instance->CR1, USART_CR1_RTOIE);
1511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
1512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
1513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     return (UART_Start_Receive_DMA(huart, pData, Size));
ARM GAS  /tmp/ccVmA0m0.s 			page 28


1515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
1516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   else
1517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
1518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     return HAL_BUSY;
1519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
1520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
1523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief Pause the DMA Transfer.
1524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param huart UART handle.
1525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
1526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
1527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAPause(UART_HandleTypeDef *huart)
1528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   const HAL_UART_StateTypeDef gstate = huart->gState;
1530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   const HAL_UART_StateTypeDef rxstate = huart->RxState;
1531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_LOCK(huart);
1533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) &&
1535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       (gstate == HAL_UART_STATE_BUSY_TX))
1536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
1537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Disable the UART DMA Tx request */
1538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
1540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) &&
1541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       (rxstate == HAL_UART_STATE_BUSY_RX))
1542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
1543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */
1544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
1545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Disable the UART DMA Rx request */
1548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
1550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_UNLOCK(huart);
1552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   return HAL_OK;
1554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
1557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief Resume the DMA Transfer.
1558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param huart UART handle.
1559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
1560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
1561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAResume(UART_HandleTypeDef *huart)
1562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_LOCK(huart);
1564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->gState == HAL_UART_STATE_BUSY_TX)
1566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
1567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Enable the UART DMA Tx request */
1568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     SET_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
1570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->RxState == HAL_UART_STATE_BUSY_RX)
1571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
ARM GAS  /tmp/ccVmA0m0.s 			page 29


1572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Clear the Overrun flag before resuming the Rx transfer */
1573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF);
1574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Re-enable PE and ERR (Frame error, noise error, overrun error) interrupts */
1576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     SET_BIT(huart->Instance->CR1, USART_CR1_PEIE);
1577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
1578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Enable the UART DMA Rx request */
1580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     SET_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
1582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_UNLOCK(huart);
1584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   return HAL_OK;
1586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
1589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief Stop the DMA Transfer.
1590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param huart UART handle.
1591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
1592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
1593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAStop(UART_HandleTypeDef *huart)
1594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* The Lock is not implemented on this API to allow the user application
1596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****      to call the HAL UART API under callbacks HAL_UART_TxCpltCallback() / HAL_UART_RxCpltCallback()
1597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****      HAL_UART_TxHalfCpltCallback / HAL_UART_RxHalfCpltCallback:
1598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****      indeed, when HAL_DMA_Abort() API is called, the DMA TX/RX Transfer or Half Transfer complete
1599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****      interrupt is generated if the DMA transfer interruption occurs at the middle or at the end of
1600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****      the stream and the corresponding call back is executed. */
1601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   const HAL_UART_StateTypeDef gstate = huart->gState;
1603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   const HAL_UART_StateTypeDef rxstate = huart->RxState;
1604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Stop UART DMA Tx request if ongoing */
1606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) &&
1607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       (gstate == HAL_UART_STATE_BUSY_TX))
1608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
1609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Abort the UART DMA Tx channel */
1612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (huart->hdmatx != NULL)
1613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
1614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK)
1615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
1616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT)
1617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
1618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /* Set error code to DMA */
1619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           huart->ErrorCode = HAL_UART_ERROR_DMA;
1620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           return HAL_TIMEOUT;
1622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
1623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
1624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
1625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     UART_EndTxTransfer(huart);
1627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
1628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
ARM GAS  /tmp/ccVmA0m0.s 			page 30


1629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Stop UART DMA Rx request if ongoing */
1630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) &&
1631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       (rxstate == HAL_UART_STATE_BUSY_RX))
1632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
1633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Abort the UART DMA Rx channel */
1636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (huart->hdmarx != NULL)
1637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
1638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK)
1639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
1640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT)
1641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
1642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /* Set error code to DMA */
1643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           huart->ErrorCode = HAL_UART_ERROR_DMA;
1644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           return HAL_TIMEOUT;
1646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
1647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
1648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
1649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     UART_EndRxTransfer(huart);
1651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
1652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   return HAL_OK;
1654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
1657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  Abort ongoing transfers (blocking mode).
1658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart UART handle.
1659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note   This procedure could be used for aborting any ongoing transfer started in Interrupt or 
1660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         This procedure performs following operations :
1661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           - Disable UART Interrupts (Tx and Rx)
1662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           - Disable the DMA transfer in the peripheral register (if enabled)
1663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
1664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           - Set handle State to READY
1665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note   This procedure is executed in blocking mode : when exiting function, Abort is considere
1666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
1667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
1668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort(UART_HandleTypeDef *huart)
1669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Disable TXE, TC, RXNE, PE, RXFT, TXFT and ERR (Frame error, noise error, overrun error) interr
1671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE | USART_CR1_TXEIE_TXFN
1672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****                                    USART_CR1_TCIE));
1673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE | USART_CR3_TXFTIE);
1674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
1676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
1677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
1678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
1679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
1680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Disable the UART DMA Tx request if enabled */
1682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
1684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
ARM GAS  /tmp/ccVmA0m0.s 			page 31


1686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Abort the UART DMA Tx channel : use blocking DMA Abort API (no callback) */
1687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (huart->hdmatx != NULL)
1688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
1689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Set the UART DMA Abort callback to Null.
1690:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****          No call back execution at end of DMA abort procedure */
1691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->hdmatx->XferAbortCallback = NULL;
1692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK)
1694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
1695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT)
1696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
1697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /* Set error code to DMA */
1698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           huart->ErrorCode = HAL_UART_ERROR_DMA;
1699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           return HAL_TIMEOUT;
1701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
1702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
1703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
1704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
1705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Disable the UART DMA Rx request if enabled */
1707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
1708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
1709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Abort the UART DMA Rx channel : use blocking DMA Abort API (no callback) */
1712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (huart->hdmarx != NULL)
1713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
1714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Set the UART DMA Abort callback to Null.
1715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****          No call back execution at end of DMA abort procedure */
1716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->hdmarx->XferAbortCallback = NULL;
1717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK)
1719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
1720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT)
1721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
1722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /* Set error code to DMA */
1723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           huart->ErrorCode = HAL_UART_ERROR_DMA;
1724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           return HAL_TIMEOUT;
1726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
1727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
1728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
1729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
1730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Reset Tx and Rx transfer counters */
1732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->TxXferCount = 0U;
1733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxXferCount = 0U;
1734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Clear the Error flags in the ICR register */
1736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
1737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Flush the whole TX FIFO (if needed) */
1739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->FifoMode == UART_FIFOMODE_ENABLE)
1740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
1741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     __HAL_UART_SEND_REQ(huart, UART_TXDATA_FLUSH_REQUEST);
1742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
ARM GAS  /tmp/ccVmA0m0.s 			page 32


1743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Discard the received data */
1745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
1746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Restore huart->gState and huart->RxState to Ready */
1748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->gState  = HAL_UART_STATE_READY;
1749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
1750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
1751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->ErrorCode = HAL_UART_ERROR_NONE;
1753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   return HAL_OK;
1755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
1758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  Abort ongoing Transmit transfer (blocking mode).
1759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart UART handle.
1760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note   This procedure could be used for aborting any ongoing Tx transfer started in Interrupt 
1761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         This procedure performs following operations :
1762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           - Disable UART Interrupts (Tx)
1763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           - Disable the DMA transfer in the peripheral register (if enabled)
1764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
1765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           - Set handle State to READY
1766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note   This procedure is executed in blocking mode : when exiting function, Abort is considere
1767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
1768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
1769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit(UART_HandleTypeDef *huart)
1770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Disable TCIE, TXEIE and TXFTIE interrupts */
1772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TCIE | USART_CR1_TXEIE_TXFNFIE));
1773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE);
1774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Disable the UART DMA Tx request if enabled */
1776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
1778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Abort the UART DMA Tx channel : use blocking DMA Abort API (no callback) */
1781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (huart->hdmatx != NULL)
1782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
1783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Set the UART DMA Abort callback to Null.
1784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****          No call back execution at end of DMA abort procedure */
1785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->hdmatx->XferAbortCallback = NULL;
1786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK)
1788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
1789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT)
1790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
1791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /* Set error code to DMA */
1792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           huart->ErrorCode = HAL_UART_ERROR_DMA;
1793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           return HAL_TIMEOUT;
1795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
1796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
1797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
1798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
1799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
ARM GAS  /tmp/ccVmA0m0.s 			page 33


1800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Reset Tx transfer counter */
1801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->TxXferCount = 0U;
1802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Flush the whole TX FIFO (if needed) */
1804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->FifoMode == UART_FIFOMODE_ENABLE)
1805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
1806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     __HAL_UART_SEND_REQ(huart, UART_TXDATA_FLUSH_REQUEST);
1807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
1808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Restore huart->gState to Ready */
1810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
1811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   return HAL_OK;
1813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
1816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  Abort ongoing Receive transfer (blocking mode).
1817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart UART handle.
1818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note   This procedure could be used for aborting any ongoing Rx transfer started in Interrupt 
1819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         This procedure performs following operations :
1820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           - Disable UART Interrupts (Rx)
1821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           - Disable the DMA transfer in the peripheral register (if enabled)
1822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
1823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           - Set handle State to READY
1824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note   This procedure is executed in blocking mode : when exiting function, Abort is considere
1825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
1826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
1827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive(UART_HandleTypeDef *huart)
1828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Disable PEIE, EIE, RXNEIE and RXFTIE interrupts */
1830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR1, (USART_CR1_PEIE | USART_CR1_RXNEIE_RXFNEIE));
1831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE);
1832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
1834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
1835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
1836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
1837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
1838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Disable the UART DMA Rx request if enabled */
1840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
1841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
1842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Abort the UART DMA Rx channel : use blocking DMA Abort API (no callback) */
1845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (huart->hdmarx != NULL)
1846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
1847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Set the UART DMA Abort callback to Null.
1848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****          No call back execution at end of DMA abort procedure */
1849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->hdmarx->XferAbortCallback = NULL;
1850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK)
1852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
1853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT)
1854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
1855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /* Set error code to DMA */
1856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           huart->ErrorCode = HAL_UART_ERROR_DMA;
ARM GAS  /tmp/ccVmA0m0.s 			page 34


1857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           return HAL_TIMEOUT;
1859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
1860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
1861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
1862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
1863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Reset Rx transfer counter */
1865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxXferCount = 0U;
1866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Clear the Error flags in the ICR register */
1868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
1869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Discard the received data */
1871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
1872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Restore huart->RxState to Ready */
1874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
1875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
1876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   return HAL_OK;
1878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
1881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  Abort ongoing transfers (Interrupt mode).
1882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart UART handle.
1883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note   This procedure could be used for aborting any ongoing transfer started in Interrupt or 
1884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         This procedure performs following operations :
1885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           - Disable UART Interrupts (Tx and Rx)
1886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           - Disable the DMA transfer in the peripheral register (if enabled)
1887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
1888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           - Set handle State to READY
1889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           - At abort completion, call user abort complete callback
1890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note   This procedure is executed in Interrupt mode, meaning that abort procedure could be
1891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         considered as completed only when user abort complete callback is executed (not when ex
1892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
1893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
1894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort_IT(UART_HandleTypeDef *huart)
1895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint32_t abortcplt = 1U;
1897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Disable interrupts */
1899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR1, (USART_CR1_PEIE | USART_CR1_TCIE | USART_CR1_RXNEIE_RXFNEIE |
1900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****                                    USART_CR1_TXEIE_TXFNFIE));
1901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE | USART_CR3_TXFTIE));
1902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
1904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
1905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
1906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
1907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
1908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1909:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* If DMA Tx and/or DMA Rx Handles are associated to UART Handle, DMA Abort complete callbacks sh
1910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****      before any call to DMA Abort functions */
1911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* DMA Tx Handle is valid */
1912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->hdmatx != NULL)
1913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
ARM GAS  /tmp/ccVmA0m0.s 			page 35


1914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Set DMA Abort Complete callback if UART DMA Tx request if enabled.
1915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****        Otherwise, set it to NULL */
1916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
1918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->hdmatx->XferAbortCallback = UART_DMATxAbortCallback;
1919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
1920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     else
1921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
1922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->hdmatx->XferAbortCallback = NULL;
1923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
1924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
1925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* DMA Rx Handle is valid */
1926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->hdmarx != NULL)
1927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
1928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Set DMA Abort Complete callback if UART DMA Rx request if enabled.
1929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****        Otherwise, set it to NULL */
1930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
1931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
1932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->hdmarx->XferAbortCallback = UART_DMARxAbortCallback;
1933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
1934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     else
1935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
1936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->hdmarx->XferAbortCallback = NULL;
1937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
1938:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
1939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Disable the UART DMA Tx request if enabled */
1941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1942:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
1943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Disable DMA Tx at UART level */
1944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */
1947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (huart->hdmatx != NULL)
1948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
1949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* UART Tx DMA Abort callback has already been initialised :
1950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****          will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
1951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Abort DMA TX */
1953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK)
1954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
1955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->hdmatx->XferAbortCallback = NULL;
1956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
1957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       else
1958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
1959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         abortcplt = 0U;
1960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
1961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
1962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
1963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Disable the UART DMA Rx request if enabled */
1965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
1966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
1967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */
1970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (huart->hdmarx != NULL)
ARM GAS  /tmp/ccVmA0m0.s 			page 36


1971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
1972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* UART Rx DMA Abort callback has already been initialised :
1973:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****          will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
1974:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Abort DMA RX */
1976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
1977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
1978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->hdmarx->XferAbortCallback = NULL;
1979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         abortcplt = 1U;
1980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
1981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       else
1982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
1983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         abortcplt = 0U;
1984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
1985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
1986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
1987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1988:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* if no DMA abort complete callback execution is required => call user Abort Complete callback *
1989:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (abortcplt == 1U)
1990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
1991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Reset Tx and Rx transfer counters */
1992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->TxXferCount = 0U;
1993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->RxXferCount = 0U;
1994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Clear ISR function pointers */
1996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->RxISR = NULL;
1997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->TxISR = NULL;
1998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
1999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Reset errorCode */
2000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->ErrorCode = HAL_UART_ERROR_NONE;
2001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Clear the Error flags in the ICR register */
2003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF
2004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Flush the whole TX FIFO (if needed) */
2006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (huart->FifoMode == UART_FIFOMODE_ENABLE)
2007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
2008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       __HAL_UART_SEND_REQ(huart, UART_TXDATA_FLUSH_REQUEST);
2009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
2010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Discard the received data */
2012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
2013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Restore huart->gState and huart->RxState to Ready */
2015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->gState  = HAL_UART_STATE_READY;
2016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->RxState = HAL_UART_STATE_READY;
2017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* As no DMA to be aborted, call directly user Abort complete callback */
2020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Call registered Abort complete callback */
2022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->AbortCpltCallback(huart);
2023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
2024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Call legacy weak Abort complete callback */
2025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     HAL_UART_AbortCpltCallback(huart);
2026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
ARM GAS  /tmp/ccVmA0m0.s 			page 37


2028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   return HAL_OK;
2030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  Abort ongoing Transmit transfer (Interrupt mode).
2034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart UART handle.
2035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note   This procedure could be used for aborting any ongoing Tx transfer started in Interrupt 
2036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         This procedure performs following operations :
2037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           - Disable UART Interrupts (Tx)
2038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           - Disable the DMA transfer in the peripheral register (if enabled)
2039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
2040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           - Set handle State to READY
2041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           - At abort completion, call user abort complete callback
2042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note   This procedure is executed in Interrupt mode, meaning that abort procedure could be
2043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         considered as completed only when user abort complete callback is executed (not when ex
2044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
2045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
2046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit_IT(UART_HandleTypeDef *huart)
2047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Disable interrupts */
2049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TCIE | USART_CR1_TXEIE_TXFNFIE));
2050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE);
2051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Disable the UART DMA Tx request if enabled */
2053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
2054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
2055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
2056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */
2058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (huart->hdmatx != NULL)
2059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
2060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Set the UART DMA Abort callback :
2061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****          will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
2062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->hdmatx->XferAbortCallback = UART_DMATxOnlyAbortCallback;
2063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Abort DMA TX */
2065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK)
2066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
2067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Call Directly huart->hdmatx->XferAbortCallback function in case of error */
2068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->hdmatx->XferAbortCallback(huart->hdmatx);
2069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
2070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
2071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     else
2072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
2073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Reset Tx transfer counter */
2074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->TxXferCount = 0U;
2075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Clear TxISR function pointers */
2077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->TxISR = NULL;
2078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Restore huart->gState to Ready */
2080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->gState = HAL_UART_STATE_READY;
2081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* As no DMA to be aborted, call directly user Abort complete callback */
2083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Call registered Abort Transmit Complete Callback */
ARM GAS  /tmp/ccVmA0m0.s 			page 38


2085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->AbortTransmitCpltCallback(huart);
2086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
2087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Call legacy weak Abort Transmit Complete Callback */
2088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       HAL_UART_AbortTransmitCpltCallback(huart);
2089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
2091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
2092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   else
2093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
2094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Reset Tx transfer counter */
2095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->TxXferCount = 0U;
2096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Clear TxISR function pointers */
2098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->TxISR = NULL;
2099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Flush the whole TX FIFO (if needed) */
2101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (huart->FifoMode == UART_FIFOMODE_ENABLE)
2102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
2103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       __HAL_UART_SEND_REQ(huart, UART_TXDATA_FLUSH_REQUEST);
2104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
2105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Restore huart->gState to Ready */
2107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->gState = HAL_UART_STATE_READY;
2108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* As no DMA to be aborted, call directly user Abort complete callback */
2110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Call registered Abort Transmit Complete Callback */
2112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->AbortTransmitCpltCallback(huart);
2113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
2114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Call legacy weak Abort Transmit Complete Callback */
2115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     HAL_UART_AbortTransmitCpltCallback(huart);
2116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
2118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   return HAL_OK;
2120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  Abort ongoing Receive transfer (Interrupt mode).
2124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart UART handle.
2125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note   This procedure could be used for aborting any ongoing Rx transfer started in Interrupt 
2126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         This procedure performs following operations :
2127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           - Disable UART Interrupts (Rx)
2128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           - Disable the DMA transfer in the peripheral register (if enabled)
2129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
2130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           - Set handle State to READY
2131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *           - At abort completion, call user abort complete callback
2132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note   This procedure is executed in Interrupt mode, meaning that abort procedure could be
2133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         considered as completed only when user abort complete callback is executed (not when ex
2134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
2135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
2136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive_IT(UART_HandleTypeDef *huart)
2137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
2139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR1, (USART_CR1_PEIE | USART_CR1_RXNEIE_RXFNEIE));
2140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE));
2141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
ARM GAS  /tmp/ccVmA0m0.s 			page 39


2142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
2143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
2144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
2145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
2146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
2147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Disable the UART DMA Rx request if enabled */
2149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
2150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
2151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
2152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */
2154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (huart->hdmarx != NULL)
2155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
2156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Set the UART DMA Abort callback :
2157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****          will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
2158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->hdmarx->XferAbortCallback = UART_DMARxOnlyAbortCallback;
2159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Abort DMA RX */
2161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
2162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
2163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */
2164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->hdmarx->XferAbortCallback(huart->hdmarx);
2165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
2166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
2167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     else
2168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
2169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Reset Rx transfer counter */
2170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->RxXferCount = 0U;
2171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Clear RxISR function pointer */
2173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->pRxBuffPtr = NULL;
2174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Clear the Error flags in the ICR register */
2176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_F
2177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Discard the received data */
2179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
2180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Restore huart->RxState to Ready */
2182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->RxState = HAL_UART_STATE_READY;
2183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* As no DMA to be aborted, call directly user Abort complete callback */
2186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Call registered Abort Receive Complete Callback */
2188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->AbortReceiveCpltCallback(huart);
2189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
2190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Call legacy weak Abort Receive Complete Callback */
2191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       HAL_UART_AbortReceiveCpltCallback(huart);
2192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
2194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
2195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   else
2196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
2197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Reset Rx transfer counter */
2198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->RxXferCount = 0U;
ARM GAS  /tmp/ccVmA0m0.s 			page 40


2199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Clear RxISR function pointer */
2201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->pRxBuffPtr = NULL;
2202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Clear the Error flags in the ICR register */
2204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF
2205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Restore huart->RxState to Ready */
2207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->RxState = HAL_UART_STATE_READY;
2208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* As no DMA to be aborted, call directly user Abort complete callback */
2211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Call registered Abort Receive Complete Callback */
2213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->AbortReceiveCpltCallback(huart);
2214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
2215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Call legacy weak Abort Receive Complete Callback */
2216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     HAL_UART_AbortReceiveCpltCallback(huart);
2217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
2219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   return HAL_OK;
2221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief Handle UART interrupt request.
2225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param huart UART handle.
2226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
2227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
2228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** void HAL_UART_IRQHandler(UART_HandleTypeDef *huart)
2229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint32_t isrflags   = READ_REG(huart->Instance->ISR);
2231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint32_t cr1its     = READ_REG(huart->Instance->CR1);
2232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint32_t cr3its     = READ_REG(huart->Instance->CR3);
2233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint32_t errorflags;
2235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint32_t errorcode;
2236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* If no error occurs */
2238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   errorflags = (isrflags & (uint32_t)(USART_ISR_PE | USART_ISR_FE | USART_ISR_ORE | USART_ISR_NE | 
2239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (errorflags == 0U)
2240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
2241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* UART in mode Receiver ---------------------------------------------------*/
2242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (((isrflags & USART_ISR_RXNE_RXFNE) != 0U)
2243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U)
2244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             || ((cr3its & USART_CR3_RXFTIE) != 0U)))
2245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
2246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if (huart->RxISR != NULL)
2247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
2248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->RxISR(huart);
2249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
2250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       return;
2251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
2252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
2253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* If some errors occur */
2255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if ((errorflags != 0U)
ARM GAS  /tmp/ccVmA0m0.s 			page 41


2256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       && ((((cr3its & (USART_CR3_RXFTIE | USART_CR3_EIE)) != 0U)
2257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****            || ((cr1its & (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U))))
2258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
2259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* UART parity error interrupt occurred -------------------------------------*/
2260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (((isrflags & USART_ISR_PE) != 0U) && ((cr1its & USART_CR1_PEIE) != 0U))
2261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
2262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_PEF);
2263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->ErrorCode |= HAL_UART_ERROR_PE;
2265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
2266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* UART frame error interrupt occurred --------------------------------------*/
2268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (((isrflags & USART_ISR_FE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U))
2269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
2270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_FEF);
2271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->ErrorCode |= HAL_UART_ERROR_FE;
2273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
2274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* UART noise error interrupt occurred --------------------------------------*/
2276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (((isrflags & USART_ISR_NE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U))
2277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
2278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_NEF);
2279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->ErrorCode |= HAL_UART_ERROR_NE;
2281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
2282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* UART Over-Run interrupt occurred -----------------------------------------*/
2284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (((isrflags & USART_ISR_ORE) != 0U)
2285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U) ||
2286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             ((cr3its & (USART_CR3_RXFTIE | USART_CR3_EIE)) != 0U)))
2287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
2288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF);
2289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->ErrorCode |= HAL_UART_ERROR_ORE;
2291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
2292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* UART Receiver Timeout interrupt occurred ---------------------------------*/
2294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (((isrflags & USART_ISR_RTOF) != 0U) && ((cr1its & USART_CR1_RTOIE) != 0U))
2295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
2296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_RTOF);
2297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->ErrorCode |= HAL_UART_ERROR_RTO;
2299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
2300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Call UART Error Call back function if need be ----------------------------*/
2302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (huart->ErrorCode != HAL_UART_ERROR_NONE)
2303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
2304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* UART in mode Receiver --------------------------------------------------*/
2305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if (((isrflags & USART_ISR_RXNE_RXFNE) != 0U)
2306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U)
2307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****               || ((cr3its & USART_CR3_RXFTIE) != 0U)))
2308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
2309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         if (huart->RxISR != NULL)
2310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
2311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           huart->RxISR(huart);
2312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
ARM GAS  /tmp/ccVmA0m0.s 			page 42


2313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
2314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* If Error is to be considered as blocking :
2316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           - Receiver Timeout error in Reception
2317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           - Overrun error in Reception
2318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           - any error occurs in DMA mode reception
2319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       */
2320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       errorcode = huart->ErrorCode;
2321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) ||
2322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U))
2323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
2324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Blocking error : transfer is aborted
2325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****            Set the UART state ready to be able to start again the process,
2326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****            Disable Rx Interrupts, and disable Rx DMA request, if ongoing */
2327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         UART_EndRxTransfer(huart);
2328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Disable the UART DMA Rx request if enabled */
2330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
2331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
2332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
2333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /* Abort the UART DMA Rx channel */
2335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           if (huart->hdmarx != NULL)
2336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           {
2337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             /* Set the UART DMA Abort callback :
2338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****                will lead to call HAL_UART_ErrorCallback() at end of DMA abort procedure */
2339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             huart->hdmarx->XferAbortCallback = UART_DMAAbortOnError;
2340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             /* Abort DMA RX */
2342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
2343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             {
2344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****               /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */
2345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****               huart->hdmarx->XferAbortCallback(huart->hdmarx);
2346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             }
2347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           }
2348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           else
2349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           {
2350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             /* Call user error callback */
2351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             /*Call registered error callback*/
2353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             huart->ErrorCallback(huart);
2354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
2355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             /*Call legacy weak error callback*/
2356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             HAL_UART_ErrorCallback(huart);
2357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           }
2360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
2361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         else
2362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
2363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /* Call user error callback */
2364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /*Call registered error callback*/
2366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           huart->ErrorCallback(huart);
2367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
2368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /*Call legacy weak error callback*/
2369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           HAL_UART_ErrorCallback(huart);
ARM GAS  /tmp/ccVmA0m0.s 			page 43


2370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
2372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
2373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       else
2374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
2375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Non Blocking error : transfer could go on.
2376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****            Error is notified to user through user error callback */
2377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /*Call registered error callback*/
2379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->ErrorCallback(huart);
2380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
2381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /*Call legacy weak error callback*/
2382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         HAL_UART_ErrorCallback(huart);
2383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->ErrorCode = HAL_UART_ERROR_NONE;
2385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
2386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
2387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     return;
2388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   } /* End if some error occurs */
2390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check current reception Mode :
2392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****      If Reception till IDLE event has been selected : */
2393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if ((huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
2394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       && ((isrflags & USART_ISR_IDLE) != 0U)
2395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       && ((cr1its & USART_ISR_IDLE) != 0U))
2396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
2397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF);
2398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Check if DMA mode is enabled in UART */
2400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
2401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
2402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* DMA mode enabled */
2403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Check received length : If all expected data are received, do nothing,
2404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****          (DMA cplt callback will be called).
2405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****          Otherwise, if at least one data has already been received, IDLE event is to be notified to
2406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       uint16_t nb_remaining_rx_data = (uint16_t) __HAL_DMA_GET_COUNTER(huart->hdmarx);
2407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if ((nb_remaining_rx_data > 0U)
2408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           && (nb_remaining_rx_data < huart->RxXferSize))
2409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
2410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Reception is not complete */
2411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->RxXferCount = nb_remaining_rx_data;
2412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* In Normal mode, end DMA xfer and HAL UART Rx process*/
2414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         if (HAL_IS_BIT_CLR(huart->hdmarx->Instance->CCR, DMA_CCR_CIRC))
2415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
2416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */
2417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
2418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /* Disable the DMA transfer for the receiver request by resetting the DMAR bit
2421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****              in the UART CR3 register */
2422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
2423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /* At end of Rx process, restore huart->RxState to Ready */
2425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           huart->RxState = HAL_UART_STATE_READY;
2426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
ARM GAS  /tmp/ccVmA0m0.s 			page 44


2427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
2429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /* Last bytes received, so no need as the abort is immediate */
2431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           (void)HAL_DMA_Abort(huart->hdmarx);
2432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
2433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /*Call registered Rx Event callback*/
2435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount));
2436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
2437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /*Call legacy weak Rx Event callback*/
2438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         HAL_UARTEx_RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount));
2439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
2440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
2441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       return;
2442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
2443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     else
2444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
2445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* DMA mode not enabled */
2446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Check received length : If all expected data are received, do nothing.
2447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****          Otherwise, if at least one data has already been received, IDLE event is to be notified to
2448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       uint16_t nb_rx_data = huart->RxXferSize - huart->RxXferCount;
2449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if ((huart->RxXferCount > 0U)
2450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           && (nb_rx_data > 0U))
2451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
2452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Disable the UART Parity Error Interrupt and RXNE interrupts */
2453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE));
2454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Disable the UART Error Interrupt:(Frame error, noise error, overrun error) and RX FIFO T
2456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE));
2457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Rx process is completed, restore huart->RxState to Ready */
2459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->RxState = HAL_UART_STATE_READY;
2460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Clear RxISR function pointer */
2463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->RxISR = NULL;
2464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
2466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /*Call registered Rx complete callback*/
2468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->RxEventCallback(huart, nb_rx_data);
2469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
2470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /*Call legacy weak Rx Event callback*/
2471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         HAL_UARTEx_RxEventCallback(huart, nb_rx_data);
2472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
2473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
2474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       return;
2475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
2476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
2477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* UART wakeup from Stop mode interrupt occurred ---------------------------*/
2479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (((isrflags & USART_ISR_WUF) != 0U) && ((cr3its & USART_CR3_WUFIE) != 0U))
2480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
2481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_WUF);
2482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* UART Rx state is not reset as a reception process might be ongoing.
ARM GAS  /tmp/ccVmA0m0.s 			page 45


2484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****        If UART handle state fields need to be reset to READY, this could be done in Wakeup callback
2485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Call registered Wakeup Callback */
2488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->WakeupCallback(huart);
2489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
2490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Call legacy weak Wakeup Callback */
2491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     HAL_UARTEx_WakeupCallback(huart);
2492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     return;
2494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
2495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* UART in mode Transmitter ------------------------------------------------*/
2497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (((isrflags & USART_ISR_TXE_TXFNF) != 0U)
2498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       && (((cr1its & USART_CR1_TXEIE_TXFNFIE) != 0U)
2499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           || ((cr3its & USART_CR3_TXFTIE) != 0U)))
2500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
2501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (huart->TxISR != NULL)
2502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
2503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->TxISR(huart);
2504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
2505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     return;
2506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
2507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* UART in mode Transmitter (transmission end) -----------------------------*/
2509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (((isrflags & USART_ISR_TC) != 0U) && ((cr1its & USART_CR1_TCIE) != 0U))
2510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
2511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     UART_EndTransmit_IT(huart);
2512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     return;
2513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
2514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* UART TX Fifo Empty occurred ----------------------------------------------*/
2516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (((isrflags & USART_ISR_TXFE) != 0U) && ((cr1its & USART_CR1_TXFEIE) != 0U))
2517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
2518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Call registered Tx Fifo Empty Callback */
2520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->TxFifoEmptyCallback(huart);
2521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
2522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Call legacy weak Tx Fifo Empty Callback */
2523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     HAL_UARTEx_TxFifoEmptyCallback(huart);
2524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     return;
2526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
2527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* UART RX Fifo Full occurred ----------------------------------------------*/
2529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (((isrflags & USART_ISR_RXFF) != 0U) && ((cr1its & USART_CR1_RXFFIE) != 0U))
2530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
2531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Call registered Rx Fifo Full Callback */
2533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->RxFifoFullCallback(huart);
2534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
2535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Call legacy weak Rx Fifo Full Callback */
2536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     HAL_UARTEx_RxFifoFullCallback(huart);
2537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     return;
2539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
2540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
ARM GAS  /tmp/ccVmA0m0.s 			page 46


2541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief Tx Transfer completed callback.
2544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param huart UART handle.
2545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
2546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
2547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
2548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
2550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UNUSED(huart);
2551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* NOTE : This function should not be modified, when the callback is needed,
2553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             the HAL_UART_TxCpltCallback can be implemented in the user file.
2554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****    */
2555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  Tx Half Transfer completed callback.
2559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart UART handle.
2560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
2561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
2562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart)
2563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
2565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UNUSED(huart);
2566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* NOTE: This function should not be modified, when the callback is needed,
2568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****            the HAL_UART_TxHalfCpltCallback can be implemented in the user file.
2569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****    */
2570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  Rx Transfer completed callback.
2574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart UART handle.
2575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
2576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
2577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
2578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
2580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UNUSED(huart);
2581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* NOTE : This function should not be modified, when the callback is needed,
2583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             the HAL_UART_RxCpltCallback can be implemented in the user file.
2584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****    */
2585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  Rx Half Transfer completed callback.
2589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart UART handle.
2590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
2591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
2592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart)
2593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
2595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UNUSED(huart);
2596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* NOTE: This function should not be modified, when the callback is needed,
ARM GAS  /tmp/ccVmA0m0.s 			page 47


2598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****            the HAL_UART_RxHalfCpltCallback can be implemented in the user file.
2599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****    */
2600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  UART error callback.
2604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart UART handle.
2605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
2606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
2607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
2608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
2610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UNUSED(huart);
2611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* NOTE : This function should not be modified, when the callback is needed,
2613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             the HAL_UART_ErrorCallback can be implemented in the user file.
2614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****    */
2615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  UART Abort Complete callback.
2619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart UART handle.
2620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
2621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
2622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_AbortCpltCallback(UART_HandleTypeDef *huart)
2623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
2625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UNUSED(huart);
2626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* NOTE : This function should not be modified, when the callback is needed,
2628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             the HAL_UART_AbortCpltCallback can be implemented in the user file.
2629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****    */
2630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  UART Abort Complete callback.
2634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart UART handle.
2635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
2636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
2637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_AbortTransmitCpltCallback(UART_HandleTypeDef *huart)
2638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
2640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UNUSED(huart);
2641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* NOTE : This function should not be modified, when the callback is needed,
2643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             the HAL_UART_AbortTransmitCpltCallback can be implemented in the user file.
2644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****    */
2645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  UART Abort Receive Complete callback.
2649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart UART handle.
2650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
2651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
2652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_AbortReceiveCpltCallback(UART_HandleTypeDef *huart)
2653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
ARM GAS  /tmp/ccVmA0m0.s 			page 48


2655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UNUSED(huart);
2656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* NOTE : This function should not be modified, when the callback is needed,
2658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             the HAL_UART_AbortReceiveCpltCallback can be implemented in the user file.
2659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****    */
2660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  Reception Event Callback (Rx event notification called after use of advanced reception 
2664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart UART handle
2665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  Size  Number of data available in application reception buffer (indicates a position in
2666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *               reception buffer until which, data are available)
2667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
2668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
2669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
2670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
2672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UNUSED(huart);
2673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UNUSED(Size);
2674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* NOTE : This function should not be modified, when the callback is needed,
2676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             the HAL_UARTEx_RxEventCallback can be implemented in the user file.
2677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****    */
2678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @}
2682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
2683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group3 Peripheral Control functions
2685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *  @brief   UART control functions
2686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *
2687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @verbatim
2688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****  ===============================================================================
2689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****                       ##### Peripheral Control functions #####
2690:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****  ===============================================================================
2691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     [..]
2692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     This subsection provides a set of functions allowing to control the UART.
2693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****      (+) HAL_UART_ReceiverTimeout_Config() API allows to configure the receiver timeout value on th
2694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****      (+) HAL_UART_EnableReceiverTimeout() API enables the receiver timeout feature
2695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****      (+) HAL_UART_DisableReceiverTimeout() API disables the receiver timeout feature
2696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****      (+) HAL_MultiProcessor_EnableMuteMode() API enables mute mode
2697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****      (+) HAL_MultiProcessor_DisableMuteMode() API disables mute mode
2698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****      (+) HAL_MultiProcessor_EnterMuteMode() API enters mute mode
2699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****      (+) UART_SetConfig() API configures the UART peripheral
2700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****      (+) UART_AdvFeatureConfig() API optionally configures the UART advanced features
2701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****      (+) UART_CheckIdleState() API ensures that TEACK and/or REACK are set after initialization
2702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****      (+) HAL_HalfDuplex_EnableTransmitter() API disables receiver and enables transmitter
2703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****      (+) HAL_HalfDuplex_EnableReceiver() API disables transmitter and enables receiver
2704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****      (+) HAL_LIN_SendBreak() API transmits the break characters
2705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @endverbatim
2706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @{
2707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
2708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  Update on the fly the receiver timeout value in RTOR register.
2711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart Pointer to a UART_HandleTypeDef structure that contains
ARM GAS  /tmp/ccVmA0m0.s 			page 49


2712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *                    the configuration information for the specified UART module.
2713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  TimeoutValue receiver timeout value in number of baud blocks. The timeout
2714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *                     value must be less or equal to 0x0FFFFFFFF.
2715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
2716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
2717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** void HAL_UART_ReceiverTimeout_Config(UART_HandleTypeDef *huart, uint32_t TimeoutValue)
2718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (!(IS_LPUART_INSTANCE(huart->Instance)))
2720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
2721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     assert_param(IS_UART_RECEIVER_TIMEOUT_VALUE(TimeoutValue));
2722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     MODIFY_REG(huart->Instance->RTOR, USART_RTOR_RTO, TimeoutValue);
2723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
2724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  Enable the UART receiver timeout feature.
2728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart Pointer to a UART_HandleTypeDef structure that contains
2729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *                    the configuration information for the specified UART module.
2730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
2731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
2732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_EnableReceiverTimeout(UART_HandleTypeDef *huart)
2733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (!(IS_LPUART_INSTANCE(huart->Instance)))
2735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
2736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (huart->gState == HAL_UART_STATE_READY)
2737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
2738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Process Locked */
2739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       __HAL_LOCK(huart);
2740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->gState = HAL_UART_STATE_BUSY;
2742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Set the USART RTOEN bit */
2744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       SET_BIT(huart->Instance->CR2, USART_CR2_RTOEN);
2745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->gState = HAL_UART_STATE_READY;
2747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Process Unlocked */
2749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       __HAL_UNLOCK(huart);
2750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       return HAL_OK;
2752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
2753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     else
2754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
2755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       return HAL_BUSY;
2756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
2757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
2758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   else
2759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
2760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     return HAL_ERROR;
2761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
2762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  Disable the UART receiver timeout feature.
2766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart Pointer to a UART_HandleTypeDef structure that contains
2767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *                    the configuration information for the specified UART module.
2768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
ARM GAS  /tmp/ccVmA0m0.s 			page 50


2769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
2770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DisableReceiverTimeout(UART_HandleTypeDef *huart)
2771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (!(IS_LPUART_INSTANCE(huart->Instance)))
2773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
2774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (huart->gState == HAL_UART_STATE_READY)
2775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
2776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Process Locked */
2777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       __HAL_LOCK(huart);
2778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->gState = HAL_UART_STATE_BUSY;
2780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Clear the USART RTOEN bit */
2782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       CLEAR_BIT(huart->Instance->CR2, USART_CR2_RTOEN);
2783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->gState = HAL_UART_STATE_READY;
2785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Process Unlocked */
2787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       __HAL_UNLOCK(huart);
2788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       return HAL_OK;
2790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
2791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     else
2792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
2793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       return HAL_BUSY;
2794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
2795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
2796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   else
2797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
2798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     return HAL_ERROR;
2799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
2800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  Enable UART in mute mode (does not mean UART enters mute mode;
2804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         to enter mute mode, HAL_MultiProcessor_EnterMuteMode() API must be called).
2805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart UART handle.
2806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
2807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
2808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_EnableMuteMode(UART_HandleTypeDef *huart)
2809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_LOCK(huart);
2811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_BUSY;
2813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Enable USART mute mode by setting the MME bit in the CR1 register */
2815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   SET_BIT(huart->Instance->CR1, USART_CR1_MME);
2816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
2818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   return (UART_CheckIdleState(huart));
2820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  Disable UART mute mode (does not mean the UART actually exits mute mode
2824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         as it may not have been in mute mode at this very moment).
2825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart UART handle.
ARM GAS  /tmp/ccVmA0m0.s 			page 51


2826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
2827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
2828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_DisableMuteMode(UART_HandleTypeDef *huart)
2829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_LOCK(huart);
2831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_BUSY;
2833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Disable USART mute mode by clearing the MME bit in the CR1 register */
2835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR1, USART_CR1_MME);
2836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
2838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   return (UART_CheckIdleState(huart));
2840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief Enter UART mute mode (means UART actually enters mute mode).
2844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note  To exit from mute mode, HAL_MultiProcessor_DisableMuteMode() API must be called.
2845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param huart UART handle.
2846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
2847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
2848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** void HAL_MultiProcessor_EnterMuteMode(UART_HandleTypeDef *huart)
2849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_UART_SEND_REQ(huart, UART_MUTE_MODE_REQUEST);
2851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  Enable the UART transmitter and disable the UART receiver.
2855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart UART handle.
2856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
2857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
2858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableTransmitter(UART_HandleTypeDef *huart)
2859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_LOCK(huart);
2861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_BUSY;
2862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Clear TE and RE bits */
2864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TE | USART_CR1_RE));
2865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Enable the USART's transmit interface by setting the TE bit in the USART CR1 register */
2867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   SET_BIT(huart->Instance->CR1, USART_CR1_TE);
2868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
2870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_UNLOCK(huart);
2872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   return HAL_OK;
2874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  Enable the UART receiver and disable the UART transmitter.
2878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart UART handle.
2879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status.
2880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
2881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableReceiver(UART_HandleTypeDef *huart)
2882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
ARM GAS  /tmp/ccVmA0m0.s 			page 52


2883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_LOCK(huart);
2884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_BUSY;
2885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Clear TE and RE bits */
2887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TE | USART_CR1_RE));
2888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Enable the USART's receive interface by setting the RE bit in the USART CR1 register */
2890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   SET_BIT(huart->Instance->CR1, USART_CR1_RE);
2891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
2893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_UNLOCK(huart);
2895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   return HAL_OK;
2897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  Transmit break characters.
2902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart UART handle.
2903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
2904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
2905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_SendBreak(UART_HandleTypeDef *huart)
2906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check the parameters */
2908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   assert_param(IS_UART_LIN_INSTANCE(huart->Instance));
2909:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_LOCK(huart);
2911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_BUSY;
2913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Send break characters */
2915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_UART_SEND_REQ(huart, UART_SENDBREAK_REQUEST);
2916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
2918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_UNLOCK(huart);
2920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   return HAL_OK;
2922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @}
2926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
2927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group4 Peripheral State and Error functions
2929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *  @brief   UART Peripheral State functions
2930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *
2931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @verbatim
2932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   ==============================================================================
2933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             ##### Peripheral State and Error functions #####
2934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   ==============================================================================
2935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     [..]
2936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     This subsection provides functions allowing to :
2937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       (+) Return the UART handle state.
2938:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       (+) Return the UART handle error code
2939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
ARM GAS  /tmp/ccVmA0m0.s 			page 53


2940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @endverbatim
2941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @{
2942:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
2943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief Return the UART handle state.
2946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart Pointer to a UART_HandleTypeDef structure that contains
2947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *               the configuration information for the specified UART.
2948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL state
2949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
2950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_StateTypeDef HAL_UART_GetState(UART_HandleTypeDef *huart)
2951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint32_t temp1;
2953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint32_t temp2;
2954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   temp1 = huart->gState;
2955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   temp2 = huart->RxState;
2956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   return (HAL_UART_StateTypeDef)(temp1 | temp2);
2958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  Return the UART handle error code.
2962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart Pointer to a UART_HandleTypeDef structure that contains
2963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *               the configuration information for the specified UART.
2964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval UART Error Code
2965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
2966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t HAL_UART_GetError(UART_HandleTypeDef *huart)
2967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   return huart->ErrorCode;
2969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @}
2972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
2973:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2974:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @}
2976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
2977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** @defgroup UART_Private_Functions UART Private Functions
2979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @{
2980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
2981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
2982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  Initialize the callbacks to their default values.
2984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart UART handle.
2985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval none
2986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
2987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2988:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** void UART_InitCallbacksToDefault(UART_HandleTypeDef *huart)
2989:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Init the UART Callback settings */
2991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->TxHalfCpltCallback        = HAL_UART_TxHalfCpltCallback;        /* Legacy weak TxHalfCpltC
2992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->TxCpltCallback            = HAL_UART_TxCpltCallback;            /* Legacy weak TxCpltCallb
2993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxHalfCpltCallback        = HAL_UART_RxHalfCpltCallback;        /* Legacy weak RxHalfCpltC
2994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxCpltCallback            = HAL_UART_RxCpltCallback;            /* Legacy weak RxCpltCallb
2995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->ErrorCallback             = HAL_UART_ErrorCallback;             /* Legacy weak ErrorCallba
2996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->AbortCpltCallback         = HAL_UART_AbortCpltCallback;         /* Legacy weak AbortCpltCa
ARM GAS  /tmp/ccVmA0m0.s 			page 54


2997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak AbortTransm
2998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->AbortReceiveCpltCallback  = HAL_UART_AbortReceiveCpltCallback;  /* Legacy weak AbortReceiv
2999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->WakeupCallback            = HAL_UARTEx_WakeupCallback;          /* Legacy weak WakeupCallb
3000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxFifoFullCallback        = HAL_UARTEx_RxFifoFullCallback;      /* Legacy weak RxFifoFullC
3001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->TxFifoEmptyCallback       = HAL_UARTEx_TxFifoEmptyCallback;     /* Legacy weak TxFifoEmpty
3002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxEventCallback           = HAL_UARTEx_RxEventCallback;         /* Legacy weak RxEventCall
3003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief Configure the UART peripheral.
3009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param huart UART handle.
3010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
3011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
3012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef UART_SetConfig(UART_HandleTypeDef *huart)
3013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint32_t tmpreg;
3015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint16_t brrtemp;
3016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UART_ClockSourceTypeDef clocksource;
3017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint32_t usartdiv;
3018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   HAL_StatusTypeDef ret               = HAL_OK;
3019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint32_t lpuart_ker_ck_pres;
3020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint32_t pclk;
3021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check the parameters */
3023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   assert_param(IS_UART_BAUDRATE(huart->Init.BaudRate));
3024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
3025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (UART_INSTANCE_LOWPOWER(huart))
3026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     assert_param(IS_LPUART_STOPBITS(huart->Init.StopBits));
3028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   else
3030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     assert_param(IS_UART_STOPBITS(huart->Init.StopBits));
3032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     assert_param(IS_UART_ONE_BIT_SAMPLE(huart->Init.OneBitSampling));
3033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   assert_param(IS_UART_PARITY(huart->Init.Parity));
3036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   assert_param(IS_UART_MODE(huart->Init.Mode));
3037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl));
3038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
3039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   assert_param(IS_UART_PRESCALER(huart->Init.ClockPrescaler));
3040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /*-------------------------- USART CR1 Configuration -----------------------*/
3042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Clear M, PCE, PS, TE, RE and OVER8 bits and configure
3043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *  the UART Word Length, Parity, Mode and oversampling:
3044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *  set the M bits according to huart->Init.WordLength value
3045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *  set PCE and PS bits according to huart->Init.Parity value
3046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *  set TE and RE bits according to huart->Init.Mode value
3047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *  set OVER8 bit according to huart->Init.OverSampling value */
3048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   tmpreg = (uint32_t)huart->Init.WordLength | huart->Init.Parity | huart->Init.Mode | huart->Init.O
3049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
3050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /*-------------------------- USART CR2 Configuration -----------------------*/
3052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Configure the UART Stop Bits: Set STOP[13:12] bits according
3053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * to huart->Init.StopBits value */
ARM GAS  /tmp/ccVmA0m0.s 			page 55


3054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   MODIFY_REG(huart->Instance->CR2, USART_CR2_STOP, huart->Init.StopBits);
3055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /*-------------------------- USART CR3 Configuration -----------------------*/
3057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Configure
3058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * - UART HardWare Flow Control: set CTSE and RTSE bits according
3059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *   to huart->Init.HwFlowCtl value
3060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * - one-bit sampling method versus three samples' majority rule according
3061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *   to huart->Init.OneBitSampling (not applicable to LPUART) */
3062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   tmpreg = (uint32_t)huart->Init.HwFlowCtl;
3063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (!(UART_INSTANCE_LOWPOWER(huart)))
3065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     tmpreg |= huart->Init.OneBitSampling;
3067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg);
3069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /*-------------------------- USART PRESC Configuration -----------------------*/
3071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Configure
3072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * - UART Clock Prescaler : set PRESCALER according to huart->Init.ClockPrescaler value */
3073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   MODIFY_REG(huart->Instance->PRESC, USART_PRESC_PRESCALER, huart->Init.ClockPrescaler);
3074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /*-------------------------- USART BRR Configuration -----------------------*/
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UART_GETCLOCKSOURCE(huart, clocksource);
3077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check LPUART instance */
3079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (UART_INSTANCE_LOWPOWER(huart))
3080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Retrieve frequency clock */
3082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     switch (clocksource)
3083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
3084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case UART_CLOCKSOURCE_PCLK1:
3085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         pclk = HAL_RCC_GetPCLK1Freq();
3086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case UART_CLOCKSOURCE_HSI:
3088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         pclk = (uint32_t) HSI_VALUE;
3089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case UART_CLOCKSOURCE_SYSCLK:
3091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         pclk = HAL_RCC_GetSysClockFreq();
3092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
3093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case UART_CLOCKSOURCE_LSE:
3094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         pclk = (uint32_t) LSE_VALUE;
3095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
3096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       default:
3097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         pclk = 0U;
3098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         ret = HAL_ERROR;
3099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
3100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
3101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* If proper clock source reported */
3103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (pclk != 0U)
3104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
3105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Compute clock after Prescaler */
3106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       lpuart_ker_ck_pres = (pclk / UARTPrescTable[huart->Init.ClockPrescaler]);
3107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Ensure that Frequency clock is in the range [3 * baudrate, 4096 * baudrate] */
3109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if ((lpuart_ker_ck_pres < (3U * huart->Init.BaudRate)) ||
3110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate)))
ARM GAS  /tmp/ccVmA0m0.s 			page 56


3111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
3112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         ret = HAL_ERROR;
3113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
3114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       else
3115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
3116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Check computed UsartDiv value is in allocated range
3117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****            (it is forbidden to write values lower than 0x300 in the LPUART_BRR register) */
3118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         usartdiv = (uint32_t)(UART_DIV_LPUART(pclk, huart->Init.BaudRate, huart->Init.ClockPrescale
3119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         if ((usartdiv >= LPUART_BRR_MIN) && (usartdiv <= LPUART_BRR_MAX))
3120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
3121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           huart->Instance->BRR = usartdiv;
3122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
3123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         else
3124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
3125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           ret = HAL_ERROR;
3126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
3127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       } /* if ( (lpuart_ker_ck_pres < (3 * huart->Init.BaudRate) ) ||
3128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****                 (lpuart_ker_ck_pres > (4096 * huart->Init.BaudRate) )) */
3129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     } /* if (pclk != 0) */
3130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check UART Over Sampling to set Baud Rate Register */
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   else if (huart->Init.OverSampling == UART_OVERSAMPLING_8)
3133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     switch (clocksource)
3135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
3136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case UART_CLOCKSOURCE_PCLK1:
3137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         pclk = HAL_RCC_GetPCLK1Freq();
3138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
3139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case UART_CLOCKSOURCE_PCLK2:
3140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         pclk = HAL_RCC_GetPCLK2Freq();
3141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
3142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case UART_CLOCKSOURCE_HSI:
3143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         pclk = (uint32_t) HSI_VALUE;
3144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
3145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case UART_CLOCKSOURCE_SYSCLK:
3146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         pclk = HAL_RCC_GetSysClockFreq();
3147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
3148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case UART_CLOCKSOURCE_LSE:
3149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         pclk = (uint32_t) LSE_VALUE;
3150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
3151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       default:
3152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         pclk = 0U;
3153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         ret = HAL_ERROR;
3154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
3155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
3156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* USARTDIV must be greater than or equal to 0d16 */
3158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (pclk != 0U)
3159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
3160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       usartdiv = (uint16_t)(UART_DIV_SAMPLING8(pclk, huart->Init.BaudRate, huart->Init.ClockPrescal
3161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
3162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
3163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         brrtemp = (uint16_t)(usartdiv & 0xFFF0U);
3164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U);
3165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->Instance->BRR = brrtemp;
3166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
3167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       else
ARM GAS  /tmp/ccVmA0m0.s 			page 57


3168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
3169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         ret = HAL_ERROR;
3170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
3171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
3172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   else
3174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     switch (clocksource)
3176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
3177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case UART_CLOCKSOURCE_PCLK1:
3178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         pclk = HAL_RCC_GetPCLK1Freq();
3179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
3180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case UART_CLOCKSOURCE_PCLK2:
3181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         pclk = HAL_RCC_GetPCLK2Freq();
3182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
3183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case UART_CLOCKSOURCE_HSI:
3184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         pclk = (uint32_t) HSI_VALUE;
3185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
3186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case UART_CLOCKSOURCE_SYSCLK:
3187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         pclk = HAL_RCC_GetSysClockFreq();
3188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
3189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case UART_CLOCKSOURCE_LSE:
3190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         pclk = (uint32_t) LSE_VALUE;
3191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
3192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       default:
3193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         pclk = 0U;
3194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         ret = HAL_ERROR;
3195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
3196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
3197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (pclk != 0U)
3199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
3200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* USARTDIV must be greater than or equal to 0d16 */
3201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       usartdiv = (uint16_t)(UART_DIV_SAMPLING16(pclk, huart->Init.BaudRate, huart->Init.ClockPresca
3202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
3203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
3204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->Instance->BRR = usartdiv;
3205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
3206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       else
3207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
3208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         ret = HAL_ERROR;
3209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
3210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
3211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Initialize the number of data to process during RX/TX ISR execution */
3214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->NbTxDataToProcess = 1;
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->NbRxDataToProcess = 1;
3216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Clear ISR function pointers */
3218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxISR = NULL;
3219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->TxISR = NULL;
3220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   return ret;
3222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
ARM GAS  /tmp/ccVmA0m0.s 			page 58


3225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief Configure the UART peripheral advanced features.
3226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param huart UART handle.
3227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
3228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
3229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** void UART_AdvFeatureConfig(UART_HandleTypeDef *huart)
3230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check whether the set of advanced features to configure is properly set */
3232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   assert_param(IS_UART_ADVFEATURE_INIT(huart->AdvancedInit.AdvFeatureInit));
3233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* if required, configure TX pin active level inversion */
3235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_TXINVERT_INIT))
3236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     assert_param(IS_UART_ADVFEATURE_TXINV(huart->AdvancedInit.TxPinLevelInvert));
3238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     MODIFY_REG(huart->Instance->CR2, USART_CR2_TXINV, huart->AdvancedInit.TxPinLevelInvert);
3239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* if required, configure RX pin active level inversion */
3242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXINVERT_INIT))
3243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     assert_param(IS_UART_ADVFEATURE_RXINV(huart->AdvancedInit.RxPinLevelInvert));
3245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     MODIFY_REG(huart->Instance->CR2, USART_CR2_RXINV, huart->AdvancedInit.RxPinLevelInvert);
3246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* if required, configure data inversion */
3249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DATAINVERT_INIT))
3250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     assert_param(IS_UART_ADVFEATURE_DATAINV(huart->AdvancedInit.DataInvert));
3252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     MODIFY_REG(huart->Instance->CR2, USART_CR2_DATAINV, huart->AdvancedInit.DataInvert);
3253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* if required, configure RX/TX pins swap */
3256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_SWAP_INIT))
3257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     assert_param(IS_UART_ADVFEATURE_SWAP(huart->AdvancedInit.Swap));
3259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     MODIFY_REG(huart->Instance->CR2, USART_CR2_SWAP, huart->AdvancedInit.Swap);
3260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* if required, configure RX overrun detection disabling */
3263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXOVERRUNDISABLE_INIT))
3264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     assert_param(IS_UART_OVERRUN(huart->AdvancedInit.OverrunDisable));
3266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     MODIFY_REG(huart->Instance->CR3, USART_CR3_OVRDIS, huart->AdvancedInit.OverrunDisable);
3267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* if required, configure DMA disabling on reception error */
3270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DMADISABLEONERROR_INIT))
3271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     assert_param(IS_UART_ADVFEATURE_DMAONRXERROR(huart->AdvancedInit.DMADisableonRxError));
3273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     MODIFY_REG(huart->Instance->CR3, USART_CR3_DDRE, huart->AdvancedInit.DMADisableonRxError);
3274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* if required, configure auto Baud rate detection scheme */
3277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_AUTOBAUDRATE_INIT))
3278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     assert_param(IS_USART_AUTOBAUDRATE_DETECTION_INSTANCE(huart->Instance));
3280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATE(huart->AdvancedInit.AutoBaudRateEnable));
3281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     MODIFY_REG(huart->Instance->CR2, USART_CR2_ABREN, huart->AdvancedInit.AutoBaudRateEnable);
ARM GAS  /tmp/ccVmA0m0.s 			page 59


3282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* set auto Baudrate detection parameters if detection is enabled */
3283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (huart->AdvancedInit.AutoBaudRateEnable == UART_ADVFEATURE_AUTOBAUDRATE_ENABLE)
3284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
3285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATEMODE(huart->AdvancedInit.AutoBaudRateMode));
3286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       MODIFY_REG(huart->Instance->CR2, USART_CR2_ABRMODE, huart->AdvancedInit.AutoBaudRateMode);
3287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
3288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* if required, configure MSB first on communication line */
3291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_MSBFIRST_INIT))
3292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     assert_param(IS_UART_ADVFEATURE_MSBFIRST(huart->AdvancedInit.MSBFirst));
3294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     MODIFY_REG(huart->Instance->CR2, USART_CR2_MSBFIRST, huart->AdvancedInit.MSBFirst);
3295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief Check the UART Idle State.
3300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param huart UART handle.
3301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
3302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
3303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef UART_CheckIdleState(UART_HandleTypeDef *huart)
3304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint32_t tickstart;
3306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Initialize the UART ErrorCode */
3308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->ErrorCode = HAL_UART_ERROR_NONE;
3309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Init tickstart for timeout management */
3311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   tickstart = HAL_GetTick();
3312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check if the Transmitter is enabled */
3314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if ((huart->Instance->CR1 & USART_CR1_TE) == USART_CR1_TE)
3315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Wait until TEACK flag is set */
3317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_TEACK, RESET, tickstart, HAL_UART_TIMEOUT_VALU
3318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
3319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Timeout occurred */
3320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       return HAL_TIMEOUT;
3321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
3322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check if the Receiver is enabled */
3325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if ((huart->Instance->CR1 & USART_CR1_RE) == USART_CR1_RE)
3326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Wait until REACK flag is set */
3328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_REACK, RESET, tickstart, HAL_UART_TIMEOUT_VALU
3329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
3330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Timeout occurred */
3331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       return HAL_TIMEOUT;
3332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
3333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Initialize the UART State */
3336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
3337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
3338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
ARM GAS  /tmp/ccVmA0m0.s 			page 60


3339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_UNLOCK(huart);
3341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   return HAL_OK;
3343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  Handle UART Communication Timeout.
3347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param huart     UART handle.
3348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param Flag      Specifies the UART flag to check
3349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param Status    Flag status (SET or RESET)
3350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param Tickstart Tick start value
3351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param Timeout   Timeout duration
3352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
3353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
3354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, FlagStatus 
3355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****                                               uint32_t Tickstart, uint32_t Timeout)
3356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Wait until flag is set */
3358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   while ((__HAL_UART_GET_FLAG(huart, Flag) ? SET : RESET) == Status)
3359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Check for the Timeout */
3361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (Timeout != HAL_MAX_DELAY)
3362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
3364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
3365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Disable TXE, RXNE, PE and ERR (Frame error, noise error, overrun error)
3366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****            interrupts for the interrupt process */
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE | USART_CR1_TXEI
3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->gState = HAL_UART_STATE_READY;
3371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->RxState = HAL_UART_STATE_READY;
3372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         __HAL_UNLOCK(huart);
3374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         return HAL_TIMEOUT;
3376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
3377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if (READ_BIT(huart->Instance->CR1, USART_CR1_RE) != 0U)
3379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
3380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         if (__HAL_UART_GET_FLAG(huart, UART_FLAG_RTOF) == SET)
3381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
3382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /* Clear Receiver Timeout flag*/
3383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_RTOF);
3384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /* Disable TXE, RXNE, PE and ERR (Frame error, noise error, overrun error)
3386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****              interrupts for the interrupt process */
3387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE | USART_CR1_TX
3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           huart->gState = HAL_UART_STATE_READY;
3391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           huart->RxState = HAL_UART_STATE_READY;
3392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           huart->ErrorCode = HAL_UART_ERROR_RTO;
3393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /* Process Unlocked */
3395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           __HAL_UNLOCK(huart);
ARM GAS  /tmp/ccVmA0m0.s 			page 61


3396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           return HAL_TIMEOUT;
3398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
3399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
3400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
3401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   return HAL_OK;
3403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  Start Receive operation in interrupt mode.
3407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note   This function could be called by all HAL UART API providing reception in Interrupt mode
3408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note   When calling this function, parameters validity is considered as already checked,
3409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         i.e. Rx State, buffer address, ...
3410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         UART Handle is assumed as Locked.
3411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart UART handle.
3412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  pData Pointer to data buffer (u8 or u16 data elements).
3413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  Size  Amount of data elements (u8 or u16) to be received.
3414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
3415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
3416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef UART_Start_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
3417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->pRxBuffPtr  = pData;
3419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxXferSize  = Size;
3420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxXferCount = Size;
3421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxISR       = NULL;
3422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Computation of UART mask to apply to RDR register */
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UART_MASK_COMPUTATION(huart);
3425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->ErrorCode = HAL_UART_ERROR_NONE;
3427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_BUSY_RX;
3428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */
3430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
3431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Configure Rx interrupt processing */
3433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if ((huart->FifoMode == UART_FIFOMODE_ENABLE) && (Size >= huart->NbRxDataToProcess))
3434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Set the Rx ISR function pointer according to the data word length */
3436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
3437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
3438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->RxISR = UART_RxISR_16BIT_FIFOEN;
3439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
3440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     else
3441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
3442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->RxISR = UART_RxISR_8BIT_FIFOEN;
3443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
3444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     __HAL_UNLOCK(huart);
3446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Enable the UART Parity Error interrupt and RX FIFO Threshold interrupt */
3448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     SET_BIT(huart->Instance->CR1, USART_CR1_PEIE);
3449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     SET_BIT(huart->Instance->CR3, USART_CR3_RXFTIE);
3450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   else
3452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
ARM GAS  /tmp/ccVmA0m0.s 			page 62


3453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Set the Rx ISR function pointer according to the data word length */
3454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
3455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
3456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->RxISR = UART_RxISR_16BIT;
3457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
3458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     else
3459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
3460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->RxISR = UART_RxISR_8BIT;
3461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
3462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     __HAL_UNLOCK(huart);
3464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Enable the UART Parity Error interrupt and Data Register Not Empty interrupt */
3466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     SET_BIT(huart->Instance->CR1, USART_CR1_PEIE | USART_CR1_RXNEIE_RXFNEIE);
3467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   return HAL_OK;
3469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  Start Receive operation in DMA mode.
3473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note   This function could be called by all HAL UART API providing reception in DMA mode.
3474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note   When calling this function, parameters validity is considered as already checked,
3475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         i.e. Rx State, buffer address, ...
3476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         UART Handle is assumed as Locked.
3477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart UART handle.
3478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  pData Pointer to data buffer (u8 or u16 data elements).
3479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  Size  Amount of data elements (u8 or u16) to be received.
3480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval HAL status
3481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
3482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef UART_Start_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
3483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->pRxBuffPtr = pData;
3485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxXferSize = Size;
3486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->ErrorCode = HAL_UART_ERROR_NONE;
3488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_BUSY_RX;
3489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->hdmarx != NULL)
3491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Set the UART DMA transfer complete callback */
3493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->hdmarx->XferCpltCallback = UART_DMAReceiveCplt;
3494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Set the UART DMA Half transfer complete callback */
3496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->hdmarx->XferHalfCpltCallback = UART_DMARxHalfCplt;
3497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Set the DMA error callback */
3499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->hdmarx->XferErrorCallback = UART_DMAError;
3500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Set the DMA abort callback */
3502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->hdmarx->XferAbortCallback = NULL;
3503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Enable the DMA channel */
3505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (HAL_DMA_Start_IT(huart->hdmarx, (uint32_t)&huart->Instance->RDR, (uint32_t)huart->pRxBuffPt
3506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
3507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Set error code to DMA */
3508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->ErrorCode = HAL_UART_ERROR_DMA;
3509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
ARM GAS  /tmp/ccVmA0m0.s 			page 63


3510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       __HAL_UNLOCK(huart);
3511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Restore huart->gState to ready */
3513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->gState = HAL_UART_STATE_READY;
3514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       return HAL_ERROR;
3516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
3517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_UNLOCK(huart);
3519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Enable the UART Parity Error Interrupt */
3521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   SET_BIT(huart->Instance->CR1, USART_CR1_PEIE);
3522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */
3524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
3525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Enable the DMA transfer for the receiver request by setting the DMAR bit
3527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   in the UART CR3 register */
3528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   SET_BIT(huart->Instance->CR3, USART_CR3_DMAR);
3529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   return HAL_OK;
3531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  End ongoing Tx transfer on UART peripheral (following error detection or Transmit compl
3536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart UART handle.
3537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
3538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
3539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart)
3540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
  27              		.loc 1 3540 0
  28              		.cfi_startproc
  29              		@ args = 0, pretend = 0, frame = 0
  30              		@ frame_needed = 0, uses_anonymous_args = 0
  31              		@ link register save eliminated.
  32              	.LVL0:
3541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Disable TXEIE, TCIE, TXFT interrupts */
3542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE_TXFNFIE | USART_CR1_TCIE));
  33              		.loc 1 3542 0
  34 0000 0268     		ldr	r2, [r0]
  35 0002 1368     		ldr	r3, [r2]
  36 0004 23F0C003 		bic	r3, r3, #192
  37 0008 1360     		str	r3, [r2]
3543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, (USART_CR3_TXFTIE));
  38              		.loc 1 3543 0
  39 000a 0268     		ldr	r2, [r0]
  40 000c 9368     		ldr	r3, [r2, #8]
  41 000e 23F40003 		bic	r3, r3, #8388608
  42 0012 9360     		str	r3, [r2, #8]
3544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* At end of Tx process, restore huart->gState to Ready */
3546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
  43              		.loc 1 3546 0
  44 0014 2023     		movs	r3, #32
  45 0016 C0F88430 		str	r3, [r0, #132]
3547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
ARM GAS  /tmp/ccVmA0m0.s 			page 64


  46              		.loc 1 3547 0
  47 001a 7047     		bx	lr
  48              		.cfi_endproc
  49              	.LFE181:
  51              		.section	.text.UART_EndRxTransfer,"ax",%progbits
  52              		.align	1
  53              		.syntax unified
  54              		.thumb
  55              		.thumb_func
  56              		.fpu fpv4-sp-d16
  58              	UART_EndRxTransfer:
  59              	.LFB182:
3548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  End ongoing Rx transfer on UART peripheral (following error detection or Reception comp
3552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart UART handle.
3553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
3554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
3555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart)
3556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
  60              		.loc 1 3556 0
  61              		.cfi_startproc
  62              		@ args = 0, pretend = 0, frame = 0
  63              		@ frame_needed = 0, uses_anonymous_args = 0
  64              		@ link register save eliminated.
  65              	.LVL1:
3557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
3558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE));
  66              		.loc 1 3558 0
  67 0000 0268     		ldr	r2, [r0]
  68 0002 1368     		ldr	r3, [r2]
  69 0004 23F49073 		bic	r3, r3, #288
  70 0008 1360     		str	r3, [r2]
3559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE));
  71              		.loc 1 3559 0
  72 000a 0268     		ldr	r2, [r0]
  73 000c 9368     		ldr	r3, [r2, #8]
  74 000e 23F08053 		bic	r3, r3, #268435456
  75 0012 23F00103 		bic	r3, r3, #1
  76 0016 9360     		str	r3, [r2, #8]
3560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* In case of reception waiting for IDLE event, disable also the IDLE IE interrupt source */
3562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
  77              		.loc 1 3562 0
  78 0018 C36E     		ldr	r3, [r0, #108]
  79 001a 012B     		cmp	r3, #1
  80 001c 06D0     		beq	.L4
  81              	.L3:
3563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
3565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* At end of Rx process, restore huart->RxState to Ready */
3568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
  82              		.loc 1 3568 0
  83 001e 2023     		movs	r3, #32
ARM GAS  /tmp/ccVmA0m0.s 			page 65


  84 0020 C0F88830 		str	r3, [r0, #136]
3569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  85              		.loc 1 3569 0
  86 0024 0023     		movs	r3, #0
  87 0026 C366     		str	r3, [r0, #108]
3570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Reset RxIsr function pointer */
3572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxISR = NULL;
  88              		.loc 1 3572 0
  89 0028 0367     		str	r3, [r0, #112]
3573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
  90              		.loc 1 3573 0
  91 002a 7047     		bx	lr
  92              	.L4:
3564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
  93              		.loc 1 3564 0
  94 002c 0268     		ldr	r2, [r0]
  95 002e 1368     		ldr	r3, [r2]
  96 0030 23F01003 		bic	r3, r3, #16
  97 0034 1360     		str	r3, [r2]
  98 0036 F2E7     		b	.L3
  99              		.cfi_endproc
 100              	.LFE182:
 102              		.section	.text.UART_TxISR_8BIT,"ax",%progbits
 103              		.align	1
 104              		.syntax unified
 105              		.thumb
 106              		.thumb_func
 107              		.fpu fpv4-sp-d16
 109              	UART_TxISR_8BIT:
 110              	.LFB193:
3574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief DMA UART transmit process complete callback.
3578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param hdma DMA handle.
3579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
3580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
3581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma)
3582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* DMA Normal mode */
3586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (HAL_IS_BIT_CLR(hdma->Instance->CCR, DMA_CCR_CIRC))
3587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->TxXferCount = 0U;
3589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Disable the DMA transfer for transmit request by resetting the DMAT bit
3591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****        in the UART CR3 register */
3592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
3593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Enable the UART Transmit Complete Interrupt */
3595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
3596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* DMA Circular mode */
3598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   else
3599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
ARM GAS  /tmp/ccVmA0m0.s 			page 66


3600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /*Call registered Tx complete callback*/
3602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->TxCpltCallback(huart);
3603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
3604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /*Call legacy weak Tx complete callback*/
3605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     HAL_UART_TxCpltCallback(huart);
3606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief DMA UART transmit process half complete callback.
3612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param hdma DMA handle.
3613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
3614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
3615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma)
3616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /*Call registered Tx Half complete callback*/
3621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->TxHalfCpltCallback(huart);
3622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
3623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /*Call legacy weak Tx Half complete callback*/
3624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   HAL_UART_TxHalfCpltCallback(huart);
3625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief DMA UART receive process complete callback.
3630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param hdma DMA handle.
3631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
3632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
3633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma)
3634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* DMA Normal mode */
3638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (HAL_IS_BIT_CLR(hdma->Instance->CCR, DMA_CCR_CIRC))
3639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->RxXferCount = 0U;
3641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */
3643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
3644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Disable the DMA transfer for the receiver request by resetting the DMAR bit
3647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****        in the UART CR3 register */
3648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
3649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* At end of Rx process, restore huart->RxState to Ready */
3651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->RxState = HAL_UART_STATE_READY;
3652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* If Reception till IDLE event has been selected, Disable IDLE Interrupt */
3654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
3655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
3656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
ARM GAS  /tmp/ccVmA0m0.s 			page 67


3657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
3658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check current reception Mode :
3661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****      If Reception till IDLE event has been selected : use Rx Event callback */
3662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
3663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /*Call registered Rx Event callback*/
3666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->RxEventCallback(huart, huart->RxXferSize);
3667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
3668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /*Call legacy weak Rx Event callback*/
3669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize);
3670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   else
3673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* In other cases : use Rx Complete callback */
3675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /*Call registered Rx complete callback*/
3677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->RxCpltCallback(huart);
3678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
3679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /*Call legacy weak Rx complete callback*/
3680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     HAL_UART_RxCpltCallback(huart);
3681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief DMA UART receive process half complete callback.
3687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param hdma DMA handle.
3688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
3689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
3690:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma)
3691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check current reception Mode :
3695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****      If Reception till IDLE event has been selected : use Rx Event callback */
3696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
3697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /*Call registered Rx Event callback*/
3700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->RxEventCallback(huart, huart->RxXferSize / 2U);
3701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
3702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /*Call legacy weak Rx Event callback*/
3703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize / 2U);
3704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   else
3707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* In other cases : use Rx Half Complete callback */
3709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /*Call registered Rx Half complete callback*/
3711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->RxHalfCpltCallback(huart);
3712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
3713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /*Call legacy weak Rx Half complete callback*/
ARM GAS  /tmp/ccVmA0m0.s 			page 68


3714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     HAL_UART_RxHalfCpltCallback(huart);
3715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief DMA UART communication error callback.
3721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param hdma DMA handle.
3722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
3723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
3724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma)
3725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   const HAL_UART_StateTypeDef gstate = huart->gState;
3729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   const HAL_UART_StateTypeDef rxstate = huart->RxState;
3730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Stop UART DMA Tx request if ongoing */
3732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) &&
3733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       (gstate == HAL_UART_STATE_BUSY_TX))
3734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->TxXferCount = 0U;
3736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     UART_EndTxTransfer(huart);
3737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Stop UART DMA Rx request if ongoing */
3740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) &&
3741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       (rxstate == HAL_UART_STATE_BUSY_RX))
3742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->RxXferCount = 0U;
3744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     UART_EndRxTransfer(huart);
3745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->ErrorCode |= HAL_UART_ERROR_DMA;
3748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /*Call registered error callback*/
3751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->ErrorCallback(huart);
3752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
3753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /*Call legacy weak error callback*/
3754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   HAL_UART_ErrorCallback(huart);
3755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  DMA UART communication abort callback, when initiated by HAL services on Error
3760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         (To be called at end of DMA Abort procedure following error occurrence).
3761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  hdma DMA handle.
3762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
3763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
3764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma)
3765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxXferCount = 0U;
3768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->TxXferCount = 0U;
3769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
ARM GAS  /tmp/ccVmA0m0.s 			page 69


3771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /*Call registered error callback*/
3772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->ErrorCallback(huart);
3773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
3774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /*Call legacy weak error callback*/
3775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   HAL_UART_ErrorCallback(huart);
3776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  DMA UART Tx communication abort callback, when initiated by user
3781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         (To be called at end of DMA Tx Abort procedure following user abort request).
3782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note   When this callback is executed, User Abort complete call back is called only if no
3783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         Abort still ongoing for Rx DMA Handle.
3784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  hdma DMA handle.
3785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
3786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
3787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma)
3788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->hdmatx->XferAbortCallback = NULL;
3792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check if an Abort process is still ongoing */
3794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->hdmarx != NULL)
3795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (huart->hdmarx->XferAbortCallback != NULL)
3797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
3798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       return;
3799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
3800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba
3803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->TxXferCount = 0U;
3804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxXferCount = 0U;
3805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Reset errorCode */
3807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->ErrorCode = HAL_UART_ERROR_NONE;
3808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Clear the Error flags in the ICR register */
3810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
3811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Flush the whole TX FIFO (if needed) */
3813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->FifoMode == UART_FIFOMODE_ENABLE)
3814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     __HAL_UART_SEND_REQ(huart, UART_TXDATA_FLUSH_REQUEST);
3816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Restore huart->gState and huart->RxState to Ready */
3819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->gState  = HAL_UART_STATE_READY;
3820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
3821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Call user Abort complete callback */
3824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Call registered Abort complete callback */
3826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->AbortCpltCallback(huart);
3827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
ARM GAS  /tmp/ccVmA0m0.s 			page 70


3828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Call legacy weak Abort complete callback */
3829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   HAL_UART_AbortCpltCallback(huart);
3830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  DMA UART Rx communication abort callback, when initiated by user
3836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         (To be called at end of DMA Rx Abort procedure following user abort request).
3837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note   When this callback is executed, User Abort complete call back is called only if no
3838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         Abort still ongoing for Tx DMA Handle.
3839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  hdma DMA handle.
3840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
3841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
3842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma)
3843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->hdmarx->XferAbortCallback = NULL;
3847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check if an Abort process is still ongoing */
3849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->hdmatx != NULL)
3850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (huart->hdmatx->XferAbortCallback != NULL)
3852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
3853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       return;
3854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
3855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba
3858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->TxXferCount = 0U;
3859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxXferCount = 0U;
3860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Reset errorCode */
3862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->ErrorCode = HAL_UART_ERROR_NONE;
3863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Clear the Error flags in the ICR register */
3865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
3866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Discard the received data */
3868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
3869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Restore huart->gState and huart->RxState to Ready */
3871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->gState  = HAL_UART_STATE_READY;
3872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
3873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Call user Abort complete callback */
3876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Call registered Abort complete callback */
3878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->AbortCpltCallback(huart);
3879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
3880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Call legacy weak Abort complete callback */
3881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   HAL_UART_AbortCpltCallback(huart);
3882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
ARM GAS  /tmp/ccVmA0m0.s 			page 71


3885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  DMA UART Tx communication abort callback, when initiated by user by a call to
3888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         HAL_UART_AbortTransmit_IT API (Abort only Tx transfer)
3889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         (This callback is executed at end of DMA Tx Abort procedure following user abort reques
3890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         and leads to user Tx Abort Complete callback execution).
3891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  hdma DMA handle.
3892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
3893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
3894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma)
3895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->TxXferCount = 0U;
3899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Flush the whole TX FIFO (if needed) */
3901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->FifoMode == UART_FIFOMODE_ENABLE)
3902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     __HAL_UART_SEND_REQ(huart, UART_TXDATA_FLUSH_REQUEST);
3904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Restore huart->gState to Ready */
3907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
3908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3909:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Call user Abort complete callback */
3910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Call registered Abort Transmit Complete Callback */
3912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->AbortTransmitCpltCallback(huart);
3913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
3914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Call legacy weak Abort Transmit Complete Callback */
3915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   HAL_UART_AbortTransmitCpltCallback(huart);
3916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  DMA UART Rx communication abort callback, when initiated by user by a call to
3921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         HAL_UART_AbortReceive_IT API (Abort only Rx transfer)
3922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         (This callback is executed at end of DMA Rx Abort procedure following user abort reques
3923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         and leads to user Rx Abort Complete callback execution).
3924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  hdma DMA handle.
3925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
3926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
3927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma)
3928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxXferCount = 0U;
3932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Clear the Error flags in the ICR register */
3934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
3935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Discard the received data */
3937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
3938:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Restore huart->RxState to Ready */
3940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
3941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
ARM GAS  /tmp/ccVmA0m0.s 			page 72


3942:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Call user Abort complete callback */
3944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Call registered Abort Receive Complete Callback */
3946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->AbortReceiveCpltCallback(huart);
3947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
3948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Call legacy weak Abort Receive Complete Callback */
3949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   HAL_UART_AbortReceiveCpltCallback(huart);
3950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief TX interrupt handler for 7 or 8 bits data word length .
3955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note   Function is called under interruption only, once
3956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         interruptions have been enabled by HAL_UART_Transmit_IT().
3957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param huart UART handle.
3958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
3959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
3960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_TxISR_8BIT(UART_HandleTypeDef *huart)
3961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
 111              		.loc 1 3961 0
 112              		.cfi_startproc
 113              		@ args = 0, pretend = 0, frame = 0
 114              		@ frame_needed = 0, uses_anonymous_args = 0
 115              		@ link register save eliminated.
 116              	.LVL2:
3962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check that a Tx process is ongoing */
3963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->gState == HAL_UART_STATE_BUSY_TX)
 117              		.loc 1 3963 0
 118 0000 D0F88430 		ldr	r3, [r0, #132]
 119 0004 212B     		cmp	r3, #33
 120 0006 00D0     		beq	.L8
 121              	.L5:
3964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (huart->TxXferCount == 0U)
3966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
3967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Disable the UART Transmit Data Register Empty Interrupt */
3968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       CLEAR_BIT(huart->Instance->CR1, USART_CR1_TXEIE_TXFNFIE);
3969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Enable the UART Transmit Complete Interrupt */
3971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
3972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
3973:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     else
3974:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
3975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->Instance->TDR = (uint8_t)(*huart->pTxBuffPtr & (uint8_t)0xFF);
3976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->pTxBuffPtr++;
3977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->TxXferCount--;
3978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
3979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
3980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
 122              		.loc 1 3980 0
 123 0008 7047     		bx	lr
 124              	.L8:
3965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 125              		.loc 1 3965 0
 126 000a B0F85630 		ldrh	r3, [r0, #86]
 127 000e 9BB2     		uxth	r3, r3
ARM GAS  /tmp/ccVmA0m0.s 			page 73


 128 0010 6BB1     		cbz	r3, .L9
3975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->pTxBuffPtr++;
 129              		.loc 1 3975 0
 130 0012 036D     		ldr	r3, [r0, #80]
 131 0014 1A78     		ldrb	r2, [r3]	@ zero_extendqisi2
 132 0016 0368     		ldr	r3, [r0]
 133 0018 9A62     		str	r2, [r3, #40]
3976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->TxXferCount--;
 134              		.loc 1 3976 0
 135 001a 036D     		ldr	r3, [r0, #80]
 136 001c 0133     		adds	r3, r3, #1
 137 001e 0365     		str	r3, [r0, #80]
3977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 138              		.loc 1 3977 0
 139 0020 B0F85630 		ldrh	r3, [r0, #86]
 140 0024 013B     		subs	r3, r3, #1
 141 0026 9BB2     		uxth	r3, r3
 142 0028 A0F85630 		strh	r3, [r0, #86]	@ movhi
 143              		.loc 1 3980 0
 144 002c ECE7     		b	.L5
 145              	.L9:
3968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 146              		.loc 1 3968 0
 147 002e 0268     		ldr	r2, [r0]
 148 0030 1368     		ldr	r3, [r2]
 149 0032 23F08003 		bic	r3, r3, #128
 150 0036 1360     		str	r3, [r2]
3971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 151              		.loc 1 3971 0
 152 0038 0268     		ldr	r2, [r0]
 153 003a 1368     		ldr	r3, [r2]
 154 003c 43F04003 		orr	r3, r3, #64
 155 0040 1360     		str	r3, [r2]
 156 0042 7047     		bx	lr
 157              		.cfi_endproc
 158              	.LFE193:
 160              		.section	.text.UART_TxISR_16BIT,"ax",%progbits
 161              		.align	1
 162              		.syntax unified
 163              		.thumb
 164              		.thumb_func
 165              		.fpu fpv4-sp-d16
 167              	UART_TxISR_16BIT:
 168              	.LFB194:
3981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief TX interrupt handler for 9 bits data word length.
3984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note   Function is called under interruption only, once
3985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         interruptions have been enabled by HAL_UART_Transmit_IT().
3986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param huart UART handle.
3987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
3988:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
3989:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_TxISR_16BIT(UART_HandleTypeDef *huart)
3990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
 169              		.loc 1 3990 0
 170              		.cfi_startproc
 171              		@ args = 0, pretend = 0, frame = 0
ARM GAS  /tmp/ccVmA0m0.s 			page 74


 172              		@ frame_needed = 0, uses_anonymous_args = 0
 173              		@ link register save eliminated.
 174              	.LVL3:
3991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint16_t *tmp;
3992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
3993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check that a Tx process is ongoing */
3994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->gState == HAL_UART_STATE_BUSY_TX)
 175              		.loc 1 3994 0
 176 0000 D0F88430 		ldr	r3, [r0, #132]
 177 0004 212B     		cmp	r3, #33
 178 0006 00D0     		beq	.L13
 179              	.L10:
3995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
3996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (huart->TxXferCount == 0U)
3997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
3998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Disable the UART Transmit Data Register Empty Interrupt */
3999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       CLEAR_BIT(huart->Instance->CR1, USART_CR1_TXEIE_TXFNFIE);
4000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Enable the UART Transmit Complete Interrupt */
4002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
4003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
4004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     else
4005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
4006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       tmp = (uint16_t *) huart->pTxBuffPtr;
4007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL);
4008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->pTxBuffPtr += 2U;
4009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->TxXferCount--;
4010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
4011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
4012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
 180              		.loc 1 4012 0
 181 0008 7047     		bx	lr
 182              	.L13:
3996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 183              		.loc 1 3996 0
 184 000a B0F85630 		ldrh	r3, [r0, #86]
 185 000e 9BB2     		uxth	r3, r3
 186 0010 7BB1     		cbz	r3, .L14
4006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL);
 187              		.loc 1 4006 0
 188 0012 036D     		ldr	r3, [r0, #80]
 189              	.LVL4:
4007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->pTxBuffPtr += 2U;
 190              		.loc 1 4007 0
 191 0014 1B88     		ldrh	r3, [r3]
 192              	.LVL5:
 193 0016 0268     		ldr	r2, [r0]
 194 0018 C3F30803 		ubfx	r3, r3, #0, #9
 195 001c 9362     		str	r3, [r2, #40]
 196              	.LVL6:
4008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->TxXferCount--;
 197              		.loc 1 4008 0
 198 001e 036D     		ldr	r3, [r0, #80]
 199 0020 0233     		adds	r3, r3, #2
 200 0022 0365     		str	r3, [r0, #80]
4009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 201              		.loc 1 4009 0
ARM GAS  /tmp/ccVmA0m0.s 			page 75


 202 0024 B0F85630 		ldrh	r3, [r0, #86]
 203 0028 013B     		subs	r3, r3, #1
 204 002a 9BB2     		uxth	r3, r3
 205 002c A0F85630 		strh	r3, [r0, #86]	@ movhi
 206              		.loc 1 4012 0
 207 0030 EAE7     		b	.L10
 208              	.L14:
3999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 209              		.loc 1 3999 0
 210 0032 0268     		ldr	r2, [r0]
 211 0034 1368     		ldr	r3, [r2]
 212 0036 23F08003 		bic	r3, r3, #128
 213 003a 1360     		str	r3, [r2]
4002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 214              		.loc 1 4002 0
 215 003c 0268     		ldr	r2, [r0]
 216 003e 1368     		ldr	r3, [r2]
 217 0040 43F04003 		orr	r3, r3, #64
 218 0044 1360     		str	r3, [r2]
 219 0046 7047     		bx	lr
 220              		.cfi_endproc
 221              	.LFE194:
 223              		.section	.text.UART_TxISR_8BIT_FIFOEN,"ax",%progbits
 224              		.align	1
 225              		.syntax unified
 226              		.thumb
 227              		.thumb_func
 228              		.fpu fpv4-sp-d16
 230              	UART_TxISR_8BIT_FIFOEN:
 231              	.LFB195:
4013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
4015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief TX interrupt handler for 7 or 8 bits data word length and FIFO mode is enabled.
4016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note   Function is called under interruption only, once
4017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         interruptions have been enabled by HAL_UART_Transmit_IT().
4018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param huart UART handle.
4019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
4020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
4021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_TxISR_8BIT_FIFOEN(UART_HandleTypeDef *huart)
4022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
 232              		.loc 1 4022 0
 233              		.cfi_startproc
 234              		@ args = 0, pretend = 0, frame = 0
 235              		@ frame_needed = 0, uses_anonymous_args = 0
 236              		@ link register save eliminated.
 237              	.LVL7:
4023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint16_t  nb_tx_data;
4024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check that a Tx process is ongoing */
4026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->gState == HAL_UART_STATE_BUSY_TX)
 238              		.loc 1 4026 0
 239 0000 D0F88430 		ldr	r3, [r0, #132]
 240 0004 212B     		cmp	r3, #33
 241 0006 00D0     		beq	.L21
 242              	.L15:
4027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
4028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     for (nb_tx_data = huart->NbTxDataToProcess ; nb_tx_data > 0U ; nb_tx_data--)
ARM GAS  /tmp/ccVmA0m0.s 			page 76


4029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
4030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if (huart->TxXferCount == 0U)
4031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
4032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Disable the TX FIFO threshold interrupt */
4033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE);
4034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Enable the UART Transmit Complete Interrupt */
4036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
4037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break; /* force exit loop */
4039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
4040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       else if (READ_BIT(huart->Instance->ISR, USART_ISR_TXE_TXFNF) != 0U)
4041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
4042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->Instance->TDR = (uint8_t)(*huart->pTxBuffPtr & (uint8_t)0xFF);
4043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->pTxBuffPtr++;
4044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->TxXferCount--;
4045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
4046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       else
4047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
4048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Nothing to do */
4049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
4050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
4051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
4052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
 243              		.loc 1 4052 0
 244 0008 7047     		bx	lr
 245              	.L21:
4028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 246              		.loc 1 4028 0
 247 000a B0F86A30 		ldrh	r3, [r0, #106]
 248              	.LVL8:
 249 000e 0CE0     		b	.L17
 250              	.L22:
4033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 251              		.loc 1 4033 0
 252 0010 0268     		ldr	r2, [r0]
 253 0012 9368     		ldr	r3, [r2, #8]
 254              	.LVL9:
 255 0014 23F40003 		bic	r3, r3, #8388608
 256 0018 9360     		str	r3, [r2, #8]
4036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 257              		.loc 1 4036 0
 258 001a 0268     		ldr	r2, [r0]
 259 001c 1368     		ldr	r3, [r2]
 260 001e 43F04003 		orr	r3, r3, #64
 261 0022 1360     		str	r3, [r2]
4038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
 262              		.loc 1 4038 0
 263 0024 7047     		bx	lr
 264              	.LVL10:
 265              	.L19:
4028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 266              		.loc 1 4028 0 discriminator 2
 267 0026 013B     		subs	r3, r3, #1
 268              	.LVL11:
 269 0028 9BB2     		uxth	r3, r3
 270              	.LVL12:
ARM GAS  /tmp/ccVmA0m0.s 			page 77


 271              	.L17:
4028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 272              		.loc 1 4028 0 is_stmt 0 discriminator 1
 273 002a 002B     		cmp	r3, #0
 274 002c ECD0     		beq	.L15
4030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 275              		.loc 1 4030 0 is_stmt 1
 276 002e B0F85620 		ldrh	r2, [r0, #86]
 277 0032 92B2     		uxth	r2, r2
 278 0034 002A     		cmp	r2, #0
 279 0036 EBD0     		beq	.L22
4040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 280              		.loc 1 4040 0
 281 0038 0268     		ldr	r2, [r0]
 282 003a D169     		ldr	r1, [r2, #28]
 283 003c 11F0800F 		tst	r1, #128
 284 0040 F1D0     		beq	.L19
4042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->pTxBuffPtr++;
 285              		.loc 1 4042 0
 286 0042 016D     		ldr	r1, [r0, #80]
 287 0044 0978     		ldrb	r1, [r1]	@ zero_extendqisi2
 288 0046 9162     		str	r1, [r2, #40]
4043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->TxXferCount--;
 289              		.loc 1 4043 0
 290 0048 026D     		ldr	r2, [r0, #80]
 291 004a 0132     		adds	r2, r2, #1
 292 004c 0265     		str	r2, [r0, #80]
4044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
 293              		.loc 1 4044 0
 294 004e B0F85620 		ldrh	r2, [r0, #86]
 295 0052 013A     		subs	r2, r2, #1
 296 0054 92B2     		uxth	r2, r2
 297 0056 A0F85620 		strh	r2, [r0, #86]	@ movhi
 298 005a E4E7     		b	.L19
 299              		.cfi_endproc
 300              	.LFE195:
 302              		.section	.text.UART_TxISR_16BIT_FIFOEN,"ax",%progbits
 303              		.align	1
 304              		.syntax unified
 305              		.thumb
 306              		.thumb_func
 307              		.fpu fpv4-sp-d16
 309              	UART_TxISR_16BIT_FIFOEN:
 310              	.LFB196:
4053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
4055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief TX interrupt handler for 9 bits data word length and FIFO mode is enabled.
4056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note   Function is called under interruption only, once
4057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         interruptions have been enabled by HAL_UART_Transmit_IT().
4058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param huart UART handle.
4059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
4060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
4061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_TxISR_16BIT_FIFOEN(UART_HandleTypeDef *huart)
4062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
 311              		.loc 1 4062 0
 312              		.cfi_startproc
 313              		@ args = 0, pretend = 0, frame = 0
ARM GAS  /tmp/ccVmA0m0.s 			page 78


 314              		@ frame_needed = 0, uses_anonymous_args = 0
 315              		@ link register save eliminated.
 316              	.LVL13:
4063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint16_t *tmp;
4064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint16_t  nb_tx_data;
4065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check that a Tx process is ongoing */
4067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->gState == HAL_UART_STATE_BUSY_TX)
 317              		.loc 1 4067 0
 318 0000 D0F88430 		ldr	r3, [r0, #132]
 319 0004 212B     		cmp	r3, #33
 320 0006 00D0     		beq	.L29
 321              	.L23:
4068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
4069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     for (nb_tx_data = huart->NbTxDataToProcess ; nb_tx_data > 0U ; nb_tx_data--)
4070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
4071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if (huart->TxXferCount == 0U)
4072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
4073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Disable the TX FIFO threshold interrupt */
4074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE);
4075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Enable the UART Transmit Complete Interrupt */
4077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
4078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break; /* force exit loop */
4080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
4081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       else if (READ_BIT(huart->Instance->ISR, USART_ISR_TXE_TXFNF) != 0U)
4082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
4083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         tmp = (uint16_t *) huart->pTxBuffPtr;
4084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL);
4085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->pTxBuffPtr += 2U;
4086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->TxXferCount--;
4087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
4088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       else
4089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
4090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Nothing to do */
4091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
4092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
4093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
4094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
 322              		.loc 1 4094 0
 323 0008 7047     		bx	lr
 324              	.L29:
4069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 325              		.loc 1 4069 0
 326 000a B0F86A30 		ldrh	r3, [r0, #106]
 327              	.LVL14:
 328 000e 0CE0     		b	.L25
 329              	.L30:
4074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 330              		.loc 1 4074 0
 331 0010 0268     		ldr	r2, [r0]
 332 0012 9368     		ldr	r3, [r2, #8]
 333              	.LVL15:
 334 0014 23F40003 		bic	r3, r3, #8388608
 335 0018 9360     		str	r3, [r2, #8]
4077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
ARM GAS  /tmp/ccVmA0m0.s 			page 79


 336              		.loc 1 4077 0
 337 001a 0268     		ldr	r2, [r0]
 338 001c 1368     		ldr	r3, [r2]
 339 001e 43F04003 		orr	r3, r3, #64
 340 0022 1360     		str	r3, [r2]
4079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
 341              		.loc 1 4079 0
 342 0024 7047     		bx	lr
 343              	.LVL16:
 344              	.L27:
4069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 345              		.loc 1 4069 0 discriminator 2
 346 0026 013B     		subs	r3, r3, #1
 347              	.LVL17:
 348 0028 9BB2     		uxth	r3, r3
 349              	.LVL18:
 350              	.L25:
4069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 351              		.loc 1 4069 0 is_stmt 0 discriminator 1
 352 002a 002B     		cmp	r3, #0
 353 002c ECD0     		beq	.L23
4071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 354              		.loc 1 4071 0 is_stmt 1
 355 002e B0F85620 		ldrh	r2, [r0, #86]
 356 0032 92B2     		uxth	r2, r2
 357 0034 002A     		cmp	r2, #0
 358 0036 EBD0     		beq	.L30
4081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 359              		.loc 1 4081 0
 360 0038 0268     		ldr	r2, [r0]
 361 003a D169     		ldr	r1, [r2, #28]
 362 003c 11F0800F 		tst	r1, #128
 363 0040 F1D0     		beq	.L27
4083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL);
 364              		.loc 1 4083 0
 365 0042 016D     		ldr	r1, [r0, #80]
 366              	.LVL19:
4084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->pTxBuffPtr += 2U;
 367              		.loc 1 4084 0
 368 0044 0988     		ldrh	r1, [r1]
 369              	.LVL20:
 370 0046 C1F30801 		ubfx	r1, r1, #0, #9
 371 004a 9162     		str	r1, [r2, #40]
 372              	.LVL21:
4085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->TxXferCount--;
 373              		.loc 1 4085 0
 374 004c 026D     		ldr	r2, [r0, #80]
 375 004e 0232     		adds	r2, r2, #2
 376 0050 0265     		str	r2, [r0, #80]
4086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
 377              		.loc 1 4086 0
 378 0052 B0F85620 		ldrh	r2, [r0, #86]
 379 0056 013A     		subs	r2, r2, #1
 380 0058 92B2     		uxth	r2, r2
 381 005a A0F85620 		strh	r2, [r0, #86]	@ movhi
 382 005e E2E7     		b	.L27
 383              		.cfi_endproc
ARM GAS  /tmp/ccVmA0m0.s 			page 80


 384              	.LFE196:
 386              		.section	.text.HAL_UART_MspInit,"ax",%progbits
 387              		.align	1
 388              		.weak	HAL_UART_MspInit
 389              		.syntax unified
 390              		.thumb
 391              		.thumb_func
 392              		.fpu fpv4-sp-d16
 394              	HAL_UART_MspInit:
 395              	.LFB137:
 671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
 396              		.loc 1 671 0
 397              		.cfi_startproc
 398              		@ args = 0, pretend = 0, frame = 0
 399              		@ frame_needed = 0, uses_anonymous_args = 0
 400              		@ link register save eliminated.
 401              	.LVL22:
 678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 402              		.loc 1 678 0
 403 0000 7047     		bx	lr
 404              		.cfi_endproc
 405              	.LFE137:
 407              		.section	.text.HAL_UART_MspDeInit,"ax",%progbits
 408              		.align	1
 409              		.weak	HAL_UART_MspDeInit
 410              		.syntax unified
 411              		.thumb
 412              		.thumb_func
 413              		.fpu fpv4-sp-d16
 415              	HAL_UART_MspDeInit:
 416              	.LFB138:
 686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
 417              		.loc 1 686 0
 418              		.cfi_startproc
 419              		@ args = 0, pretend = 0, frame = 0
 420              		@ frame_needed = 0, uses_anonymous_args = 0
 421              		@ link register save eliminated.
 422              	.LVL23:
 693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 423              		.loc 1 693 0
 424 0000 7047     		bx	lr
 425              		.cfi_endproc
 426              	.LFE138:
 428              		.section	.text.HAL_UART_DeInit,"ax",%progbits
 429              		.align	1
 430              		.global	HAL_UART_DeInit
 431              		.syntax unified
 432              		.thumb
 433              		.thumb_func
 434              		.fpu fpv4-sp-d16
 436              	HAL_UART_DeInit:
 437              	.LFB136:
 625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check the UART handle allocation */
 438              		.loc 1 625 0
 439              		.cfi_startproc
 440              		@ args = 0, pretend = 0, frame = 0
 441              		@ frame_needed = 0, uses_anonymous_args = 0
ARM GAS  /tmp/ccVmA0m0.s 			page 81


 442              	.LVL24:
 627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 443              		.loc 1 627 0
 444 0000 E8B1     		cbz	r0, .L35
 625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check the UART handle allocation */
 445              		.loc 1 625 0
 446 0002 38B5     		push	{r3, r4, r5, lr}
 447              	.LCFI0:
 448              		.cfi_def_cfa_offset 16
 449              		.cfi_offset 3, -16
 450              		.cfi_offset 4, -12
 451              		.cfi_offset 5, -8
 452              		.cfi_offset 14, -4
 453 0004 0446     		mov	r4, r0
 635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 454              		.loc 1 635 0
 455 0006 2423     		movs	r3, #36
 456 0008 C0F88430 		str	r3, [r0, #132]
 637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 457              		.loc 1 637 0
 458 000c 0268     		ldr	r2, [r0]
 459 000e 1368     		ldr	r3, [r2]
 460 0010 23F00103 		bic	r3, r3, #1
 461 0014 1360     		str	r3, [r2]
 639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->Instance->CR2 = 0x0U;
 462              		.loc 1 639 0
 463 0016 0368     		ldr	r3, [r0]
 464 0018 0025     		movs	r5, #0
 465 001a 1D60     		str	r5, [r3]
 640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->Instance->CR3 = 0x0U;
 466              		.loc 1 640 0
 467 001c 0368     		ldr	r3, [r0]
 468 001e 5D60     		str	r5, [r3, #4]
 641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 469              		.loc 1 641 0
 470 0020 0368     		ldr	r3, [r0]
 471 0022 9D60     		str	r5, [r3, #8]
 652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
 472              		.loc 1 652 0
 473 0024 FFF7FEFF 		bl	HAL_UART_MspDeInit
 474              	.LVL25:
 655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_RESET;
 475              		.loc 1 655 0
 476 0028 C4F88C50 		str	r5, [r4, #140]
 656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_RESET;
 477              		.loc 1 656 0
 478 002c C4F88450 		str	r5, [r4, #132]
 657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
 479              		.loc 1 657 0
 480 0030 C4F88850 		str	r5, [r4, #136]
 658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 481              		.loc 1 658 0
 482 0034 E566     		str	r5, [r4, #108]
 660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 483              		.loc 1 660 0
 484 0036 84F88050 		strb	r5, [r4, #128]
 662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
ARM GAS  /tmp/ccVmA0m0.s 			page 82


 485              		.loc 1 662 0
 486 003a 2846     		mov	r0, r5
 663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 487              		.loc 1 663 0
 488 003c 38BD     		pop	{r3, r4, r5, pc}
 489              	.LVL26:
 490              	.L35:
 491              	.LCFI1:
 492              		.cfi_def_cfa_offset 0
 493              		.cfi_restore 3
 494              		.cfi_restore 4
 495              		.cfi_restore 5
 496              		.cfi_restore 14
 629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 497              		.loc 1 629 0
 498 003e 0120     		movs	r0, #1
 499              	.LVL27:
 663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 500              		.loc 1 663 0
 501 0040 7047     		bx	lr
 502              		.cfi_endproc
 503              	.LFE136:
 505              		.section	.text.HAL_UART_Transmit_IT,"ax",%progbits
 506              		.align	1
 507              		.global	HAL_UART_Transmit_IT
 508              		.syntax unified
 509              		.thumb
 510              		.thumb_func
 511              		.fpu fpv4-sp-d16
 513              	HAL_UART_Transmit_IT:
 514              	.LFB141:
1297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check that a Tx process is not already ongoing */
 515              		.loc 1 1297 0
 516              		.cfi_startproc
 517              		@ args = 0, pretend = 0, frame = 0
 518              		@ frame_needed = 0, uses_anonymous_args = 0
 519              		@ link register save eliminated.
 520              	.LVL28:
1299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 521              		.loc 1 1299 0
 522 0000 D0F88430 		ldr	r3, [r0, #132]
 523 0004 202B     		cmp	r3, #32
 524 0006 46D1     		bne	.L47
1301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 525              		.loc 1 1301 0
 526 0008 0029     		cmp	r1, #0
 527 000a 46D0     		beq	.L48
1301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 528              		.loc 1 1301 0 is_stmt 0 discriminator 1
 529 000c 002A     		cmp	r2, #0
 530 000e 46D0     		beq	.L49
1306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 531              		.loc 1 1306 0 is_stmt 1
 532 0010 90F88030 		ldrb	r3, [r0, #128]	@ zero_extendqisi2
 533 0014 012B     		cmp	r3, #1
 534 0016 44D0     		beq	.L50
1306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
ARM GAS  /tmp/ccVmA0m0.s 			page 83


 535              		.loc 1 1306 0 is_stmt 0 discriminator 2
 536 0018 0123     		movs	r3, #1
 537 001a 80F88030 		strb	r3, [r0, #128]
1308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->TxXferSize  = Size;
 538              		.loc 1 1308 0 is_stmt 1 discriminator 2
 539 001e 0165     		str	r1, [r0, #80]
1309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->TxXferCount = Size;
 540              		.loc 1 1309 0 discriminator 2
 541 0020 A0F85420 		strh	r2, [r0, #84]	@ movhi
1310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->TxISR       = NULL;
 542              		.loc 1 1310 0 discriminator 2
 543 0024 A0F85620 		strh	r2, [r0, #86]	@ movhi
1311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 544              		.loc 1 1311 0 discriminator 2
 545 0028 0023     		movs	r3, #0
 546 002a 4367     		str	r3, [r0, #116]
1313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->gState = HAL_UART_STATE_BUSY_TX;
 547              		.loc 1 1313 0 discriminator 2
 548 002c C0F88C30 		str	r3, [r0, #140]
1314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 549              		.loc 1 1314 0 discriminator 2
 550 0030 2123     		movs	r3, #33
 551 0032 C0F88430 		str	r3, [r0, #132]
1317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 552              		.loc 1 1317 0 discriminator 2
 553 0036 436E     		ldr	r3, [r0, #100]
 554 0038 B3F1005F 		cmp	r3, #536870912
 555 003c 0FD0     		beq	.L51
1337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 556              		.loc 1 1337 0
 557 003e 8368     		ldr	r3, [r0, #8]
 558 0040 B3F5805F 		cmp	r3, #4096
 559 0044 21D0     		beq	.L52
 560              	.L45:
1343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
 561              		.loc 1 1343 0
 562 0046 184B     		ldr	r3, .L54
 563 0048 4367     		str	r3, [r0, #116]
 564              	.L46:
1346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 565              		.loc 1 1346 0
 566 004a 0023     		movs	r3, #0
 567 004c 80F88030 		strb	r3, [r0, #128]
1349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 568              		.loc 1 1349 0
 569 0050 0168     		ldr	r1, [r0]
 570              	.LVL29:
 571 0052 0A68     		ldr	r2, [r1]
 572              	.LVL30:
 573 0054 42F08002 		orr	r2, r2, #128
 574 0058 0A60     		str	r2, [r1]
 575              	.LVL31:
1352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 576              		.loc 1 1352 0
 577 005a 1846     		mov	r0, r3
 578              	.LVL32:
 579 005c 7047     		bx	lr
ARM GAS  /tmp/ccVmA0m0.s 			page 84


 580              	.LVL33:
 581              	.L51:
1320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 582              		.loc 1 1320 0
 583 005e 8368     		ldr	r3, [r0, #8]
 584 0060 B3F5805F 		cmp	r3, #4096
 585 0064 0BD0     		beq	.L53
 586              	.L43:
1326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
 587              		.loc 1 1326 0
 588 0066 114B     		ldr	r3, .L54+4
 589 0068 4367     		str	r3, [r0, #116]
 590              	.L44:
1329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 591              		.loc 1 1329 0
 592 006a 0023     		movs	r3, #0
 593 006c 80F88030 		strb	r3, [r0, #128]
1332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 594              		.loc 1 1332 0
 595 0070 0168     		ldr	r1, [r0]
 596              	.LVL34:
 597 0072 8A68     		ldr	r2, [r1, #8]
 598              	.LVL35:
 599 0074 42F40002 		orr	r2, r2, #8388608
 600 0078 8A60     		str	r2, [r1, #8]
 601              	.LVL36:
1352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 602              		.loc 1 1352 0
 603 007a 1846     		mov	r0, r3
 604              	.LVL37:
 605 007c 7047     		bx	lr
 606              	.LVL38:
 607              	.L53:
1320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 608              		.loc 1 1320 0 discriminator 1
 609 007e 0369     		ldr	r3, [r0, #16]
 610 0080 002B     		cmp	r3, #0
 611 0082 F0D1     		bne	.L43
1322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
 612              		.loc 1 1322 0
 613 0084 0A4B     		ldr	r3, .L54+8
 614 0086 4367     		str	r3, [r0, #116]
 615 0088 EFE7     		b	.L44
 616              	.L52:
1337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 617              		.loc 1 1337 0 discriminator 1
 618 008a 0369     		ldr	r3, [r0, #16]
 619 008c 002B     		cmp	r3, #0
 620 008e DAD1     		bne	.L45
1339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
 621              		.loc 1 1339 0
 622 0090 084B     		ldr	r3, .L54+12
 623 0092 4367     		str	r3, [r0, #116]
 624 0094 D9E7     		b	.L46
 625              	.L47:
1356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 626              		.loc 1 1356 0
ARM GAS  /tmp/ccVmA0m0.s 			page 85


 627 0096 0220     		movs	r0, #2
 628              	.LVL39:
 629 0098 7047     		bx	lr
 630              	.LVL40:
 631              	.L48:
1303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 632              		.loc 1 1303 0
 633 009a 0120     		movs	r0, #1
 634              	.LVL41:
 635 009c 7047     		bx	lr
 636              	.LVL42:
 637              	.L49:
 638 009e 0120     		movs	r0, #1
 639              	.LVL43:
 640 00a0 7047     		bx	lr
 641              	.LVL44:
 642              	.L50:
1306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 643              		.loc 1 1306 0
 644 00a2 0220     		movs	r0, #2
 645              	.LVL45:
1358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 646              		.loc 1 1358 0
 647 00a4 7047     		bx	lr
 648              	.L55:
 649 00a6 00BF     		.align	2
 650              	.L54:
 651 00a8 00000000 		.word	UART_TxISR_8BIT
 652 00ac 00000000 		.word	UART_TxISR_8BIT_FIFOEN
 653 00b0 00000000 		.word	UART_TxISR_16BIT_FIFOEN
 654 00b4 00000000 		.word	UART_TxISR_16BIT
 655              		.cfi_endproc
 656              	.LFE141:
 658              		.section	.text.HAL_UART_Transmit_DMA,"ax",%progbits
 659              		.align	1
 660              		.global	HAL_UART_Transmit_DMA
 661              		.syntax unified
 662              		.thumb
 663              		.thumb_func
 664              		.fpu fpv4-sp-d16
 666              	HAL_UART_Transmit_DMA:
 667              	.LFB143:
1414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check that a Tx process is not already ongoing */
 668              		.loc 1 1414 0
 669              		.cfi_startproc
 670              		@ args = 0, pretend = 0, frame = 0
 671              		@ frame_needed = 0, uses_anonymous_args = 0
 672              	.LVL46:
 673 0000 10B5     		push	{r4, lr}
 674              	.LCFI2:
 675              		.cfi_def_cfa_offset 8
 676              		.cfi_offset 4, -8
 677              		.cfi_offset 14, -4
1416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 678              		.loc 1 1416 0
 679 0002 D0F88440 		ldr	r4, [r0, #132]
 680 0006 202C     		cmp	r4, #32
ARM GAS  /tmp/ccVmA0m0.s 			page 86


 681 0008 42D1     		bne	.L59
1418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 682              		.loc 1 1418 0
 683 000a 0029     		cmp	r1, #0
 684 000c 42D0     		beq	.L60
1418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 685              		.loc 1 1418 0 is_stmt 0 discriminator 1
 686 000e 002A     		cmp	r2, #0
 687 0010 42D0     		beq	.L61
1423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 688              		.loc 1 1423 0 is_stmt 1
 689 0012 90F88030 		ldrb	r3, [r0, #128]	@ zero_extendqisi2
 690 0016 012B     		cmp	r3, #1
 691 0018 40D0     		beq	.L62
 692 001a 1346     		mov	r3, r2
 693 001c 0446     		mov	r4, r0
1423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 694              		.loc 1 1423 0 is_stmt 0 discriminator 2
 695 001e 0122     		movs	r2, #1
 696              	.LVL47:
 697 0020 80F88020 		strb	r2, [r0, #128]
1425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->TxXferSize  = Size;
 698              		.loc 1 1425 0 is_stmt 1 discriminator 2
 699 0024 0165     		str	r1, [r0, #80]
1426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->TxXferCount = Size;
 700              		.loc 1 1426 0 discriminator 2
 701 0026 A0F85430 		strh	r3, [r0, #84]	@ movhi
1427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 702              		.loc 1 1427 0 discriminator 2
 703 002a A0F85630 		strh	r3, [r0, #86]	@ movhi
1429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->gState = HAL_UART_STATE_BUSY_TX;
 704              		.loc 1 1429 0 discriminator 2
 705 002e 0022     		movs	r2, #0
 706 0030 C0F88C20 		str	r2, [r0, #140]
1430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 707              		.loc 1 1430 0 discriminator 2
 708 0034 2122     		movs	r2, #33
 709 0036 C0F88420 		str	r2, [r0, #132]
1432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 710              		.loc 1 1432 0 discriminator 2
 711 003a 826F     		ldr	r2, [r0, #120]
 712 003c 8AB1     		cbz	r2, .L58
1435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 713              		.loc 1 1435 0
 714 003e 1849     		ldr	r1, .L65
 715              	.LVL48:
 716 0040 D162     		str	r1, [r2, #44]
 717              	.LVL49:
1438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 718              		.loc 1 1438 0
 719 0042 826F     		ldr	r2, [r0, #120]
 720 0044 1749     		ldr	r1, .L65+4
 721 0046 1163     		str	r1, [r2, #48]
1441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 722              		.loc 1 1441 0
 723 0048 826F     		ldr	r2, [r0, #120]
 724 004a 1749     		ldr	r1, .L65+8
ARM GAS  /tmp/ccVmA0m0.s 			page 87


 725 004c 5163     		str	r1, [r2, #52]
1444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 726              		.loc 1 1444 0
 727 004e 826F     		ldr	r2, [r0, #120]
 728 0050 0021     		movs	r1, #0
 729 0052 9163     		str	r1, [r2, #56]
1447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 730              		.loc 1 1447 0
 731 0054 0268     		ldr	r2, [r0]
 732 0056 2832     		adds	r2, r2, #40
 733 0058 016D     		ldr	r1, [r0, #80]
 734 005a 806F     		ldr	r0, [r0, #120]
 735              	.LVL50:
 736 005c FFF7FEFF 		bl	HAL_DMA_Start_IT
 737              	.LVL51:
 738 0060 58B9     		cbnz	r0, .L64
 739              	.L58:
1461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 740              		.loc 1 1461 0
 741 0062 2368     		ldr	r3, [r4]
 742 0064 4022     		movs	r2, #64
 743 0066 1A62     		str	r2, [r3, #32]
1463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 744              		.loc 1 1463 0
 745 0068 0020     		movs	r0, #0
 746 006a 84F88000 		strb	r0, [r4, #128]
1467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 747              		.loc 1 1467 0
 748 006e 2268     		ldr	r2, [r4]
 749 0070 9368     		ldr	r3, [r2, #8]
 750 0072 43F08003 		orr	r3, r3, #128
 751 0076 9360     		str	r3, [r2, #8]
1469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 752              		.loc 1 1469 0
 753 0078 0BE0     		b	.L57
 754              	.L64:
1450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 755              		.loc 1 1450 0
 756 007a 1023     		movs	r3, #16
 757 007c C4F88C30 		str	r3, [r4, #140]
1452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 758              		.loc 1 1452 0
 759 0080 0023     		movs	r3, #0
 760 0082 84F88030 		strb	r3, [r4, #128]
1455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 761              		.loc 1 1455 0
 762 0086 2023     		movs	r3, #32
 763 0088 C4F88430 		str	r3, [r4, #132]
1457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
 764              		.loc 1 1457 0
 765 008c 0120     		movs	r0, #1
 766 008e 00E0     		b	.L57
 767              	.LVL52:
 768              	.L59:
1473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 769              		.loc 1 1473 0
 770 0090 0220     		movs	r0, #2
ARM GAS  /tmp/ccVmA0m0.s 			page 88


 771              	.LVL53:
 772              	.L57:
1475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 773              		.loc 1 1475 0
 774 0092 10BD     		pop	{r4, pc}
 775              	.LVL54:
 776              	.L60:
1420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 777              		.loc 1 1420 0
 778 0094 0120     		movs	r0, #1
 779              	.LVL55:
 780 0096 FCE7     		b	.L57
 781              	.LVL56:
 782              	.L61:
 783 0098 0120     		movs	r0, #1
 784              	.LVL57:
 785 009a FAE7     		b	.L57
 786              	.LVL58:
 787              	.L62:
1423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 788              		.loc 1 1423 0
 789 009c 0220     		movs	r0, #2
 790              	.LVL59:
 791 009e F8E7     		b	.L57
 792              	.L66:
 793              		.align	2
 794              	.L65:
 795 00a0 00000000 		.word	UART_DMATransmitCplt
 796 00a4 00000000 		.word	UART_DMATxHalfCplt
 797 00a8 00000000 		.word	UART_DMAError
 798              		.cfi_endproc
 799              	.LFE143:
 801              		.section	.text.HAL_UART_DMAPause,"ax",%progbits
 802              		.align	1
 803              		.global	HAL_UART_DMAPause
 804              		.syntax unified
 805              		.thumb
 806              		.thumb_func
 807              		.fpu fpv4-sp-d16
 809              	HAL_UART_DMAPause:
 810              	.LFB145:
1528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   const HAL_UART_StateTypeDef gstate = huart->gState;
 811              		.loc 1 1528 0
 812              		.cfi_startproc
 813              		@ args = 0, pretend = 0, frame = 0
 814              		@ frame_needed = 0, uses_anonymous_args = 0
 815              		@ link register save eliminated.
 816              	.LVL60:
 817 0000 10B4     		push	{r4}
 818              	.LCFI3:
 819              		.cfi_def_cfa_offset 4
 820              		.cfi_offset 4, -4
1529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   const HAL_UART_StateTypeDef rxstate = huart->RxState;
 821              		.loc 1 1529 0
 822 0002 D0F88440 		ldr	r4, [r0, #132]
 823              	.LVL61:
1530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
ARM GAS  /tmp/ccVmA0m0.s 			page 89


 824              		.loc 1 1530 0
 825 0006 D0F88810 		ldr	r1, [r0, #136]
 826              	.LVL62:
1532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 827              		.loc 1 1532 0
 828 000a 90F88030 		ldrb	r3, [r0, #128]	@ zero_extendqisi2
 829 000e 012B     		cmp	r3, #1
 830 0010 2BD0     		beq	.L71
1532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 831              		.loc 1 1532 0 is_stmt 0 discriminator 2
 832 0012 0123     		movs	r3, #1
 833 0014 80F88030 		strb	r3, [r0, #128]
1534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       (gstate == HAL_UART_STATE_BUSY_TX))
 834              		.loc 1 1534 0 is_stmt 1 discriminator 2
 835 0018 0368     		ldr	r3, [r0]
 836 001a 9A68     		ldr	r2, [r3, #8]
 837 001c 12F0800F 		tst	r2, #128
 838 0020 01D0     		beq	.L69
1534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       (gstate == HAL_UART_STATE_BUSY_TX))
 839              		.loc 1 1534 0 is_stmt 0 discriminator 1
 840 0022 212C     		cmp	r4, #33
 841 0024 0DD0     		beq	.L73
 842              	.L69:
1540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       (rxstate == HAL_UART_STATE_BUSY_RX))
 843              		.loc 1 1540 0 is_stmt 1
 844 0026 0368     		ldr	r3, [r0]
 845 0028 9A68     		ldr	r2, [r3, #8]
 846 002a 12F0400F 		tst	r2, #64
 847 002e 01D0     		beq	.L70
1540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       (rxstate == HAL_UART_STATE_BUSY_RX))
 848              		.loc 1 1540 0 is_stmt 0 discriminator 1
 849 0030 2229     		cmp	r1, #34
 850 0032 0BD0     		beq	.L74
 851              	.L70:
1551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 852              		.loc 1 1551 0 is_stmt 1
 853 0034 0023     		movs	r3, #0
 854 0036 80F88030 		strb	r3, [r0, #128]
1553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
 855              		.loc 1 1553 0
 856 003a 1846     		mov	r0, r3
 857              	.LVL63:
 858              	.L68:
1554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 859              		.loc 1 1554 0
 860 003c 5DF8044B 		ldr	r4, [sp], #4
 861              	.LCFI4:
 862              		.cfi_remember_state
 863              		.cfi_restore 4
 864              		.cfi_def_cfa_offset 0
 865              	.LVL64:
 866 0040 7047     		bx	lr
 867              	.LVL65:
 868              	.L73:
 869              	.LCFI5:
 870              		.cfi_restore_state
1538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
ARM GAS  /tmp/ccVmA0m0.s 			page 90


 871              		.loc 1 1538 0
 872 0042 9A68     		ldr	r2, [r3, #8]
 873 0044 22F08002 		bic	r2, r2, #128
 874 0048 9A60     		str	r2, [r3, #8]
 875 004a ECE7     		b	.L69
 876              	.L74:
1544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
 877              		.loc 1 1544 0
 878 004c 1A68     		ldr	r2, [r3]
 879 004e 22F48072 		bic	r2, r2, #256
 880 0052 1A60     		str	r2, [r3]
1545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 881              		.loc 1 1545 0
 882 0054 0268     		ldr	r2, [r0]
 883 0056 9368     		ldr	r3, [r2, #8]
 884 0058 23F00103 		bic	r3, r3, #1
 885 005c 9360     		str	r3, [r2, #8]
1548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 886              		.loc 1 1548 0
 887 005e 0268     		ldr	r2, [r0]
 888 0060 9368     		ldr	r3, [r2, #8]
 889 0062 23F04003 		bic	r3, r3, #64
 890 0066 9360     		str	r3, [r2, #8]
 891 0068 E4E7     		b	.L70
 892              	.L71:
1532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 893              		.loc 1 1532 0
 894 006a 0220     		movs	r0, #2
 895              	.LVL66:
 896 006c E6E7     		b	.L68
 897              		.cfi_endproc
 898              	.LFE145:
 900              		.section	.text.HAL_UART_DMAResume,"ax",%progbits
 901              		.align	1
 902              		.global	HAL_UART_DMAResume
 903              		.syntax unified
 904              		.thumb
 905              		.thumb_func
 906              		.fpu fpv4-sp-d16
 908              	HAL_UART_DMAResume:
 909              	.LFB146:
1562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_LOCK(huart);
 910              		.loc 1 1562 0
 911              		.cfi_startproc
 912              		@ args = 0, pretend = 0, frame = 0
 913              		@ frame_needed = 0, uses_anonymous_args = 0
 914              		@ link register save eliminated.
 915              	.LVL67:
1563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 916              		.loc 1 1563 0
 917 0000 90F88030 		ldrb	r3, [r0, #128]	@ zero_extendqisi2
 918 0004 012B     		cmp	r3, #1
 919 0006 28D0     		beq	.L79
1563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 920              		.loc 1 1563 0 is_stmt 0 discriminator 2
 921 0008 0123     		movs	r3, #1
 922 000a 80F88030 		strb	r3, [r0, #128]
ARM GAS  /tmp/ccVmA0m0.s 			page 91


1565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 923              		.loc 1 1565 0 is_stmt 1 discriminator 2
 924 000e D0F88430 		ldr	r3, [r0, #132]
 925 0012 212B     		cmp	r3, #33
 926 0014 08D0     		beq	.L80
 927              	.L77:
1570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 928              		.loc 1 1570 0
 929 0016 D0F88830 		ldr	r3, [r0, #136]
 930 001a 222B     		cmp	r3, #34
 931 001c 0AD0     		beq	.L81
 932              	.L78:
1583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 933              		.loc 1 1583 0
 934 001e 0023     		movs	r3, #0
 935 0020 80F88030 		strb	r3, [r0, #128]
1585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
 936              		.loc 1 1585 0
 937 0024 1846     		mov	r0, r3
 938              	.LVL68:
 939 0026 7047     		bx	lr
 940              	.LVL69:
 941              	.L80:
1568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 942              		.loc 1 1568 0
 943 0028 0268     		ldr	r2, [r0]
 944 002a 9368     		ldr	r3, [r2, #8]
 945 002c 43F08003 		orr	r3, r3, #128
 946 0030 9360     		str	r3, [r2, #8]
 947 0032 F0E7     		b	.L77
 948              	.L81:
1573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 949              		.loc 1 1573 0
 950 0034 0368     		ldr	r3, [r0]
 951 0036 0822     		movs	r2, #8
 952 0038 1A62     		str	r2, [r3, #32]
1576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
 953              		.loc 1 1576 0
 954 003a 0268     		ldr	r2, [r0]
 955 003c 1368     		ldr	r3, [r2]
 956 003e 43F48073 		orr	r3, r3, #256
 957 0042 1360     		str	r3, [r2]
1577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 958              		.loc 1 1577 0
 959 0044 0268     		ldr	r2, [r0]
 960 0046 9368     		ldr	r3, [r2, #8]
 961 0048 43F00103 		orr	r3, r3, #1
 962 004c 9360     		str	r3, [r2, #8]
1580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 963              		.loc 1 1580 0
 964 004e 0268     		ldr	r2, [r0]
 965 0050 9368     		ldr	r3, [r2, #8]
 966 0052 43F04003 		orr	r3, r3, #64
 967 0056 9360     		str	r3, [r2, #8]
 968 0058 E1E7     		b	.L78
 969              	.L79:
1563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
ARM GAS  /tmp/ccVmA0m0.s 			page 92


 970              		.loc 1 1563 0
 971 005a 0220     		movs	r0, #2
 972              	.LVL70:
1586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 973              		.loc 1 1586 0
 974 005c 7047     		bx	lr
 975              		.cfi_endproc
 976              	.LFE146:
 978              		.section	.text.HAL_UART_DMAStop,"ax",%progbits
 979              		.align	1
 980              		.global	HAL_UART_DMAStop
 981              		.syntax unified
 982              		.thumb
 983              		.thumb_func
 984              		.fpu fpv4-sp-d16
 986              	HAL_UART_DMAStop:
 987              	.LFB147:
1594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* The Lock is not implemented on this API to allow the user application
 988              		.loc 1 1594 0
 989              		.cfi_startproc
 990              		@ args = 0, pretend = 0, frame = 0
 991              		@ frame_needed = 0, uses_anonymous_args = 0
 992              	.LVL71:
 993 0000 38B5     		push	{r3, r4, r5, lr}
 994              	.LCFI6:
 995              		.cfi_def_cfa_offset 16
 996              		.cfi_offset 3, -16
 997              		.cfi_offset 4, -12
 998              		.cfi_offset 5, -8
 999              		.cfi_offset 14, -4
 1000 0002 0446     		mov	r4, r0
1602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   const HAL_UART_StateTypeDef rxstate = huart->RxState;
 1001              		.loc 1 1602 0
 1002 0004 D0F88410 		ldr	r1, [r0, #132]
 1003              	.LVL72:
1603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1004              		.loc 1 1603 0
 1005 0008 D0F88850 		ldr	r5, [r0, #136]
 1006              	.LVL73:
1606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       (gstate == HAL_UART_STATE_BUSY_TX))
 1007              		.loc 1 1606 0
 1008 000c 0368     		ldr	r3, [r0]
 1009 000e 9A68     		ldr	r2, [r3, #8]
 1010 0010 12F0800F 		tst	r2, #128
 1011 0014 01D0     		beq	.L83
1606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       (gstate == HAL_UART_STATE_BUSY_TX))
 1012              		.loc 1 1606 0 is_stmt 0 discriminator 1
 1013 0016 2129     		cmp	r1, #33
 1014 0018 08D0     		beq	.L90
 1015              	.LVL74:
 1016              	.L83:
1630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       (rxstate == HAL_UART_STATE_BUSY_RX))
 1017              		.loc 1 1630 0 is_stmt 1
 1018 001a 2368     		ldr	r3, [r4]
 1019 001c 9A68     		ldr	r2, [r3, #8]
 1020 001e 12F0400F 		tst	r2, #64
 1021 0022 32D0     		beq	.L87
ARM GAS  /tmp/ccVmA0m0.s 			page 93


1630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       (rxstate == HAL_UART_STATE_BUSY_RX))
 1022              		.loc 1 1630 0 is_stmt 0 discriminator 1
 1023 0024 222D     		cmp	r5, #34
 1024 0026 18D0     		beq	.L91
1653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
 1025              		.loc 1 1653 0 is_stmt 1
 1026 0028 0020     		movs	r0, #0
 1027 002a 2FE0     		b	.L85
 1028              	.LVL75:
 1029              	.L90:
1609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1030              		.loc 1 1609 0
 1031 002c 9A68     		ldr	r2, [r3, #8]
 1032 002e 22F08002 		bic	r2, r2, #128
 1033 0032 9A60     		str	r2, [r3, #8]
1612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 1034              		.loc 1 1612 0
 1035 0034 806F     		ldr	r0, [r0, #120]
 1036              	.LVL76:
 1037 0036 10B1     		cbz	r0, .L84
1614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 1038              		.loc 1 1614 0
 1039 0038 FFF7FEFF 		bl	HAL_DMA_Abort
 1040              	.LVL77:
 1041 003c 18B9     		cbnz	r0, .L92
 1042              	.L84:
1626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 1043              		.loc 1 1626 0
 1044 003e 2046     		mov	r0, r4
 1045 0040 FFF7FEFF 		bl	UART_EndTxTransfer
 1046              	.LVL78:
 1047 0044 E9E7     		b	.L83
 1048              	.L92:
1616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
 1049              		.loc 1 1616 0
 1050 0046 A06F     		ldr	r0, [r4, #120]
 1051 0048 FFF7FEFF 		bl	HAL_DMA_GetError
 1052              	.LVL79:
 1053 004c 2028     		cmp	r0, #32
 1054 004e F6D1     		bne	.L84
1619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1055              		.loc 1 1619 0
 1056 0050 1023     		movs	r3, #16
 1057 0052 C4F88C30 		str	r3, [r4, #140]
1621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
 1058              		.loc 1 1621 0
 1059 0056 0320     		movs	r0, #3
 1060 0058 18E0     		b	.L85
 1061              	.L91:
1633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1062              		.loc 1 1633 0
 1063 005a 9A68     		ldr	r2, [r3, #8]
 1064 005c 22F04002 		bic	r2, r2, #64
 1065 0060 9A60     		str	r2, [r3, #8]
1636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 1066              		.loc 1 1636 0
 1067 0062 E06F     		ldr	r0, [r4, #124]
ARM GAS  /tmp/ccVmA0m0.s 			page 94


 1068 0064 10B1     		cbz	r0, .L86
1638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 1069              		.loc 1 1638 0
 1070 0066 FFF7FEFF 		bl	HAL_DMA_Abort
 1071              	.LVL80:
 1072 006a 20B9     		cbnz	r0, .L93
 1073              	.L86:
1650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 1074              		.loc 1 1650 0
 1075 006c 2046     		mov	r0, r4
 1076 006e FFF7FEFF 		bl	UART_EndRxTransfer
 1077              	.LVL81:
1653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
 1078              		.loc 1 1653 0
 1079 0072 0020     		movs	r0, #0
 1080 0074 0AE0     		b	.L85
 1081              	.L93:
1640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
 1082              		.loc 1 1640 0
 1083 0076 E06F     		ldr	r0, [r4, #124]
 1084 0078 FFF7FEFF 		bl	HAL_DMA_GetError
 1085              	.LVL82:
 1086 007c 2028     		cmp	r0, #32
 1087 007e F5D1     		bne	.L86
1643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1088              		.loc 1 1643 0
 1089 0080 1023     		movs	r3, #16
 1090 0082 C4F88C30 		str	r3, [r4, #140]
1645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
 1091              		.loc 1 1645 0
 1092 0086 0320     		movs	r0, #3
 1093 0088 00E0     		b	.L85
 1094              	.L87:
1653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
 1095              		.loc 1 1653 0
 1096 008a 0020     		movs	r0, #0
 1097              	.L85:
1654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1098              		.loc 1 1654 0
 1099 008c 38BD     		pop	{r3, r4, r5, pc}
 1100              		.cfi_endproc
 1101              	.LFE147:
 1103              		.section	.text.HAL_UART_Abort,"ax",%progbits
 1104              		.align	1
 1105              		.global	HAL_UART_Abort
 1106              		.syntax unified
 1107              		.thumb
 1108              		.thumb_func
 1109              		.fpu fpv4-sp-d16
 1111              	HAL_UART_Abort:
 1112              	.LFB148:
1669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Disable TXE, TC, RXNE, PE, RXFT, TXFT and ERR (Frame error, noise error, overrun error) interr
 1113              		.loc 1 1669 0
 1114              		.cfi_startproc
 1115              		@ args = 0, pretend = 0, frame = 0
 1116              		@ frame_needed = 0, uses_anonymous_args = 0
 1117              	.LVL83:
ARM GAS  /tmp/ccVmA0m0.s 			page 95


 1118 0000 10B5     		push	{r4, lr}
 1119              	.LCFI7:
 1120              		.cfi_def_cfa_offset 8
 1121              		.cfi_offset 4, -8
 1122              		.cfi_offset 14, -4
 1123 0002 0446     		mov	r4, r0
1671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****                                    USART_CR1_TCIE));
 1124              		.loc 1 1671 0
 1125 0004 0268     		ldr	r2, [r0]
 1126 0006 1368     		ldr	r3, [r2]
 1127 0008 23F4F073 		bic	r3, r3, #480
 1128 000c 1360     		str	r3, [r2]
1673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1129              		.loc 1 1673 0
 1130 000e 0268     		ldr	r2, [r0]
 1131 0010 9368     		ldr	r3, [r2, #8]
 1132 0012 23F08453 		bic	r3, r3, #276824064
 1133 0016 23F00103 		bic	r3, r3, #1
 1134 001a 9360     		str	r3, [r2, #8]
1676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 1135              		.loc 1 1676 0
 1136 001c C36E     		ldr	r3, [r0, #108]
 1137 001e 012B     		cmp	r3, #1
 1138 0020 3DD0     		beq	.L101
 1139              	.L95:
1682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 1140              		.loc 1 1682 0
 1141 0022 2368     		ldr	r3, [r4]
 1142 0024 9A68     		ldr	r2, [r3, #8]
 1143 0026 12F0800F 		tst	r2, #128
 1144 002a 0CD0     		beq	.L96
1684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1145              		.loc 1 1684 0
 1146 002c 9A68     		ldr	r2, [r3, #8]
 1147 002e 22F08002 		bic	r2, r2, #128
 1148 0032 9A60     		str	r2, [r3, #8]
1687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 1149              		.loc 1 1687 0
 1150 0034 A36F     		ldr	r3, [r4, #120]
 1151 0036 33B1     		cbz	r3, .L96
1691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1152              		.loc 1 1691 0
 1153 0038 0022     		movs	r2, #0
 1154 003a 9A63     		str	r2, [r3, #56]
1693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 1155              		.loc 1 1693 0
 1156 003c A06F     		ldr	r0, [r4, #120]
 1157              	.LVL84:
 1158 003e FFF7FEFF 		bl	HAL_DMA_Abort
 1159              	.LVL85:
 1160 0042 0028     		cmp	r0, #0
 1161 0044 31D1     		bne	.L102
 1162              	.L96:
1707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 1163              		.loc 1 1707 0
 1164 0046 2368     		ldr	r3, [r4]
 1165 0048 9A68     		ldr	r2, [r3, #8]
ARM GAS  /tmp/ccVmA0m0.s 			page 96


 1166 004a 12F0400F 		tst	r2, #64
 1167 004e 0BD0     		beq	.L98
1709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1168              		.loc 1 1709 0
 1169 0050 9A68     		ldr	r2, [r3, #8]
 1170 0052 22F04002 		bic	r2, r2, #64
 1171 0056 9A60     		str	r2, [r3, #8]
1712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 1172              		.loc 1 1712 0
 1173 0058 E36F     		ldr	r3, [r4, #124]
 1174 005a 2BB1     		cbz	r3, .L98
1716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1175              		.loc 1 1716 0
 1176 005c 0022     		movs	r2, #0
 1177 005e 9A63     		str	r2, [r3, #56]
1718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 1178              		.loc 1 1718 0
 1179 0060 E06F     		ldr	r0, [r4, #124]
 1180 0062 FFF7FEFF 		bl	HAL_DMA_Abort
 1181              	.LVL86:
 1182 0066 50BB     		cbnz	r0, .L103
 1183              	.L98:
1732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxXferCount = 0U;
 1184              		.loc 1 1732 0
 1185 0068 0023     		movs	r3, #0
 1186 006a A4F85630 		strh	r3, [r4, #86]	@ movhi
1733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1187              		.loc 1 1733 0
 1188 006e A4F85E30 		strh	r3, [r4, #94]	@ movhi
1736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1189              		.loc 1 1736 0
 1190 0072 2368     		ldr	r3, [r4]
 1191 0074 0F22     		movs	r2, #15
 1192 0076 1A62     		str	r2, [r3, #32]
1739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 1193              		.loc 1 1739 0
 1194 0078 636E     		ldr	r3, [r4, #100]
 1195 007a B3F1005F 		cmp	r3, #536870912
 1196 007e 28D0     		beq	.L104
 1197              	.L99:
1745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1198              		.loc 1 1745 0
 1199 0080 2268     		ldr	r2, [r4]
 1200 0082 9369     		ldr	r3, [r2, #24]
 1201 0084 43F00803 		orr	r3, r3, #8
 1202 0088 9361     		str	r3, [r2, #24]
1748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
 1203              		.loc 1 1748 0
 1204 008a 2023     		movs	r3, #32
 1205 008c C4F88430 		str	r3, [r4, #132]
1749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
 1206              		.loc 1 1749 0
 1207 0090 C4F88830 		str	r3, [r4, #136]
1750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1208              		.loc 1 1750 0
 1209 0094 0020     		movs	r0, #0
 1210 0096 E066     		str	r0, [r4, #108]
ARM GAS  /tmp/ccVmA0m0.s 			page 97


1752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1211              		.loc 1 1752 0
 1212 0098 C4F88C00 		str	r0, [r4, #140]
 1213              	.L97:
1755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1214              		.loc 1 1755 0
 1215 009c 10BD     		pop	{r4, pc}
 1216              	.LVL87:
 1217              	.L101:
1678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 1218              		.loc 1 1678 0
 1219 009e 0268     		ldr	r2, [r0]
 1220 00a0 1368     		ldr	r3, [r2]
 1221 00a2 23F01003 		bic	r3, r3, #16
 1222 00a6 1360     		str	r3, [r2]
 1223 00a8 BBE7     		b	.L95
 1224              	.LVL88:
 1225              	.L102:
1695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
 1226              		.loc 1 1695 0
 1227 00aa A06F     		ldr	r0, [r4, #120]
 1228 00ac FFF7FEFF 		bl	HAL_DMA_GetError
 1229              	.LVL89:
 1230 00b0 2028     		cmp	r0, #32
 1231 00b2 C8D1     		bne	.L96
1698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1232              		.loc 1 1698 0
 1233 00b4 1023     		movs	r3, #16
 1234 00b6 C4F88C30 		str	r3, [r4, #140]
1700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
 1235              		.loc 1 1700 0
 1236 00ba 0320     		movs	r0, #3
 1237 00bc EEE7     		b	.L97
 1238              	.L103:
1720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
 1239              		.loc 1 1720 0
 1240 00be E06F     		ldr	r0, [r4, #124]
 1241 00c0 FFF7FEFF 		bl	HAL_DMA_GetError
 1242              	.LVL90:
 1243 00c4 2028     		cmp	r0, #32
 1244 00c6 CFD1     		bne	.L98
1723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1245              		.loc 1 1723 0
 1246 00c8 1023     		movs	r3, #16
 1247 00ca C4F88C30 		str	r3, [r4, #140]
1725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
 1248              		.loc 1 1725 0
 1249 00ce 0320     		movs	r0, #3
 1250 00d0 E4E7     		b	.L97
 1251              	.L104:
1741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 1252              		.loc 1 1741 0
 1253 00d2 2268     		ldr	r2, [r4]
 1254 00d4 9369     		ldr	r3, [r2, #24]
 1255 00d6 43F01003 		orr	r3, r3, #16
 1256 00da 9361     		str	r3, [r2, #24]
 1257 00dc D0E7     		b	.L99
ARM GAS  /tmp/ccVmA0m0.s 			page 98


 1258              		.cfi_endproc
 1259              	.LFE148:
 1261              		.section	.text.HAL_UART_AbortTransmit,"ax",%progbits
 1262              		.align	1
 1263              		.global	HAL_UART_AbortTransmit
 1264              		.syntax unified
 1265              		.thumb
 1266              		.thumb_func
 1267              		.fpu fpv4-sp-d16
 1269              	HAL_UART_AbortTransmit:
 1270              	.LFB149:
1770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Disable TCIE, TXEIE and TXFTIE interrupts */
 1271              		.loc 1 1770 0
 1272              		.cfi_startproc
 1273              		@ args = 0, pretend = 0, frame = 0
 1274              		@ frame_needed = 0, uses_anonymous_args = 0
 1275              	.LVL91:
 1276 0000 10B5     		push	{r4, lr}
 1277              	.LCFI8:
 1278              		.cfi_def_cfa_offset 8
 1279              		.cfi_offset 4, -8
 1280              		.cfi_offset 14, -4
 1281 0002 0446     		mov	r4, r0
1772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE);
 1282              		.loc 1 1772 0
 1283 0004 0268     		ldr	r2, [r0]
 1284 0006 1368     		ldr	r3, [r2]
 1285 0008 23F0C003 		bic	r3, r3, #192
 1286 000c 1360     		str	r3, [r2]
1773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1287              		.loc 1 1773 0
 1288 000e 0268     		ldr	r2, [r0]
 1289 0010 9368     		ldr	r3, [r2, #8]
 1290 0012 23F40003 		bic	r3, r3, #8388608
 1291 0016 9360     		str	r3, [r2, #8]
1776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 1292              		.loc 1 1776 0
 1293 0018 0368     		ldr	r3, [r0]
 1294 001a 9A68     		ldr	r2, [r3, #8]
 1295 001c 12F0800F 		tst	r2, #128
 1296 0020 0BD0     		beq	.L106
1778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1297              		.loc 1 1778 0
 1298 0022 9A68     		ldr	r2, [r3, #8]
 1299 0024 22F08002 		bic	r2, r2, #128
 1300 0028 9A60     		str	r2, [r3, #8]
1781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 1301              		.loc 1 1781 0
 1302 002a 836F     		ldr	r3, [r0, #120]
 1303 002c 2BB1     		cbz	r3, .L106
1785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1304              		.loc 1 1785 0
 1305 002e 0022     		movs	r2, #0
 1306 0030 9A63     		str	r2, [r3, #56]
1787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 1307              		.loc 1 1787 0
 1308 0032 806F     		ldr	r0, [r0, #120]
ARM GAS  /tmp/ccVmA0m0.s 			page 99


 1309              	.LVL92:
 1310 0034 FFF7FEFF 		bl	HAL_DMA_Abort
 1311              	.LVL93:
 1312 0038 58B9     		cbnz	r0, .L110
 1313              	.L106:
1801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1314              		.loc 1 1801 0
 1315 003a 0023     		movs	r3, #0
 1316 003c A4F85630 		strh	r3, [r4, #86]	@ movhi
1804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 1317              		.loc 1 1804 0
 1318 0040 636E     		ldr	r3, [r4, #100]
 1319 0042 B3F1005F 		cmp	r3, #536870912
 1320 0046 0ED0     		beq	.L111
 1321              	.L108:
1810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1322              		.loc 1 1810 0
 1323 0048 2023     		movs	r3, #32
 1324 004a C4F88430 		str	r3, [r4, #132]
1812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
 1325              		.loc 1 1812 0
 1326 004e 0020     		movs	r0, #0
 1327              	.L107:
1813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1328              		.loc 1 1813 0
 1329 0050 10BD     		pop	{r4, pc}
 1330              	.LVL94:
 1331              	.L110:
1789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
 1332              		.loc 1 1789 0
 1333 0052 A06F     		ldr	r0, [r4, #120]
 1334 0054 FFF7FEFF 		bl	HAL_DMA_GetError
 1335              	.LVL95:
 1336 0058 2028     		cmp	r0, #32
 1337 005a EED1     		bne	.L106
1792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1338              		.loc 1 1792 0
 1339 005c 1023     		movs	r3, #16
 1340 005e C4F88C30 		str	r3, [r4, #140]
1794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
 1341              		.loc 1 1794 0
 1342 0062 0320     		movs	r0, #3
 1343 0064 F4E7     		b	.L107
 1344              	.L111:
1806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 1345              		.loc 1 1806 0
 1346 0066 2268     		ldr	r2, [r4]
 1347 0068 9369     		ldr	r3, [r2, #24]
 1348 006a 43F01003 		orr	r3, r3, #16
 1349 006e 9361     		str	r3, [r2, #24]
 1350 0070 EAE7     		b	.L108
 1351              		.cfi_endproc
 1352              	.LFE149:
 1354              		.section	.text.HAL_UART_AbortReceive,"ax",%progbits
 1355              		.align	1
 1356              		.global	HAL_UART_AbortReceive
 1357              		.syntax unified
ARM GAS  /tmp/ccVmA0m0.s 			page 100


 1358              		.thumb
 1359              		.thumb_func
 1360              		.fpu fpv4-sp-d16
 1362              	HAL_UART_AbortReceive:
 1363              	.LFB150:
1828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Disable PEIE, EIE, RXNEIE and RXFTIE interrupts */
 1364              		.loc 1 1828 0
 1365              		.cfi_startproc
 1366              		@ args = 0, pretend = 0, frame = 0
 1367              		@ frame_needed = 0, uses_anonymous_args = 0
 1368              	.LVL96:
 1369 0000 10B5     		push	{r4, lr}
 1370              	.LCFI9:
 1371              		.cfi_def_cfa_offset 8
 1372              		.cfi_offset 4, -8
 1373              		.cfi_offset 14, -4
 1374 0002 0446     		mov	r4, r0
1830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE);
 1375              		.loc 1 1830 0
 1376 0004 0268     		ldr	r2, [r0]
 1377 0006 1368     		ldr	r3, [r2]
 1378 0008 23F49073 		bic	r3, r3, #288
 1379 000c 1360     		str	r3, [r2]
1831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1380              		.loc 1 1831 0
 1381 000e 0268     		ldr	r2, [r0]
 1382 0010 9368     		ldr	r3, [r2, #8]
 1383 0012 23F08053 		bic	r3, r3, #268435456
 1384 0016 23F00103 		bic	r3, r3, #1
 1385 001a 9360     		str	r3, [r2, #8]
1834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 1386              		.loc 1 1834 0
 1387 001c C36E     		ldr	r3, [r0, #108]
 1388 001e 012B     		cmp	r3, #1
 1389 0020 20D0     		beq	.L117
 1390              	.L113:
1840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 1391              		.loc 1 1840 0
 1392 0022 2368     		ldr	r3, [r4]
 1393 0024 9A68     		ldr	r2, [r3, #8]
 1394 0026 12F0400F 		tst	r2, #64
 1395 002a 0BD0     		beq	.L114
1842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1396              		.loc 1 1842 0
 1397 002c 9A68     		ldr	r2, [r3, #8]
 1398 002e 22F04002 		bic	r2, r2, #64
 1399 0032 9A60     		str	r2, [r3, #8]
1845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 1400              		.loc 1 1845 0
 1401 0034 E36F     		ldr	r3, [r4, #124]
 1402 0036 2BB1     		cbz	r3, .L114
1849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1403              		.loc 1 1849 0
 1404 0038 0022     		movs	r2, #0
 1405 003a 9A63     		str	r2, [r3, #56]
1851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 1406              		.loc 1 1851 0
ARM GAS  /tmp/ccVmA0m0.s 			page 101


 1407 003c E06F     		ldr	r0, [r4, #124]
 1408              	.LVL97:
 1409 003e FFF7FEFF 		bl	HAL_DMA_Abort
 1410              	.LVL98:
 1411 0042 A8B9     		cbnz	r0, .L118
 1412              	.L114:
1865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1413              		.loc 1 1865 0
 1414 0044 0020     		movs	r0, #0
 1415 0046 A4F85E00 		strh	r0, [r4, #94]	@ movhi
1868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1416              		.loc 1 1868 0
 1417 004a 2368     		ldr	r3, [r4]
 1418 004c 0F22     		movs	r2, #15
 1419 004e 1A62     		str	r2, [r3, #32]
1871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1420              		.loc 1 1871 0
 1421 0050 2268     		ldr	r2, [r4]
 1422 0052 9369     		ldr	r3, [r2, #24]
 1423 0054 43F00803 		orr	r3, r3, #8
 1424 0058 9361     		str	r3, [r2, #24]
1874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
 1425              		.loc 1 1874 0
 1426 005a 2023     		movs	r3, #32
 1427 005c C4F88830 		str	r3, [r4, #136]
1875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1428              		.loc 1 1875 0
 1429 0060 E066     		str	r0, [r4, #108]
 1430              	.L115:
1878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1431              		.loc 1 1878 0
 1432 0062 10BD     		pop	{r4, pc}
 1433              	.LVL99:
 1434              	.L117:
1836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 1435              		.loc 1 1836 0
 1436 0064 0268     		ldr	r2, [r0]
 1437 0066 1368     		ldr	r3, [r2]
 1438 0068 23F01003 		bic	r3, r3, #16
 1439 006c 1360     		str	r3, [r2]
 1440 006e D8E7     		b	.L113
 1441              	.LVL100:
 1442              	.L118:
1853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
 1443              		.loc 1 1853 0
 1444 0070 E06F     		ldr	r0, [r4, #124]
 1445 0072 FFF7FEFF 		bl	HAL_DMA_GetError
 1446              	.LVL101:
 1447 0076 2028     		cmp	r0, #32
 1448 0078 E4D1     		bne	.L114
1856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1449              		.loc 1 1856 0
 1450 007a 1023     		movs	r3, #16
 1451 007c C4F88C30 		str	r3, [r4, #140]
1858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
 1452              		.loc 1 1858 0
 1453 0080 0320     		movs	r0, #3
ARM GAS  /tmp/ccVmA0m0.s 			page 102


 1454 0082 EEE7     		b	.L115
 1455              		.cfi_endproc
 1456              	.LFE150:
 1458              		.section	.text.HAL_UART_TxCpltCallback,"ax",%progbits
 1459              		.align	1
 1460              		.weak	HAL_UART_TxCpltCallback
 1461              		.syntax unified
 1462              		.thumb
 1463              		.thumb_func
 1464              		.fpu fpv4-sp-d16
 1466              	HAL_UART_TxCpltCallback:
 1467              	.LFB155:
2548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
 1468              		.loc 1 2548 0
 1469              		.cfi_startproc
 1470              		@ args = 0, pretend = 0, frame = 0
 1471              		@ frame_needed = 0, uses_anonymous_args = 0
 1472              		@ link register save eliminated.
 1473              	.LVL102:
2555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1474              		.loc 1 2555 0
 1475 0000 7047     		bx	lr
 1476              		.cfi_endproc
 1477              	.LFE155:
 1479              		.section	.text.UART_DMATransmitCplt,"ax",%progbits
 1480              		.align	1
 1481              		.syntax unified
 1482              		.thumb
 1483              		.thumb_func
 1484              		.fpu fpv4-sp-d16
 1486              	UART_DMATransmitCplt:
 1487              	.LFB183:
3582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
 1488              		.loc 1 3582 0
 1489              		.cfi_startproc
 1490              		@ args = 0, pretend = 0, frame = 0
 1491              		@ frame_needed = 0, uses_anonymous_args = 0
 1492              	.LVL103:
 1493 0000 08B5     		push	{r3, lr}
 1494              	.LCFI10:
 1495              		.cfi_def_cfa_offset 8
 1496              		.cfi_offset 3, -8
 1497              		.cfi_offset 14, -4
3583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1498              		.loc 1 3583 0
 1499 0002 836A     		ldr	r3, [r0, #40]
 1500              	.LVL104:
3586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 1501              		.loc 1 3586 0
 1502 0004 0268     		ldr	r2, [r0]
 1503 0006 1268     		ldr	r2, [r2]
 1504 0008 12F0200F 		tst	r2, #32
 1505 000c 0DD1     		bne	.L121
3588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1506              		.loc 1 3588 0
 1507 000e 0022     		movs	r2, #0
 1508 0010 A3F85620 		strh	r2, [r3, #86]	@ movhi
ARM GAS  /tmp/ccVmA0m0.s 			page 103


3592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1509              		.loc 1 3592 0
 1510 0014 1968     		ldr	r1, [r3]
 1511 0016 8A68     		ldr	r2, [r1, #8]
 1512 0018 22F08002 		bic	r2, r2, #128
 1513 001c 8A60     		str	r2, [r1, #8]
3595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 1514              		.loc 1 3595 0
 1515 001e 1A68     		ldr	r2, [r3]
 1516 0020 1368     		ldr	r3, [r2]
 1517              	.LVL105:
 1518 0022 43F04003 		orr	r3, r3, #64
 1519 0026 1360     		str	r3, [r2]
 1520              	.LVL106:
 1521              	.L120:
3608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1522              		.loc 1 3608 0
 1523 0028 08BD     		pop	{r3, pc}
 1524              	.LVL107:
 1525              	.L121:
3605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 1526              		.loc 1 3605 0
 1527 002a 1846     		mov	r0, r3
 1528              	.LVL108:
 1529 002c FFF7FEFF 		bl	HAL_UART_TxCpltCallback
 1530              	.LVL109:
3608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1531              		.loc 1 3608 0
 1532 0030 FAE7     		b	.L120
 1533              		.cfi_endproc
 1534              	.LFE183:
 1536              		.section	.text.UART_EndTransmit_IT,"ax",%progbits
 1537              		.align	1
 1538              		.syntax unified
 1539              		.thumb
 1540              		.thumb_func
 1541              		.fpu fpv4-sp-d16
 1543              	UART_EndTransmit_IT:
 1544              	.LFB197:
4095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
4097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief  Wrap up transmission in non-blocking mode.
4098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param  huart pointer to a UART_HandleTypeDef structure that contains
4099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *                the configuration information for the specified UART module.
4100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
4101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
4102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_EndTransmit_IT(UART_HandleTypeDef *huart)
4103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
 1545              		.loc 1 4103 0
 1546              		.cfi_startproc
 1547              		@ args = 0, pretend = 0, frame = 0
 1548              		@ frame_needed = 0, uses_anonymous_args = 0
 1549              	.LVL110:
 1550 0000 08B5     		push	{r3, lr}
 1551              	.LCFI11:
 1552              		.cfi_def_cfa_offset 8
 1553              		.cfi_offset 3, -8
ARM GAS  /tmp/ccVmA0m0.s 			page 104


 1554              		.cfi_offset 14, -4
4104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Disable the UART Transmit Complete Interrupt */
4105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR1, USART_CR1_TCIE);
 1555              		.loc 1 4105 0
 1556 0002 0168     		ldr	r1, [r0]
 1557 0004 0A68     		ldr	r2, [r1]
 1558 0006 22F04002 		bic	r2, r2, #64
 1559 000a 0A60     		str	r2, [r1]
4106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Tx process is ended, restore huart->gState to Ready */
4108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_READY;
 1560              		.loc 1 4108 0
 1561 000c 2022     		movs	r2, #32
 1562 000e C0F88420 		str	r2, [r0, #132]
4109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Cleat TxISR function pointer */
4111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->TxISR = NULL;
 1563              		.loc 1 4111 0
 1564 0012 0022     		movs	r2, #0
 1565 0014 4267     		str	r2, [r0, #116]
4112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /*Call registered Tx complete callback*/
4115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->TxCpltCallback(huart);
4116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
4117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /*Call legacy weak Tx complete callback*/
4118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   HAL_UART_TxCpltCallback(huart);
 1566              		.loc 1 4118 0
 1567 0016 FFF7FEFF 		bl	HAL_UART_TxCpltCallback
 1568              	.LVL111:
4119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
 1569              		.loc 1 4120 0
 1570 001a 08BD     		pop	{r3, pc}
 1571              		.cfi_endproc
 1572              	.LFE197:
 1574              		.section	.text.HAL_UART_TxHalfCpltCallback,"ax",%progbits
 1575              		.align	1
 1576              		.weak	HAL_UART_TxHalfCpltCallback
 1577              		.syntax unified
 1578              		.thumb
 1579              		.thumb_func
 1580              		.fpu fpv4-sp-d16
 1582              	HAL_UART_TxHalfCpltCallback:
 1583              	.LFB156:
2563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
 1584              		.loc 1 2563 0
 1585              		.cfi_startproc
 1586              		@ args = 0, pretend = 0, frame = 0
 1587              		@ frame_needed = 0, uses_anonymous_args = 0
 1588              		@ link register save eliminated.
 1589              	.LVL112:
2570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1590              		.loc 1 2570 0
 1591 0000 7047     		bx	lr
 1592              		.cfi_endproc
 1593              	.LFE156:
ARM GAS  /tmp/ccVmA0m0.s 			page 105


 1595              		.section	.text.UART_DMATxHalfCplt,"ax",%progbits
 1596              		.align	1
 1597              		.syntax unified
 1598              		.thumb
 1599              		.thumb_func
 1600              		.fpu fpv4-sp-d16
 1602              	UART_DMATxHalfCplt:
 1603              	.LFB184:
3616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
 1604              		.loc 1 3616 0
 1605              		.cfi_startproc
 1606              		@ args = 0, pretend = 0, frame = 0
 1607              		@ frame_needed = 0, uses_anonymous_args = 0
 1608              	.LVL113:
 1609 0000 08B5     		push	{r3, lr}
 1610              	.LCFI12:
 1611              		.cfi_def_cfa_offset 8
 1612              		.cfi_offset 3, -8
 1613              		.cfi_offset 14, -4
 1614              	.LVL114:
3624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 1615              		.loc 1 3624 0
 1616 0002 806A     		ldr	r0, [r0, #40]
 1617              	.LVL115:
 1618 0004 FFF7FEFF 		bl	HAL_UART_TxHalfCpltCallback
 1619              	.LVL116:
3626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1620              		.loc 1 3626 0
 1621 0008 08BD     		pop	{r3, pc}
 1622              		.cfi_endproc
 1623              	.LFE184:
 1625              		.section	.text.HAL_UART_RxCpltCallback,"ax",%progbits
 1626              		.align	1
 1627              		.weak	HAL_UART_RxCpltCallback
 1628              		.syntax unified
 1629              		.thumb
 1630              		.thumb_func
 1631              		.fpu fpv4-sp-d16
 1633              	HAL_UART_RxCpltCallback:
 1634              	.LFB157:
2578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
 1635              		.loc 1 2578 0
 1636              		.cfi_startproc
 1637              		@ args = 0, pretend = 0, frame = 0
 1638              		@ frame_needed = 0, uses_anonymous_args = 0
 1639              		@ link register save eliminated.
 1640              	.LVL117:
2585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1641              		.loc 1 2585 0
 1642 0000 7047     		bx	lr
 1643              		.cfi_endproc
 1644              	.LFE157:
 1646              		.section	.text.HAL_UART_RxHalfCpltCallback,"ax",%progbits
 1647              		.align	1
 1648              		.weak	HAL_UART_RxHalfCpltCallback
 1649              		.syntax unified
 1650              		.thumb
ARM GAS  /tmp/ccVmA0m0.s 			page 106


 1651              		.thumb_func
 1652              		.fpu fpv4-sp-d16
 1654              	HAL_UART_RxHalfCpltCallback:
 1655              	.LFB158:
2593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
 1656              		.loc 1 2593 0
 1657              		.cfi_startproc
 1658              		@ args = 0, pretend = 0, frame = 0
 1659              		@ frame_needed = 0, uses_anonymous_args = 0
 1660              		@ link register save eliminated.
 1661              	.LVL118:
2600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1662              		.loc 1 2600 0
 1663 0000 7047     		bx	lr
 1664              		.cfi_endproc
 1665              	.LFE158:
 1667              		.section	.text.HAL_UART_ErrorCallback,"ax",%progbits
 1668              		.align	1
 1669              		.weak	HAL_UART_ErrorCallback
 1670              		.syntax unified
 1671              		.thumb
 1672              		.thumb_func
 1673              		.fpu fpv4-sp-d16
 1675              	HAL_UART_ErrorCallback:
 1676              	.LFB159:
2608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
 1677              		.loc 1 2608 0
 1678              		.cfi_startproc
 1679              		@ args = 0, pretend = 0, frame = 0
 1680              		@ frame_needed = 0, uses_anonymous_args = 0
 1681              		@ link register save eliminated.
 1682              	.LVL119:
2615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1683              		.loc 1 2615 0
 1684 0000 7047     		bx	lr
 1685              		.cfi_endproc
 1686              	.LFE159:
 1688              		.section	.text.UART_DMAError,"ax",%progbits
 1689              		.align	1
 1690              		.syntax unified
 1691              		.thumb
 1692              		.thumb_func
 1693              		.fpu fpv4-sp-d16
 1695              	UART_DMAError:
 1696              	.LFB187:
3725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
 1697              		.loc 1 3725 0
 1698              		.cfi_startproc
 1699              		@ args = 0, pretend = 0, frame = 0
 1700              		@ frame_needed = 0, uses_anonymous_args = 0
 1701              	.LVL120:
 1702 0000 38B5     		push	{r3, r4, r5, lr}
 1703              	.LCFI13:
 1704              		.cfi_def_cfa_offset 16
 1705              		.cfi_offset 3, -16
 1706              		.cfi_offset 4, -12
 1707              		.cfi_offset 5, -8
ARM GAS  /tmp/ccVmA0m0.s 			page 107


 1708              		.cfi_offset 14, -4
3726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1709              		.loc 1 3726 0
 1710 0002 846A     		ldr	r4, [r0, #40]
 1711              	.LVL121:
3728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   const HAL_UART_StateTypeDef rxstate = huart->RxState;
 1712              		.loc 1 3728 0
 1713 0004 D4F88420 		ldr	r2, [r4, #132]
 1714              	.LVL122:
3729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1715              		.loc 1 3729 0
 1716 0008 D4F88850 		ldr	r5, [r4, #136]
 1717              	.LVL123:
3732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       (gstate == HAL_UART_STATE_BUSY_TX))
 1718              		.loc 1 3732 0
 1719 000c 2368     		ldr	r3, [r4]
 1720 000e 9B68     		ldr	r3, [r3, #8]
 1721 0010 13F0800F 		tst	r3, #128
 1722 0014 01D0     		beq	.L133
3732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       (gstate == HAL_UART_STATE_BUSY_TX))
 1723              		.loc 1 3732 0 is_stmt 0 discriminator 1
 1724 0016 212A     		cmp	r2, #33
 1725 0018 10D0     		beq	.L136
 1726              	.LVL124:
 1727              	.L133:
3740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       (rxstate == HAL_UART_STATE_BUSY_RX))
 1728              		.loc 1 3740 0 is_stmt 1
 1729 001a 2368     		ldr	r3, [r4]
 1730 001c 9B68     		ldr	r3, [r3, #8]
 1731 001e 13F0400F 		tst	r3, #64
 1732 0022 01D0     		beq	.L134
3740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       (rxstate == HAL_UART_STATE_BUSY_RX))
 1733              		.loc 1 3740 0 is_stmt 0 discriminator 1
 1734 0024 222D     		cmp	r5, #34
 1735 0026 10D0     		beq	.L137
 1736              	.L134:
3747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1737              		.loc 1 3747 0 is_stmt 1
 1738 0028 D4F88C30 		ldr	r3, [r4, #140]
 1739 002c 43F01003 		orr	r3, r3, #16
 1740 0030 C4F88C30 		str	r3, [r4, #140]
3754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 1741              		.loc 1 3754 0
 1742 0034 2046     		mov	r0, r4
 1743 0036 FFF7FEFF 		bl	HAL_UART_ErrorCallback
 1744              	.LVL125:
3756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1745              		.loc 1 3756 0
 1746 003a 38BD     		pop	{r3, r4, r5, pc}
 1747              	.LVL126:
 1748              	.L136:
3735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     UART_EndTxTransfer(huart);
 1749              		.loc 1 3735 0
 1750 003c 0023     		movs	r3, #0
 1751 003e A4F85630 		strh	r3, [r4, #86]	@ movhi
3736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 1752              		.loc 1 3736 0
ARM GAS  /tmp/ccVmA0m0.s 			page 108


 1753 0042 2046     		mov	r0, r4
 1754              	.LVL127:
 1755 0044 FFF7FEFF 		bl	UART_EndTxTransfer
 1756              	.LVL128:
 1757 0048 E7E7     		b	.L133
 1758              	.L137:
3743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     UART_EndRxTransfer(huart);
 1759              		.loc 1 3743 0
 1760 004a 0023     		movs	r3, #0
 1761 004c A4F85E30 		strh	r3, [r4, #94]	@ movhi
3744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 1762              		.loc 1 3744 0
 1763 0050 2046     		mov	r0, r4
 1764 0052 FFF7FEFF 		bl	UART_EndRxTransfer
 1765              	.LVL129:
 1766 0056 E7E7     		b	.L134
 1767              		.cfi_endproc
 1768              	.LFE187:
 1770              		.section	.text.UART_DMAAbortOnError,"ax",%progbits
 1771              		.align	1
 1772              		.syntax unified
 1773              		.thumb
 1774              		.thumb_func
 1775              		.fpu fpv4-sp-d16
 1777              	UART_DMAAbortOnError:
 1778              	.LFB188:
3765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
 1779              		.loc 1 3765 0
 1780              		.cfi_startproc
 1781              		@ args = 0, pretend = 0, frame = 0
 1782              		@ frame_needed = 0, uses_anonymous_args = 0
 1783              	.LVL130:
 1784 0000 08B5     		push	{r3, lr}
 1785              	.LCFI14:
 1786              		.cfi_def_cfa_offset 8
 1787              		.cfi_offset 3, -8
 1788              		.cfi_offset 14, -4
3766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxXferCount = 0U;
 1789              		.loc 1 3766 0
 1790 0002 806A     		ldr	r0, [r0, #40]
 1791              	.LVL131:
3767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->TxXferCount = 0U;
 1792              		.loc 1 3767 0
 1793 0004 0023     		movs	r3, #0
 1794 0006 A0F85E30 		strh	r3, [r0, #94]	@ movhi
3768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1795              		.loc 1 3768 0
 1796 000a A0F85630 		strh	r3, [r0, #86]	@ movhi
3775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 1797              		.loc 1 3775 0
 1798 000e FFF7FEFF 		bl	HAL_UART_ErrorCallback
 1799              	.LVL132:
3777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1800              		.loc 1 3777 0
 1801 0012 08BD     		pop	{r3, pc}
 1802              		.cfi_endproc
 1803              	.LFE188:
ARM GAS  /tmp/ccVmA0m0.s 			page 109


 1805              		.section	.text.HAL_UART_AbortCpltCallback,"ax",%progbits
 1806              		.align	1
 1807              		.weak	HAL_UART_AbortCpltCallback
 1808              		.syntax unified
 1809              		.thumb
 1810              		.thumb_func
 1811              		.fpu fpv4-sp-d16
 1813              	HAL_UART_AbortCpltCallback:
 1814              	.LFB160:
2623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
 1815              		.loc 1 2623 0
 1816              		.cfi_startproc
 1817              		@ args = 0, pretend = 0, frame = 0
 1818              		@ frame_needed = 0, uses_anonymous_args = 0
 1819              		@ link register save eliminated.
 1820              	.LVL133:
2630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1821              		.loc 1 2630 0
 1822 0000 7047     		bx	lr
 1823              		.cfi_endproc
 1824              	.LFE160:
 1826              		.section	.text.HAL_UART_Abort_IT,"ax",%progbits
 1827              		.align	1
 1828              		.global	HAL_UART_Abort_IT
 1829              		.syntax unified
 1830              		.thumb
 1831              		.thumb_func
 1832              		.fpu fpv4-sp-d16
 1834              	HAL_UART_Abort_IT:
 1835              	.LFB151:
1895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint32_t abortcplt = 1U;
 1836              		.loc 1 1895 0
 1837              		.cfi_startproc
 1838              		@ args = 0, pretend = 0, frame = 0
 1839              		@ frame_needed = 0, uses_anonymous_args = 0
 1840              	.LVL134:
 1841 0000 10B5     		push	{r4, lr}
 1842              	.LCFI15:
 1843              		.cfi_def_cfa_offset 8
 1844              		.cfi_offset 4, -8
 1845              		.cfi_offset 14, -4
 1846 0002 0446     		mov	r4, r0
 1847              	.LVL135:
1899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****                                    USART_CR1_TXEIE_TXFNFIE));
 1848              		.loc 1 1899 0
 1849 0004 0268     		ldr	r2, [r0]
 1850 0006 1368     		ldr	r3, [r2]
 1851 0008 23F4F073 		bic	r3, r3, #480
 1852 000c 1360     		str	r3, [r2]
1901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1853              		.loc 1 1901 0
 1854 000e 0268     		ldr	r2, [r0]
 1855 0010 9368     		ldr	r3, [r2, #8]
 1856 0012 23F08453 		bic	r3, r3, #276824064
 1857 0016 23F00103 		bic	r3, r3, #1
 1858 001a 9360     		str	r3, [r2, #8]
1904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
ARM GAS  /tmp/ccVmA0m0.s 			page 110


 1859              		.loc 1 1904 0
 1860 001c C36E     		ldr	r3, [r0, #108]
 1861 001e 012B     		cmp	r3, #1
 1862 0020 26D0     		beq	.L156
 1863              	.L142:
1912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 1864              		.loc 1 1912 0
 1865 0022 A36F     		ldr	r3, [r4, #120]
 1866 0024 33B1     		cbz	r3, .L143
1916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 1867              		.loc 1 1916 0
 1868 0026 2268     		ldr	r2, [r4]
 1869 0028 9268     		ldr	r2, [r2, #8]
 1870 002a 12F0800F 		tst	r2, #128
 1871 002e 25D0     		beq	.L144
1918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 1872              		.loc 1 1918 0
 1873 0030 354A     		ldr	r2, .L158
 1874 0032 9A63     		str	r2, [r3, #56]
 1875              	.L143:
1926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 1876              		.loc 1 1926 0
 1877 0034 E36F     		ldr	r3, [r4, #124]
 1878 0036 33B1     		cbz	r3, .L145
1930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 1879              		.loc 1 1930 0
 1880 0038 2268     		ldr	r2, [r4]
 1881 003a 9268     		ldr	r2, [r2, #8]
 1882 003c 12F0400F 		tst	r2, #64
 1883 0040 1FD0     		beq	.L146
1932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 1884              		.loc 1 1932 0
 1885 0042 324A     		ldr	r2, .L158+4
 1886 0044 9A63     		str	r2, [r3, #56]
 1887              	.L145:
1941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 1888              		.loc 1 1941 0
 1889 0046 2368     		ldr	r3, [r4]
 1890 0048 9A68     		ldr	r2, [r3, #8]
 1891 004a 12F0800F 		tst	r2, #128
 1892 004e 1BD0     		beq	.L152
1944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1893              		.loc 1 1944 0
 1894 0050 9A68     		ldr	r2, [r3, #8]
 1895 0052 22F08002 		bic	r2, r2, #128
 1896 0056 9A60     		str	r2, [r3, #8]
1947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 1897              		.loc 1 1947 0
 1898 0058 A06F     		ldr	r0, [r4, #120]
 1899              	.LVL136:
 1900 005a 0028     		cmp	r0, #0
 1901 005c 46D0     		beq	.L153
1953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 1902              		.loc 1 1953 0
 1903 005e FFF7FEFF 		bl	HAL_DMA_Abort_IT
 1904              	.LVL137:
 1905 0062 0028     		cmp	r0, #0
ARM GAS  /tmp/ccVmA0m0.s 			page 111


 1906 0064 44D0     		beq	.L154
1955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
 1907              		.loc 1 1955 0
 1908 0066 A36F     		ldr	r3, [r4, #120]
 1909 0068 0022     		movs	r2, #0
 1910 006a 9A63     		str	r2, [r3, #56]
1896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1911              		.loc 1 1896 0
 1912 006c 0121     		movs	r1, #1
 1913 006e 0CE0     		b	.L147
 1914              	.LVL138:
 1915              	.L156:
1906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 1916              		.loc 1 1906 0
 1917 0070 0268     		ldr	r2, [r0]
 1918 0072 1368     		ldr	r3, [r2]
 1919 0074 23F01003 		bic	r3, r3, #16
 1920 0078 1360     		str	r3, [r2]
 1921 007a D2E7     		b	.L142
 1922              	.L144:
1922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 1923              		.loc 1 1922 0
 1924 007c 0022     		movs	r2, #0
 1925 007e 9A63     		str	r2, [r3, #56]
 1926 0080 D8E7     		b	.L143
 1927              	.L146:
1936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 1928              		.loc 1 1936 0
 1929 0082 0022     		movs	r2, #0
 1930 0084 9A63     		str	r2, [r3, #56]
 1931 0086 DEE7     		b	.L145
 1932              	.L152:
1896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1933              		.loc 1 1896 0
 1934 0088 0121     		movs	r1, #1
 1935              	.LVL139:
 1936              	.L147:
1965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 1937              		.loc 1 1965 0
 1938 008a 2368     		ldr	r3, [r4]
 1939 008c 9A68     		ldr	r2, [r3, #8]
 1940 008e 12F0400F 		tst	r2, #64
 1941 0092 2FD0     		beq	.L148
1967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1942              		.loc 1 1967 0
 1943 0094 9A68     		ldr	r2, [r3, #8]
 1944 0096 22F04002 		bic	r2, r2, #64
 1945 009a 9A60     		str	r2, [r3, #8]
1970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 1946              		.loc 1 1970 0
 1947 009c E06F     		ldr	r0, [r4, #124]
 1948 009e 48B3     		cbz	r0, .L148
1976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 1949              		.loc 1 1976 0
 1950 00a0 FFF7FEFF 		bl	HAL_DMA_Abort_IT
 1951              	.LVL140:
 1952 00a4 40B3     		cbz	r0, .L149
ARM GAS  /tmp/ccVmA0m0.s 			page 112


1978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         abortcplt = 1U;
 1953              		.loc 1 1978 0
 1954 00a6 E36F     		ldr	r3, [r4, #124]
 1955 00a8 0022     		movs	r2, #0
 1956 00aa 9A63     		str	r2, [r3, #56]
 1957              	.LVL141:
 1958              	.L150:
1992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->RxXferCount = 0U;
 1959              		.loc 1 1992 0
 1960 00ac 0023     		movs	r3, #0
 1961 00ae A4F85630 		strh	r3, [r4, #86]	@ movhi
1993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1962              		.loc 1 1993 0
 1963 00b2 A4F85E30 		strh	r3, [r4, #94]	@ movhi
1996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->TxISR = NULL;
 1964              		.loc 1 1996 0
 1965 00b6 2367     		str	r3, [r4, #112]
1997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1966              		.loc 1 1997 0
 1967 00b8 6367     		str	r3, [r4, #116]
2000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1968              		.loc 1 2000 0
 1969 00ba C4F88C30 		str	r3, [r4, #140]
2003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1970              		.loc 1 2003 0
 1971 00be 2368     		ldr	r3, [r4]
 1972 00c0 0F22     		movs	r2, #15
 1973 00c2 1A62     		str	r2, [r3, #32]
2006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 1974              		.loc 1 2006 0
 1975 00c4 636E     		ldr	r3, [r4, #100]
 1976 00c6 B3F1005F 		cmp	r3, #536870912
 1977 00ca 17D0     		beq	.L157
 1978              	.L151:
2012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1979              		.loc 1 2012 0
 1980 00cc 2268     		ldr	r2, [r4]
 1981 00ce 9369     		ldr	r3, [r2, #24]
 1982 00d0 43F00803 		orr	r3, r3, #8
 1983 00d4 9361     		str	r3, [r2, #24]
2015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->RxState = HAL_UART_STATE_READY;
 1984              		.loc 1 2015 0
 1985 00d6 2023     		movs	r3, #32
 1986 00d8 C4F88430 		str	r3, [r4, #132]
2016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
 1987              		.loc 1 2016 0
 1988 00dc C4F88830 		str	r3, [r4, #136]
2017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1989              		.loc 1 2017 0
 1990 00e0 0023     		movs	r3, #0
 1991 00e2 E366     		str	r3, [r4, #108]
2025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 1992              		.loc 1 2025 0
 1993 00e4 2046     		mov	r0, r4
 1994 00e6 FFF7FEFF 		bl	HAL_UART_AbortCpltCallback
 1995              	.LVL142:
 1996 00ea 05E0     		b	.L149
ARM GAS  /tmp/ccVmA0m0.s 			page 113


 1997              	.LVL143:
 1998              	.L153:
1896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 1999              		.loc 1 1896 0
 2000 00ec 0121     		movs	r1, #1
 2001 00ee CCE7     		b	.L147
 2002              	.L154:
1959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
 2003              		.loc 1 1959 0
 2004 00f0 0021     		movs	r1, #0
 2005 00f2 CAE7     		b	.L147
 2006              	.LVL144:
 2007              	.L148:
1989:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 2008              		.loc 1 1989 0
 2009 00f4 0029     		cmp	r1, #0
 2010 00f6 D9D1     		bne	.L150
 2011              	.LVL145:
 2012              	.L149:
2030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2013              		.loc 1 2030 0
 2014 00f8 0020     		movs	r0, #0
 2015 00fa 10BD     		pop	{r4, pc}
 2016              	.LVL146:
 2017              	.L157:
2008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 2018              		.loc 1 2008 0
 2019 00fc 2268     		ldr	r2, [r4]
 2020 00fe 9369     		ldr	r3, [r2, #24]
 2021 0100 43F01003 		orr	r3, r3, #16
 2022 0104 9361     		str	r3, [r2, #24]
 2023 0106 E1E7     		b	.L151
 2024              	.L159:
 2025              		.align	2
 2026              	.L158:
 2027 0108 00000000 		.word	UART_DMATxAbortCallback
 2028 010c 00000000 		.word	UART_DMARxAbortCallback
 2029              		.cfi_endproc
 2030              	.LFE151:
 2032              		.section	.text.UART_DMARxAbortCallback,"ax",%progbits
 2033              		.align	1
 2034              		.syntax unified
 2035              		.thumb
 2036              		.thumb_func
 2037              		.fpu fpv4-sp-d16
 2039              	UART_DMARxAbortCallback:
 2040              	.LFB190:
3843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
 2041              		.loc 1 3843 0
 2042              		.cfi_startproc
 2043              		@ args = 0, pretend = 0, frame = 0
 2044              		@ frame_needed = 0, uses_anonymous_args = 0
 2045              	.LVL147:
 2046 0000 08B5     		push	{r3, lr}
 2047              	.LCFI16:
 2048              		.cfi_def_cfa_offset 8
 2049              		.cfi_offset 3, -8
ARM GAS  /tmp/ccVmA0m0.s 			page 114


 2050              		.cfi_offset 14, -4
3844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2051              		.loc 1 3844 0
 2052 0002 806A     		ldr	r0, [r0, #40]
 2053              	.LVL148:
3846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2054              		.loc 1 3846 0
 2055 0004 C36F     		ldr	r3, [r0, #124]
 2056 0006 0022     		movs	r2, #0
 2057 0008 9A63     		str	r2, [r3, #56]
3849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 2058              		.loc 1 3849 0
 2059 000a 836F     		ldr	r3, [r0, #120]
 2060 000c 13B1     		cbz	r3, .L161
3851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 2061              		.loc 1 3851 0
 2062 000e 9B6B     		ldr	r3, [r3, #56]
 2063 0010 03B1     		cbz	r3, .L161
 2064              	.LVL149:
 2065              	.L160:
3883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2066              		.loc 1 3883 0
 2067 0012 08BD     		pop	{r3, pc}
 2068              	.LVL150:
 2069              	.L161:
3858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxXferCount = 0U;
 2070              		.loc 1 3858 0
 2071 0014 0023     		movs	r3, #0
 2072 0016 A0F85630 		strh	r3, [r0, #86]	@ movhi
3859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2073              		.loc 1 3859 0
 2074 001a A0F85E30 		strh	r3, [r0, #94]	@ movhi
3862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2075              		.loc 1 3862 0
 2076 001e C0F88C30 		str	r3, [r0, #140]
3865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2077              		.loc 1 3865 0
 2078 0022 0268     		ldr	r2, [r0]
 2079 0024 0F21     		movs	r1, #15
 2080 0026 1162     		str	r1, [r2, #32]
3868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2081              		.loc 1 3868 0
 2082 0028 0168     		ldr	r1, [r0]
 2083 002a 8A69     		ldr	r2, [r1, #24]
 2084 002c 42F00802 		orr	r2, r2, #8
 2085 0030 8A61     		str	r2, [r1, #24]
3871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
 2086              		.loc 1 3871 0
 2087 0032 2022     		movs	r2, #32
 2088 0034 C0F88420 		str	r2, [r0, #132]
3872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
 2089              		.loc 1 3872 0
 2090 0038 C0F88820 		str	r2, [r0, #136]
3873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2091              		.loc 1 3873 0
 2092 003c C366     		str	r3, [r0, #108]
3881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
ARM GAS  /tmp/ccVmA0m0.s 			page 115


 2093              		.loc 1 3881 0
 2094 003e FFF7FEFF 		bl	HAL_UART_AbortCpltCallback
 2095              	.LVL151:
 2096 0042 E6E7     		b	.L160
 2097              		.cfi_endproc
 2098              	.LFE190:
 2100              		.section	.text.UART_DMATxAbortCallback,"ax",%progbits
 2101              		.align	1
 2102              		.syntax unified
 2103              		.thumb
 2104              		.thumb_func
 2105              		.fpu fpv4-sp-d16
 2107              	UART_DMATxAbortCallback:
 2108              	.LFB189:
3788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
 2109              		.loc 1 3788 0
 2110              		.cfi_startproc
 2111              		@ args = 0, pretend = 0, frame = 0
 2112              		@ frame_needed = 0, uses_anonymous_args = 0
 2113              	.LVL152:
 2114 0000 08B5     		push	{r3, lr}
 2115              	.LCFI17:
 2116              		.cfi_def_cfa_offset 8
 2117              		.cfi_offset 3, -8
 2118              		.cfi_offset 14, -4
3789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2119              		.loc 1 3789 0
 2120 0002 806A     		ldr	r0, [r0, #40]
 2121              	.LVL153:
3791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2122              		.loc 1 3791 0
 2123 0004 836F     		ldr	r3, [r0, #120]
 2124 0006 0022     		movs	r2, #0
 2125 0008 9A63     		str	r2, [r3, #56]
3794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 2126              		.loc 1 3794 0
 2127 000a C36F     		ldr	r3, [r0, #124]
 2128 000c 0BB1     		cbz	r3, .L165
3796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 2129              		.loc 1 3796 0
 2130 000e 9B6B     		ldr	r3, [r3, #56]
 2131 0010 B3B9     		cbnz	r3, .L164
 2132              	.L165:
3803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxXferCount = 0U;
 2133              		.loc 1 3803 0
 2134 0012 0023     		movs	r3, #0
 2135 0014 A0F85630 		strh	r3, [r0, #86]	@ movhi
3804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2136              		.loc 1 3804 0
 2137 0018 A0F85E30 		strh	r3, [r0, #94]	@ movhi
3807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2138              		.loc 1 3807 0
 2139 001c C0F88C30 		str	r3, [r0, #140]
3810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2140              		.loc 1 3810 0
 2141 0020 0368     		ldr	r3, [r0]
 2142 0022 0F22     		movs	r2, #15
ARM GAS  /tmp/ccVmA0m0.s 			page 116


 2143 0024 1A62     		str	r2, [r3, #32]
3813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 2144              		.loc 1 3813 0
 2145 0026 436E     		ldr	r3, [r0, #100]
 2146 0028 B3F1005F 		cmp	r3, #536870912
 2147 002c 09D0     		beq	.L169
 2148              	.L167:
3819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
 2149              		.loc 1 3819 0
 2150 002e 2023     		movs	r3, #32
 2151 0030 C0F88430 		str	r3, [r0, #132]
3820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
 2152              		.loc 1 3820 0
 2153 0034 C0F88830 		str	r3, [r0, #136]
3821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2154              		.loc 1 3821 0
 2155 0038 0023     		movs	r3, #0
 2156 003a C366     		str	r3, [r0, #108]
3829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 2157              		.loc 1 3829 0
 2158 003c FFF7FEFF 		bl	HAL_UART_AbortCpltCallback
 2159              	.LVL154:
 2160              	.L164:
3831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2161              		.loc 1 3831 0
 2162 0040 08BD     		pop	{r3, pc}
 2163              	.LVL155:
 2164              	.L169:
3815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 2165              		.loc 1 3815 0
 2166 0042 0268     		ldr	r2, [r0]
 2167 0044 9369     		ldr	r3, [r2, #24]
 2168 0046 43F01003 		orr	r3, r3, #16
 2169 004a 9361     		str	r3, [r2, #24]
 2170 004c EFE7     		b	.L167
 2171              		.cfi_endproc
 2172              	.LFE189:
 2174              		.section	.text.HAL_UART_AbortTransmitCpltCallback,"ax",%progbits
 2175              		.align	1
 2176              		.weak	HAL_UART_AbortTransmitCpltCallback
 2177              		.syntax unified
 2178              		.thumb
 2179              		.thumb_func
 2180              		.fpu fpv4-sp-d16
 2182              	HAL_UART_AbortTransmitCpltCallback:
 2183              	.LFB161:
2638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
 2184              		.loc 1 2638 0
 2185              		.cfi_startproc
 2186              		@ args = 0, pretend = 0, frame = 0
 2187              		@ frame_needed = 0, uses_anonymous_args = 0
 2188              		@ link register save eliminated.
 2189              	.LVL156:
2645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2190              		.loc 1 2645 0
 2191 0000 7047     		bx	lr
 2192              		.cfi_endproc
ARM GAS  /tmp/ccVmA0m0.s 			page 117


 2193              	.LFE161:
 2195              		.section	.text.HAL_UART_AbortTransmit_IT,"ax",%progbits
 2196              		.align	1
 2197              		.global	HAL_UART_AbortTransmit_IT
 2198              		.syntax unified
 2199              		.thumb
 2200              		.thumb_func
 2201              		.fpu fpv4-sp-d16
 2203              	HAL_UART_AbortTransmit_IT:
 2204              	.LFB152:
2047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Disable interrupts */
 2205              		.loc 1 2047 0
 2206              		.cfi_startproc
 2207              		@ args = 0, pretend = 0, frame = 0
 2208              		@ frame_needed = 0, uses_anonymous_args = 0
 2209              	.LVL157:
 2210 0000 10B5     		push	{r4, lr}
 2211              	.LCFI18:
 2212              		.cfi_def_cfa_offset 8
 2213              		.cfi_offset 4, -8
 2214              		.cfi_offset 14, -4
 2215 0002 0446     		mov	r4, r0
2049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE);
 2216              		.loc 1 2049 0
 2217 0004 0268     		ldr	r2, [r0]
 2218 0006 1368     		ldr	r3, [r2]
 2219 0008 23F0C003 		bic	r3, r3, #192
 2220 000c 1360     		str	r3, [r2]
2050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2221              		.loc 1 2050 0
 2222 000e 0268     		ldr	r2, [r0]
 2223 0010 9368     		ldr	r3, [r2, #8]
 2224 0012 23F40003 		bic	r3, r3, #8388608
 2225 0016 9360     		str	r3, [r2, #8]
2053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 2226              		.loc 1 2053 0
 2227 0018 0368     		ldr	r3, [r0]
 2228 001a 9A68     		ldr	r2, [r3, #8]
 2229 001c 12F0800F 		tst	r2, #128
 2230 0020 19D0     		beq	.L172
2055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2231              		.loc 1 2055 0
 2232 0022 9A68     		ldr	r2, [r3, #8]
 2233 0024 22F08002 		bic	r2, r2, #128
 2234 0028 9A60     		str	r2, [r3, #8]
2058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 2235              		.loc 1 2058 0
 2236 002a 836F     		ldr	r3, [r0, #120]
 2237 002c 4BB1     		cbz	r3, .L173
2062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2238              		.loc 1 2062 0
 2239 002e 144A     		ldr	r2, .L178
 2240 0030 9A63     		str	r2, [r3, #56]
2065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 2241              		.loc 1 2065 0
 2242 0032 806F     		ldr	r0, [r0, #120]
 2243              	.LVL158:
ARM GAS  /tmp/ccVmA0m0.s 			page 118


 2244 0034 FFF7FEFF 		bl	HAL_DMA_Abort_IT
 2245              	.LVL159:
 2246 0038 D8B1     		cbz	r0, .L174
2068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
 2247              		.loc 1 2068 0
 2248 003a A06F     		ldr	r0, [r4, #120]
 2249 003c 836B     		ldr	r3, [r0, #56]
 2250 003e 9847     		blx	r3
 2251              	.LVL160:
 2252 0040 17E0     		b	.L174
 2253              	.LVL161:
 2254              	.L173:
2074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2255              		.loc 1 2074 0
 2256 0042 0023     		movs	r3, #0
 2257 0044 A0F85630 		strh	r3, [r0, #86]	@ movhi
2077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2258              		.loc 1 2077 0
 2259 0048 4367     		str	r3, [r0, #116]
2080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2260              		.loc 1 2080 0
 2261 004a 2023     		movs	r3, #32
 2262 004c C0F88430 		str	r3, [r0, #132]
2088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 2263              		.loc 1 2088 0
 2264 0050 FFF7FEFF 		bl	HAL_UART_AbortTransmitCpltCallback
 2265              	.LVL162:
 2266 0054 0DE0     		b	.L174
 2267              	.LVL163:
 2268              	.L172:
2095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2269              		.loc 1 2095 0
 2270 0056 0022     		movs	r2, #0
 2271 0058 A0F85620 		strh	r2, [r0, #86]	@ movhi
2098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2272              		.loc 1 2098 0
 2273 005c 4267     		str	r2, [r0, #116]
2101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 2274              		.loc 1 2101 0
 2275 005e 426E     		ldr	r2, [r0, #100]
 2276 0060 B2F1005F 		cmp	r2, #536870912
 2277 0064 07D0     		beq	.L177
 2278              	.L175:
2107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2279              		.loc 1 2107 0
 2280 0066 2023     		movs	r3, #32
 2281 0068 C4F88430 		str	r3, [r4, #132]
2115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 2282              		.loc 1 2115 0
 2283 006c 2046     		mov	r0, r4
 2284              	.LVL164:
 2285 006e FFF7FEFF 		bl	HAL_UART_AbortTransmitCpltCallback
 2286              	.LVL165:
 2287              	.L174:
2120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2288              		.loc 1 2120 0
 2289 0072 0020     		movs	r0, #0
ARM GAS  /tmp/ccVmA0m0.s 			page 119


 2290 0074 10BD     		pop	{r4, pc}
 2291              	.LVL166:
 2292              	.L177:
2103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 2293              		.loc 1 2103 0
 2294 0076 9A69     		ldr	r2, [r3, #24]
 2295 0078 42F01002 		orr	r2, r2, #16
 2296 007c 9A61     		str	r2, [r3, #24]
 2297 007e F2E7     		b	.L175
 2298              	.L179:
 2299              		.align	2
 2300              	.L178:
 2301 0080 00000000 		.word	UART_DMATxOnlyAbortCallback
 2302              		.cfi_endproc
 2303              	.LFE152:
 2305              		.section	.text.UART_DMATxOnlyAbortCallback,"ax",%progbits
 2306              		.align	1
 2307              		.syntax unified
 2308              		.thumb
 2309              		.thumb_func
 2310              		.fpu fpv4-sp-d16
 2312              	UART_DMATxOnlyAbortCallback:
 2313              	.LFB191:
3895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
 2314              		.loc 1 3895 0
 2315              		.cfi_startproc
 2316              		@ args = 0, pretend = 0, frame = 0
 2317              		@ frame_needed = 0, uses_anonymous_args = 0
 2318              	.LVL167:
 2319 0000 08B5     		push	{r3, lr}
 2320              	.LCFI19:
 2321              		.cfi_def_cfa_offset 8
 2322              		.cfi_offset 3, -8
 2323              		.cfi_offset 14, -4
3896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2324              		.loc 1 3896 0
 2325 0002 806A     		ldr	r0, [r0, #40]
 2326              	.LVL168:
3898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2327              		.loc 1 3898 0
 2328 0004 0023     		movs	r3, #0
 2329 0006 A0F85630 		strh	r3, [r0, #86]	@ movhi
3901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 2330              		.loc 1 3901 0
 2331 000a 436E     		ldr	r3, [r0, #100]
 2332 000c B3F1005F 		cmp	r3, #536870912
 2333 0010 05D0     		beq	.L183
 2334              	.L181:
3907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2335              		.loc 1 3907 0
 2336 0012 2023     		movs	r3, #32
 2337 0014 C0F88430 		str	r3, [r0, #132]
3915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 2338              		.loc 1 3915 0
 2339 0018 FFF7FEFF 		bl	HAL_UART_AbortTransmitCpltCallback
 2340              	.LVL169:
3917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
ARM GAS  /tmp/ccVmA0m0.s 			page 120


 2341              		.loc 1 3917 0
 2342 001c 08BD     		pop	{r3, pc}
 2343              	.LVL170:
 2344              	.L183:
3903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 2345              		.loc 1 3903 0
 2346 001e 0268     		ldr	r2, [r0]
 2347 0020 9369     		ldr	r3, [r2, #24]
 2348 0022 43F01003 		orr	r3, r3, #16
 2349 0026 9361     		str	r3, [r2, #24]
 2350 0028 F3E7     		b	.L181
 2351              		.cfi_endproc
 2352              	.LFE191:
 2354              		.section	.text.HAL_UART_AbortReceiveCpltCallback,"ax",%progbits
 2355              		.align	1
 2356              		.weak	HAL_UART_AbortReceiveCpltCallback
 2357              		.syntax unified
 2358              		.thumb
 2359              		.thumb_func
 2360              		.fpu fpv4-sp-d16
 2362              	HAL_UART_AbortReceiveCpltCallback:
 2363              	.LFB162:
2653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
 2364              		.loc 1 2653 0
 2365              		.cfi_startproc
 2366              		@ args = 0, pretend = 0, frame = 0
 2367              		@ frame_needed = 0, uses_anonymous_args = 0
 2368              		@ link register save eliminated.
 2369              	.LVL171:
2660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2370              		.loc 1 2660 0
 2371 0000 7047     		bx	lr
 2372              		.cfi_endproc
 2373              	.LFE162:
 2375              		.section	.text.HAL_UART_AbortReceive_IT,"ax",%progbits
 2376              		.align	1
 2377              		.global	HAL_UART_AbortReceive_IT
 2378              		.syntax unified
 2379              		.thumb
 2380              		.thumb_func
 2381              		.fpu fpv4-sp-d16
 2383              	HAL_UART_AbortReceive_IT:
 2384              	.LFB153:
2137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
 2385              		.loc 1 2137 0
 2386              		.cfi_startproc
 2387              		@ args = 0, pretend = 0, frame = 0
 2388              		@ frame_needed = 0, uses_anonymous_args = 0
 2389              	.LVL172:
 2390 0000 10B5     		push	{r4, lr}
 2391              	.LCFI20:
 2392              		.cfi_def_cfa_offset 8
 2393              		.cfi_offset 4, -8
 2394              		.cfi_offset 14, -4
 2395 0002 0446     		mov	r4, r0
2139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE));
 2396              		.loc 1 2139 0
ARM GAS  /tmp/ccVmA0m0.s 			page 121


 2397 0004 0268     		ldr	r2, [r0]
 2398 0006 1368     		ldr	r3, [r2]
 2399 0008 23F49073 		bic	r3, r3, #288
 2400 000c 1360     		str	r3, [r2]
2140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2401              		.loc 1 2140 0
 2402 000e 0268     		ldr	r2, [r0]
 2403 0010 9368     		ldr	r3, [r2, #8]
 2404 0012 23F08053 		bic	r3, r3, #268435456
 2405 0016 23F00103 		bic	r3, r3, #1
 2406 001a 9360     		str	r3, [r2, #8]
2143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 2407              		.loc 1 2143 0
 2408 001c C36E     		ldr	r3, [r0, #108]
 2409 001e 012B     		cmp	r3, #1
 2410 0020 15D0     		beq	.L191
 2411              	.L186:
2149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 2412              		.loc 1 2149 0
 2413 0022 2368     		ldr	r3, [r4]
 2414 0024 9A68     		ldr	r2, [r3, #8]
 2415 0026 12F0400F 		tst	r2, #64
 2416 002a 2AD0     		beq	.L187
2151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2417              		.loc 1 2151 0
 2418 002c 9A68     		ldr	r2, [r3, #8]
 2419 002e 22F04002 		bic	r2, r2, #64
 2420 0032 9A60     		str	r2, [r3, #8]
2154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 2421              		.loc 1 2154 0
 2422 0034 E36F     		ldr	r3, [r4, #124]
 2423 0036 83B1     		cbz	r3, .L188
2158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2424              		.loc 1 2158 0
 2425 0038 194A     		ldr	r2, .L192
 2426 003a 9A63     		str	r2, [r3, #56]
2161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 2427              		.loc 1 2161 0
 2428 003c E06F     		ldr	r0, [r4, #124]
 2429              	.LVL173:
 2430 003e FFF7FEFF 		bl	HAL_DMA_Abort_IT
 2431              	.LVL174:
 2432 0042 10B1     		cbz	r0, .L189
2164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
 2433              		.loc 1 2164 0
 2434 0044 E06F     		ldr	r0, [r4, #124]
 2435 0046 836B     		ldr	r3, [r0, #56]
 2436 0048 9847     		blx	r3
 2437              	.LVL175:
 2438              	.L189:
2221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2439              		.loc 1 2221 0
 2440 004a 0020     		movs	r0, #0
 2441 004c 10BD     		pop	{r4, pc}
 2442              	.LVL176:
 2443              	.L191:
2145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
ARM GAS  /tmp/ccVmA0m0.s 			page 122


 2444              		.loc 1 2145 0
 2445 004e 0268     		ldr	r2, [r0]
 2446 0050 1368     		ldr	r3, [r2]
 2447 0052 23F01003 		bic	r3, r3, #16
 2448 0056 1360     		str	r3, [r2]
 2449 0058 E3E7     		b	.L186
 2450              	.L188:
2170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2451              		.loc 1 2170 0
 2452 005a 0023     		movs	r3, #0
 2453 005c A4F85E30 		strh	r3, [r4, #94]	@ movhi
2173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2454              		.loc 1 2173 0
 2455 0060 A365     		str	r3, [r4, #88]
2176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2456              		.loc 1 2176 0
 2457 0062 2268     		ldr	r2, [r4]
 2458 0064 0F21     		movs	r1, #15
 2459 0066 1162     		str	r1, [r2, #32]
2179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2460              		.loc 1 2179 0
 2461 0068 2168     		ldr	r1, [r4]
 2462 006a 8A69     		ldr	r2, [r1, #24]
 2463 006c 42F00802 		orr	r2, r2, #8
 2464 0070 8A61     		str	r2, [r1, #24]
2182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
 2465              		.loc 1 2182 0
 2466 0072 2022     		movs	r2, #32
 2467 0074 C4F88820 		str	r2, [r4, #136]
2183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2468              		.loc 1 2183 0
 2469 0078 E366     		str	r3, [r4, #108]
2191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 2470              		.loc 1 2191 0
 2471 007a 2046     		mov	r0, r4
 2472              	.LVL177:
 2473 007c FFF7FEFF 		bl	HAL_UART_AbortReceiveCpltCallback
 2474              	.LVL178:
 2475 0080 E3E7     		b	.L189
 2476              	.LVL179:
 2477              	.L187:
2198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2478              		.loc 1 2198 0
 2479 0082 0022     		movs	r2, #0
 2480 0084 A4F85E20 		strh	r2, [r4, #94]	@ movhi
2201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2481              		.loc 1 2201 0
 2482 0088 A265     		str	r2, [r4, #88]
2204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2483              		.loc 1 2204 0
 2484 008a 0F21     		movs	r1, #15
 2485 008c 1962     		str	r1, [r3, #32]
2207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
 2486              		.loc 1 2207 0
 2487 008e 2023     		movs	r3, #32
 2488 0090 C4F88830 		str	r3, [r4, #136]
2208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
ARM GAS  /tmp/ccVmA0m0.s 			page 123


 2489              		.loc 1 2208 0
 2490 0094 E266     		str	r2, [r4, #108]
2216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 2491              		.loc 1 2216 0
 2492 0096 2046     		mov	r0, r4
 2493              	.LVL180:
 2494 0098 FFF7FEFF 		bl	HAL_UART_AbortReceiveCpltCallback
 2495              	.LVL181:
 2496 009c D5E7     		b	.L189
 2497              	.L193:
 2498 009e 00BF     		.align	2
 2499              	.L192:
 2500 00a0 00000000 		.word	UART_DMARxOnlyAbortCallback
 2501              		.cfi_endproc
 2502              	.LFE153:
 2504              		.section	.text.UART_DMARxOnlyAbortCallback,"ax",%progbits
 2505              		.align	1
 2506              		.syntax unified
 2507              		.thumb
 2508              		.thumb_func
 2509              		.fpu fpv4-sp-d16
 2511              	UART_DMARxOnlyAbortCallback:
 2512              	.LFB192:
3928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
 2513              		.loc 1 3928 0
 2514              		.cfi_startproc
 2515              		@ args = 0, pretend = 0, frame = 0
 2516              		@ frame_needed = 0, uses_anonymous_args = 0
 2517              	.LVL182:
 2518 0000 08B5     		push	{r3, lr}
 2519              	.LCFI21:
 2520              		.cfi_def_cfa_offset 8
 2521              		.cfi_offset 3, -8
 2522              		.cfi_offset 14, -4
3929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2523              		.loc 1 3929 0
 2524 0002 806A     		ldr	r0, [r0, #40]
 2525              	.LVL183:
3931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2526              		.loc 1 3931 0
 2527 0004 0022     		movs	r2, #0
 2528 0006 A0F85E20 		strh	r2, [r0, #94]	@ movhi
3934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2529              		.loc 1 3934 0
 2530 000a 0368     		ldr	r3, [r0]
 2531 000c 0F21     		movs	r1, #15
 2532 000e 1962     		str	r1, [r3, #32]
3937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2533              		.loc 1 3937 0
 2534 0010 0168     		ldr	r1, [r0]
 2535 0012 8B69     		ldr	r3, [r1, #24]
 2536 0014 43F00803 		orr	r3, r3, #8
 2537 0018 8B61     		str	r3, [r1, #24]
3940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
 2538              		.loc 1 3940 0
 2539 001a 2023     		movs	r3, #32
 2540 001c C0F88830 		str	r3, [r0, #136]
ARM GAS  /tmp/ccVmA0m0.s 			page 124


3941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2541              		.loc 1 3941 0
 2542 0020 C266     		str	r2, [r0, #108]
3949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 2543              		.loc 1 3949 0
 2544 0022 FFF7FEFF 		bl	HAL_UART_AbortReceiveCpltCallback
 2545              	.LVL184:
3951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2546              		.loc 1 3951 0
 2547 0026 08BD     		pop	{r3, pc}
 2548              		.cfi_endproc
 2549              	.LFE192:
 2551              		.section	.text.HAL_UARTEx_RxEventCallback,"ax",%progbits
 2552              		.align	1
 2553              		.weak	HAL_UARTEx_RxEventCallback
 2554              		.syntax unified
 2555              		.thumb
 2556              		.thumb_func
 2557              		.fpu fpv4-sp-d16
 2559              	HAL_UARTEx_RxEventCallback:
 2560              	.LFB163:
2670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Prevent unused argument(s) compilation warning */
 2561              		.loc 1 2670 0
 2562              		.cfi_startproc
 2563              		@ args = 0, pretend = 0, frame = 0
 2564              		@ frame_needed = 0, uses_anonymous_args = 0
 2565              		@ link register save eliminated.
 2566              	.LVL185:
2678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2567              		.loc 1 2678 0
 2568 0000 7047     		bx	lr
 2569              		.cfi_endproc
 2570              	.LFE163:
 2572              		.section	.text.HAL_UART_IRQHandler,"ax",%progbits
 2573              		.align	1
 2574              		.global	HAL_UART_IRQHandler
 2575              		.syntax unified
 2576              		.thumb
 2577              		.thumb_func
 2578              		.fpu fpv4-sp-d16
 2580              	HAL_UART_IRQHandler:
 2581              	.LFB154:
2229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint32_t isrflags   = READ_REG(huart->Instance->ISR);
 2582              		.loc 1 2229 0
 2583              		.cfi_startproc
 2584              		@ args = 0, pretend = 0, frame = 0
 2585              		@ frame_needed = 0, uses_anonymous_args = 0
 2586              	.LVL186:
 2587 0000 70B5     		push	{r4, r5, r6, lr}
 2588              	.LCFI22:
 2589              		.cfi_def_cfa_offset 16
 2590              		.cfi_offset 4, -16
 2591              		.cfi_offset 5, -12
 2592              		.cfi_offset 6, -8
 2593              		.cfi_offset 14, -4
 2594 0002 0446     		mov	r4, r0
2230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint32_t cr1its     = READ_REG(huart->Instance->CR1);
ARM GAS  /tmp/ccVmA0m0.s 			page 125


 2595              		.loc 1 2230 0
 2596 0004 0168     		ldr	r1, [r0]
 2597 0006 CB69     		ldr	r3, [r1, #28]
 2598              	.LVL187:
2231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint32_t cr3its     = READ_REG(huart->Instance->CR3);
 2599              		.loc 1 2231 0
 2600 0008 0D68     		ldr	r5, [r1]
 2601              	.LVL188:
2232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2602              		.loc 1 2232 0
 2603 000a 8868     		ldr	r0, [r1, #8]
 2604              	.LVL189:
2238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (errorflags == 0U)
 2605              		.loc 1 2238 0
 2606 000c 40F60F02 		movw	r2, #2063
 2607              	.LVL190:
2239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 2608              		.loc 1 2239 0
 2609 0010 1A40     		ands	r2, r3, r2
 2610              	.LVL191:
 2611 0012 0DD1     		bne	.L198
2242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U)
 2612              		.loc 1 2242 0
 2613 0014 13F0200F 		tst	r3, #32
 2614 0018 0AD0     		beq	.L198
2243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             || ((cr3its & USART_CR3_RXFTIE) != 0U)))
 2615              		.loc 1 2243 0
 2616 001a 15F0200F 		tst	r5, #32
 2617 001e 02D1     		bne	.L199
2244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 2618              		.loc 1 2244 0
 2619 0020 10F0805F 		tst	r0, #268435456
 2620 0024 04D0     		beq	.L198
 2621              	.L199:
2246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 2622              		.loc 1 2246 0
 2623 0026 236F     		ldr	r3, [r4, #112]
 2624              	.LVL192:
 2625 0028 0BB1     		cbz	r3, .L197
2248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
 2626              		.loc 1 2248 0
 2627 002a 2046     		mov	r0, r4
 2628              	.LVL193:
 2629 002c 9847     		blx	r3
 2630              	.LVL194:
 2631              	.L197:
2540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2632              		.loc 1 2540 0
 2633 002e 70BD     		pop	{r4, r5, r6, pc}
 2634              	.LVL195:
 2635              	.L198:
2255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       && ((((cr3its & (USART_CR3_RXFTIE | USART_CR3_EIE)) != 0U)
 2636              		.loc 1 2255 0
 2637 0030 002A     		cmp	r2, #0
 2638 0032 00F09580 		beq	.L201
2256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****            || ((cr1its & (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U))))
 2639              		.loc 1 2256 0
ARM GAS  /tmp/ccVmA0m0.s 			page 126


 2640 0036 A24A     		ldr	r2, .L229
 2641              	.LVL196:
 2642 0038 0240     		ands	r2, r0, r2
 2643 003a 03D1     		bne	.L202
2257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 2644              		.loc 1 2257 0
 2645 003c A14E     		ldr	r6, .L229+4
 2646 003e 3542     		tst	r5, r6
 2647 0040 00F08E80 		beq	.L201
 2648              	.L202:
2260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 2649              		.loc 1 2260 0
 2650 0044 13F0010F 		tst	r3, #1
 2651 0048 09D0     		beq	.L203
2260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 2652              		.loc 1 2260 0 is_stmt 0 discriminator 1
 2653 004a 15F4807F 		tst	r5, #256
 2654 004e 06D0     		beq	.L203
2262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2655              		.loc 1 2262 0 is_stmt 1
 2656 0050 0126     		movs	r6, #1
 2657 0052 0E62     		str	r6, [r1, #32]
2264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 2658              		.loc 1 2264 0
 2659 0054 D4F88C10 		ldr	r1, [r4, #140]
 2660 0058 3143     		orrs	r1, r1, r6
 2661 005a C4F88C10 		str	r1, [r4, #140]
 2662              	.L203:
2268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 2663              		.loc 1 2268 0
 2664 005e 13F0020F 		tst	r3, #2
 2665 0062 0BD0     		beq	.L204
2268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 2666              		.loc 1 2268 0 is_stmt 0 discriminator 1
 2667 0064 10F0010F 		tst	r0, #1
 2668 0068 08D0     		beq	.L204
2270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2669              		.loc 1 2270 0 is_stmt 1
 2670 006a 2168     		ldr	r1, [r4]
 2671 006c 0226     		movs	r6, #2
 2672 006e 0E62     		str	r6, [r1, #32]
2272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 2673              		.loc 1 2272 0
 2674 0070 D4F88C10 		ldr	r1, [r4, #140]
 2675 0074 41F00401 		orr	r1, r1, #4
 2676 0078 C4F88C10 		str	r1, [r4, #140]
 2677              	.L204:
2276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 2678              		.loc 1 2276 0
 2679 007c 13F0040F 		tst	r3, #4
 2680 0080 0BD0     		beq	.L205
2276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 2681              		.loc 1 2276 0 is_stmt 0 discriminator 1
 2682 0082 10F0010F 		tst	r0, #1
 2683 0086 08D0     		beq	.L205
2278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2684              		.loc 1 2278 0 is_stmt 1
ARM GAS  /tmp/ccVmA0m0.s 			page 127


 2685 0088 2168     		ldr	r1, [r4]
 2686 008a 0426     		movs	r6, #4
 2687 008c 0E62     		str	r6, [r1, #32]
2280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 2688              		.loc 1 2280 0
 2689 008e D4F88C10 		ldr	r1, [r4, #140]
 2690 0092 41F00201 		orr	r1, r1, #2
 2691 0096 C4F88C10 		str	r1, [r4, #140]
 2692              	.L205:
2284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U) ||
 2693              		.loc 1 2284 0
 2694 009a 13F0080F 		tst	r3, #8
 2695 009e 0BD0     		beq	.L206
2285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             ((cr3its & (USART_CR3_RXFTIE | USART_CR3_EIE)) != 0U)))
 2696              		.loc 1 2285 0
 2697 00a0 15F0200F 		tst	r5, #32
 2698 00a4 00D1     		bne	.L207
2285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             ((cr3its & (USART_CR3_RXFTIE | USART_CR3_EIE)) != 0U)))
 2699              		.loc 1 2285 0 is_stmt 0 discriminator 1
 2700 00a6 3AB1     		cbz	r2, .L206
 2701              	.L207:
2288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2702              		.loc 1 2288 0 is_stmt 1
 2703 00a8 2268     		ldr	r2, [r4]
 2704 00aa 0821     		movs	r1, #8
 2705 00ac 1162     		str	r1, [r2, #32]
2290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 2706              		.loc 1 2290 0
 2707 00ae D4F88C20 		ldr	r2, [r4, #140]
 2708 00b2 0A43     		orrs	r2, r2, r1
 2709 00b4 C4F88C20 		str	r2, [r4, #140]
 2710              	.L206:
2294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 2711              		.loc 1 2294 0
 2712 00b8 13F4006F 		tst	r3, #2048
 2713 00bc 0CD0     		beq	.L208
2294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 2714              		.loc 1 2294 0 is_stmt 0 discriminator 1
 2715 00be 15F0806F 		tst	r5, #67108864
 2716 00c2 09D0     		beq	.L208
2296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2717              		.loc 1 2296 0 is_stmt 1
 2718 00c4 2268     		ldr	r2, [r4]
 2719 00c6 4FF40061 		mov	r1, #2048
 2720 00ca 1162     		str	r1, [r2, #32]
2298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 2721              		.loc 1 2298 0
 2722 00cc D4F88C20 		ldr	r2, [r4, #140]
 2723 00d0 42F02002 		orr	r2, r2, #32
 2724 00d4 C4F88C20 		str	r2, [r4, #140]
 2725              	.L208:
2302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 2726              		.loc 1 2302 0
 2727 00d8 D4F88C20 		ldr	r2, [r4, #140]
 2728 00dc 002A     		cmp	r2, #0
 2729 00de A6D0     		beq	.L197
2305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U)
ARM GAS  /tmp/ccVmA0m0.s 			page 128


 2730              		.loc 1 2305 0
 2731 00e0 13F0200F 		tst	r3, #32
 2732 00e4 09D0     		beq	.L209
2306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****               || ((cr3its & USART_CR3_RXFTIE) != 0U)))
 2733              		.loc 1 2306 0
 2734 00e6 15F0200F 		tst	r5, #32
 2735 00ea 02D1     		bne	.L210
2307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 2736              		.loc 1 2307 0
 2737 00ec 10F0805F 		tst	r0, #268435456
 2738 00f0 03D0     		beq	.L209
 2739              	.L210:
2309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
 2740              		.loc 1 2309 0
 2741 00f2 236F     		ldr	r3, [r4, #112]
 2742              	.LVL197:
 2743 00f4 0BB1     		cbz	r3, .L209
2311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
 2744              		.loc 1 2311 0
 2745 00f6 2046     		mov	r0, r4
 2746              	.LVL198:
 2747 00f8 9847     		blx	r3
 2748              	.LVL199:
 2749              	.L209:
2320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) ||
 2750              		.loc 1 2320 0
 2751 00fa D4F88C20 		ldr	r2, [r4, #140]
 2752              	.LVL200:
2321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U))
 2753              		.loc 1 2321 0
 2754 00fe 2368     		ldr	r3, [r4]
 2755 0100 9B68     		ldr	r3, [r3, #8]
 2756 0102 13F0400F 		tst	r3, #64
 2757 0106 02D1     		bne	.L211
2321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U))
 2758              		.loc 1 2321 0 is_stmt 0 discriminator 1
 2759 0108 12F0280F 		tst	r2, #40
 2760 010c 21D0     		beq	.L212
 2761              	.L211:
2327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2762              		.loc 1 2327 0 is_stmt 1
 2763 010e 2046     		mov	r0, r4
 2764 0110 FFF7FEFF 		bl	UART_EndRxTransfer
 2765              	.LVL201:
2330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
 2766              		.loc 1 2330 0
 2767 0114 2368     		ldr	r3, [r4]
 2768 0116 9A68     		ldr	r2, [r3, #8]
 2769 0118 12F0400F 		tst	r2, #64
 2770 011c 15D0     		beq	.L213
2332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2771              		.loc 1 2332 0
 2772 011e 9A68     		ldr	r2, [r3, #8]
 2773 0120 22F04002 		bic	r2, r2, #64
 2774 0124 9A60     		str	r2, [r3, #8]
2335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           {
 2775              		.loc 1 2335 0
ARM GAS  /tmp/ccVmA0m0.s 			page 129


 2776 0126 E36F     		ldr	r3, [r4, #124]
 2777 0128 5BB1     		cbz	r3, .L214
2339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2778              		.loc 1 2339 0
 2779 012a 674A     		ldr	r2, .L229+8
 2780 012c 9A63     		str	r2, [r3, #56]
2342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             {
 2781              		.loc 1 2342 0
 2782 012e E06F     		ldr	r0, [r4, #124]
 2783 0130 FFF7FEFF 		bl	HAL_DMA_Abort_IT
 2784              	.LVL202:
 2785 0134 0028     		cmp	r0, #0
 2786 0136 3FF47AAF 		beq	.L197
2345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****             }
 2787              		.loc 1 2345 0
 2788 013a E06F     		ldr	r0, [r4, #124]
 2789 013c 836B     		ldr	r3, [r0, #56]
 2790 013e 9847     		blx	r3
 2791              	.LVL203:
 2792 0140 75E7     		b	.L197
 2793              	.L214:
2356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 2794              		.loc 1 2356 0
 2795 0142 2046     		mov	r0, r4
 2796 0144 FFF7FEFF 		bl	HAL_UART_ErrorCallback
 2797              	.LVL204:
 2798 0148 71E7     		b	.L197
 2799              	.L213:
2369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 2800              		.loc 1 2369 0
 2801 014a 2046     		mov	r0, r4
 2802 014c FFF7FEFF 		bl	HAL_UART_ErrorCallback
 2803              	.LVL205:
 2804 0150 6DE7     		b	.L197
 2805              	.LVL206:
 2806              	.L212:
2382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 2807              		.loc 1 2382 0
 2808 0152 2046     		mov	r0, r4
 2809 0154 FFF7FEFF 		bl	HAL_UART_ErrorCallback
 2810              	.LVL207:
2384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
 2811              		.loc 1 2384 0
 2812 0158 0023     		movs	r3, #0
 2813 015a C4F88C30 		str	r3, [r4, #140]
 2814 015e 66E7     		b	.L197
 2815              	.LVL208:
 2816              	.L201:
2393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       && ((isrflags & USART_ISR_IDLE) != 0U)
 2817              		.loc 1 2393 0
 2818 0160 E26E     		ldr	r2, [r4, #108]
 2819 0162 012A     		cmp	r2, #1
 2820 0164 16D0     		beq	.L224
 2821              	.L215:
2479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 2822              		.loc 1 2479 0
 2823 0166 13F4801F 		tst	r3, #1048576
ARM GAS  /tmp/ccVmA0m0.s 			page 130


 2824 016a 02D0     		beq	.L218
2479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 2825              		.loc 1 2479 0 is_stmt 0 discriminator 1
 2826 016c 10F4800F 		tst	r0, #4194304
 2827 0170 7FD1     		bne	.L225
 2828              	.L218:
2497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       && (((cr1its & USART_CR1_TXEIE_TXFNFIE) != 0U)
 2829              		.loc 1 2497 0 is_stmt 1
 2830 0172 13F0800F 		tst	r3, #128
 2831 0176 00F08380 		beq	.L219
2498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           || ((cr3its & USART_CR3_TXFTIE) != 0U)))
 2832              		.loc 1 2498 0
 2833 017a 15F0800F 		tst	r5, #128
 2834 017e 02D1     		bne	.L220
2499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 2835              		.loc 1 2499 0
 2836 0180 10F4000F 		tst	r0, #8388608
 2837 0184 7CD0     		beq	.L219
 2838              	.L220:
2501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 2839              		.loc 1 2501 0
 2840 0186 636F     		ldr	r3, [r4, #116]
 2841              	.LVL209:
 2842 0188 002B     		cmp	r3, #0
 2843 018a 3FF450AF 		beq	.L197
2503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 2844              		.loc 1 2503 0
 2845 018e 2046     		mov	r0, r4
 2846              	.LVL210:
 2847 0190 9847     		blx	r3
 2848              	.LVL211:
 2849 0192 4CE7     		b	.L197
 2850              	.LVL212:
 2851              	.L224:
2394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       && ((cr1its & USART_ISR_IDLE) != 0U))
 2852              		.loc 1 2394 0
 2853 0194 13F0100F 		tst	r3, #16
 2854 0198 E5D0     		beq	.L215
2395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 2855              		.loc 1 2395 0
 2856 019a 15F0100F 		tst	r5, #16
 2857 019e E2D0     		beq	.L215
2397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2858              		.loc 1 2397 0
 2859 01a0 1023     		movs	r3, #16
 2860              	.LVL213:
 2861 01a2 0B62     		str	r3, [r1, #32]
2400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 2862              		.loc 1 2400 0
 2863 01a4 2268     		ldr	r2, [r4]
 2864 01a6 9368     		ldr	r3, [r2, #8]
 2865 01a8 13F0400F 		tst	r3, #64
 2866 01ac 38D0     		beq	.L216
 2867              	.LBB2:
2406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if ((nb_remaining_rx_data > 0U)
 2868              		.loc 1 2406 0
 2869 01ae E16F     		ldr	r1, [r4, #124]
ARM GAS  /tmp/ccVmA0m0.s 			page 131


 2870 01b0 0B68     		ldr	r3, [r1]
 2871 01b2 5B68     		ldr	r3, [r3, #4]
 2872 01b4 9BB2     		uxth	r3, r3
 2873              	.LVL214:
2407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           && (nb_remaining_rx_data < huart->RxXferSize))
 2874              		.loc 1 2407 0
 2875 01b6 002B     		cmp	r3, #0
 2876 01b8 3FF439AF 		beq	.L197
2408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 2877              		.loc 1 2408 0
 2878 01bc B4F85C00 		ldrh	r0, [r4, #92]
 2879              	.LVL215:
 2880 01c0 9842     		cmp	r0, r3
 2881 01c2 7FF634AF 		bls	.L197
2411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2882              		.loc 1 2411 0
 2883 01c6 A4F85E30 		strh	r3, [r4, #94]	@ movhi
2414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
 2884              		.loc 1 2414 0
 2885 01ca 0B68     		ldr	r3, [r1]
 2886              	.LVL216:
 2887 01cc 1B68     		ldr	r3, [r3]
 2888 01ce 13F0200F 		tst	r3, #32
 2889 01d2 09D0     		beq	.L226
 2890              	.LVL217:
 2891              	.L217:
2438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
 2892              		.loc 1 2438 0
 2893 01d4 B4F85C10 		ldrh	r1, [r4, #92]
 2894 01d8 B4F85E30 		ldrh	r3, [r4, #94]
 2895 01dc C91A     		subs	r1, r1, r3
 2896 01de 89B2     		uxth	r1, r1
 2897 01e0 2046     		mov	r0, r4
 2898 01e2 FFF7FEFF 		bl	HAL_UARTEx_RxEventCallback
 2899              	.LVL218:
 2900 01e6 22E7     		b	.L197
 2901              	.LVL219:
 2902              	.L226:
2417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
 2903              		.loc 1 2417 0
 2904 01e8 1368     		ldr	r3, [r2]
 2905 01ea 23F48073 		bic	r3, r3, #256
 2906 01ee 1360     		str	r3, [r2]
 2907              	.LVL220:
2418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2908              		.loc 1 2418 0
 2909 01f0 2268     		ldr	r2, [r4]
 2910 01f2 9368     		ldr	r3, [r2, #8]
 2911 01f4 23F00103 		bic	r3, r3, #1
 2912 01f8 9360     		str	r3, [r2, #8]
2422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2913              		.loc 1 2422 0
 2914 01fa 2268     		ldr	r2, [r4]
 2915 01fc 9368     		ldr	r3, [r2, #8]
 2916 01fe 23F04003 		bic	r3, r3, #64
 2917 0202 9360     		str	r3, [r2, #8]
2425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
ARM GAS  /tmp/ccVmA0m0.s 			page 132


 2918              		.loc 1 2425 0
 2919 0204 2023     		movs	r3, #32
 2920 0206 C4F88830 		str	r3, [r4, #136]
2426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2921              		.loc 1 2426 0
 2922 020a 0023     		movs	r3, #0
 2923 020c E366     		str	r3, [r4, #108]
2428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2924              		.loc 1 2428 0
 2925 020e 2268     		ldr	r2, [r4]
 2926 0210 1368     		ldr	r3, [r2]
 2927 0212 23F01003 		bic	r3, r3, #16
 2928 0216 1360     		str	r3, [r2]
2431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
 2929              		.loc 1 2431 0
 2930 0218 E06F     		ldr	r0, [r4, #124]
 2931 021a FFF7FEFF 		bl	HAL_DMA_Abort
 2932              	.LVL221:
 2933 021e D9E7     		b	.L217
 2934              	.LVL222:
 2935              	.L216:
 2936              	.LBE2:
 2937              	.LBB3:
2448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if ((huart->RxXferCount > 0U)
 2938              		.loc 1 2448 0
 2939 0220 B4F85C10 		ldrh	r1, [r4, #92]
 2940 0224 B4F85E30 		ldrh	r3, [r4, #94]
 2941 0228 C91A     		subs	r1, r1, r3
 2942 022a 89B2     		uxth	r1, r1
 2943              	.LVL223:
2449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           && (nb_rx_data > 0U))
 2944              		.loc 1 2449 0
 2945 022c B4F85E30 		ldrh	r3, [r4, #94]
 2946 0230 9BB2     		uxth	r3, r3
 2947 0232 002B     		cmp	r3, #0
 2948 0234 3FF4FBAE 		beq	.L197
2450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 2949              		.loc 1 2450 0
 2950 0238 0029     		cmp	r1, #0
 2951 023a 3FF4F8AE 		beq	.L197
2453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2952              		.loc 1 2453 0
 2953 023e 1368     		ldr	r3, [r2]
 2954 0240 23F49073 		bic	r3, r3, #288
 2955 0244 1360     		str	r3, [r2]
2456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2956              		.loc 1 2456 0
 2957 0246 2268     		ldr	r2, [r4]
 2958 0248 9368     		ldr	r3, [r2, #8]
 2959 024a 23F08053 		bic	r3, r3, #268435456
 2960 024e 23F00103 		bic	r3, r3, #1
 2961 0252 9360     		str	r3, [r2, #8]
2459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
 2962              		.loc 1 2459 0
 2963 0254 2023     		movs	r3, #32
 2964 0256 C4F88830 		str	r3, [r4, #136]
2460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
ARM GAS  /tmp/ccVmA0m0.s 			page 133


 2965              		.loc 1 2460 0
 2966 025a 0023     		movs	r3, #0
 2967 025c E366     		str	r3, [r4, #108]
2463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2968              		.loc 1 2463 0
 2969 025e 2367     		str	r3, [r4, #112]
2465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
 2970              		.loc 1 2465 0
 2971 0260 2268     		ldr	r2, [r4]
 2972 0262 1368     		ldr	r3, [r2]
 2973 0264 23F01003 		bic	r3, r3, #16
 2974 0268 1360     		str	r3, [r2]
2471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
 2975              		.loc 1 2471 0
 2976 026a 2046     		mov	r0, r4
 2977              	.LVL224:
 2978 026c FFF7FEFF 		bl	HAL_UARTEx_RxEventCallback
 2979              	.LVL225:
 2980 0270 DDE6     		b	.L197
 2981              	.LVL226:
 2982              	.L225:
 2983              	.LBE3:
2481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 2984              		.loc 1 2481 0
 2985 0272 4FF48013 		mov	r3, #1048576
 2986              	.LVL227:
 2987 0276 0B62     		str	r3, [r1, #32]
2491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 2988              		.loc 1 2491 0
 2989 0278 2046     		mov	r0, r4
 2990              	.LVL228:
 2991 027a FFF7FEFF 		bl	HAL_UARTEx_WakeupCallback
 2992              	.LVL229:
2493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 2993              		.loc 1 2493 0
 2994 027e D6E6     		b	.L197
 2995              	.LVL230:
 2996              	.L219:
2509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 2997              		.loc 1 2509 0
 2998 0280 13F0400F 		tst	r3, #64
 2999 0284 02D0     		beq	.L221
2509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 3000              		.loc 1 2509 0 is_stmt 0 discriminator 1
 3001 0286 15F0400F 		tst	r5, #64
 3002 028a 10D1     		bne	.L227
 3003              	.L221:
2516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 3004              		.loc 1 2516 0 is_stmt 1
 3005 028c 13F4000F 		tst	r3, #8388608
 3006 0290 02D0     		beq	.L222
2516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 3007              		.loc 1 2516 0 is_stmt 0 discriminator 1
 3008 0292 15F0804F 		tst	r5, #1073741824
 3009 0296 0ED1     		bne	.L228
 3010              	.L222:
2529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
ARM GAS  /tmp/ccVmA0m0.s 			page 134


 3011              		.loc 1 2529 0 is_stmt 1
 3012 0298 13F0807F 		tst	r3, #16777216
 3013 029c 3FF4C7AE 		beq	.L197
2529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 3014              		.loc 1 2529 0 is_stmt 0 discriminator 1
 3015 02a0 002D     		cmp	r5, #0
 3016 02a2 BFF6C4AE 		bge	.L197
2536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 3017              		.loc 1 2536 0 is_stmt 1
 3018 02a6 2046     		mov	r0, r4
 3019              	.LVL231:
 3020 02a8 FFF7FEFF 		bl	HAL_UARTEx_RxFifoFullCallback
 3021              	.LVL232:
2538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 3022              		.loc 1 2538 0
 3023 02ac BFE6     		b	.L197
 3024              	.LVL233:
 3025              	.L227:
2511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     return;
 3026              		.loc 1 2511 0
 3027 02ae 2046     		mov	r0, r4
 3028              	.LVL234:
 3029 02b0 FFF7FEFF 		bl	UART_EndTransmit_IT
 3030              	.LVL235:
2512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 3031              		.loc 1 2512 0
 3032 02b4 BBE6     		b	.L197
 3033              	.LVL236:
 3034              	.L228:
2523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 3035              		.loc 1 2523 0
 3036 02b6 2046     		mov	r0, r4
 3037              	.LVL237:
 3038 02b8 FFF7FEFF 		bl	HAL_UARTEx_TxFifoEmptyCallback
 3039              	.LVL238:
2525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 3040              		.loc 1 2525 0
 3041 02bc B7E6     		b	.L197
 3042              	.L230:
 3043 02be 00BF     		.align	2
 3044              	.L229:
 3045 02c0 01000010 		.word	268435457
 3046 02c4 20010004 		.word	67109152
 3047 02c8 00000000 		.word	UART_DMAAbortOnError
 3048              		.cfi_endproc
 3049              	.LFE154:
 3051              		.section	.text.UART_RxISR_8BIT,"ax",%progbits
 3052              		.align	1
 3053              		.syntax unified
 3054              		.thumb
 3055              		.thumb_func
 3056              		.fpu fpv4-sp-d16
 3058              	UART_RxISR_8BIT:
 3059              	.LFB198:
4121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
4123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief RX interrupt handler for 7 or 8 bits data word length .
ARM GAS  /tmp/ccVmA0m0.s 			page 135


4124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param huart UART handle.
4125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
4126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
4127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_RxISR_8BIT(UART_HandleTypeDef *huart)
4128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
 3060              		.loc 1 4128 0
 3061              		.cfi_startproc
 3062              		@ args = 0, pretend = 0, frame = 0
 3063              		@ frame_needed = 0, uses_anonymous_args = 0
 3064              	.LVL239:
4129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint16_t uhMask = huart->Mask;
 3065              		.loc 1 4129 0
 3066 0000 B0F86030 		ldrh	r3, [r0, #96]
 3067              	.LVL240:
4130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint16_t  uhdata;
4131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check that a Rx process is ongoing */
4133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->RxState == HAL_UART_STATE_BUSY_RX)
 3068              		.loc 1 4133 0
 3069 0004 D0F88820 		ldr	r2, [r0, #136]
 3070 0008 222A     		cmp	r2, #34
 3071 000a 05D0     		beq	.L240
4134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
4135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     uhdata = (uint16_t) READ_REG(huart->Instance->RDR);
4136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask);
4137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->pRxBuffPtr++;
4138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->RxXferCount--;
4139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (huart->RxXferCount == 0U)
4141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
4142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Disable the UART Parity Error Interrupt and RXNE interrupts */
4143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE));
4144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */
4146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Rx process is completed, restore huart->RxState to Ready */
4149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->RxState = HAL_UART_STATE_READY;
4150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Clear RxISR function pointer */
4152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->RxISR = NULL;
4153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Check current reception Mode :
4155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****          If Reception till IDLE event has been selected : */
4156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
4157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
4158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Disable IDLE interrupt */
4159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
4160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /*Call registered Rx Event callback*/
4163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->RxEventCallback(huart, huart->RxXferSize);
4164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
4165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /*Call legacy weak Rx Event callback*/
4166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize);
4167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
4168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
ARM GAS  /tmp/ccVmA0m0.s 			page 136


4169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       else
4170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
4171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Standard reception API called */
4172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /*Call registered Rx complete callback*/
4174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->RxCpltCallback(huart);
4175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
4176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /*Call legacy weak Rx complete callback*/
4177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         HAL_UART_RxCpltCallback(huart);
4178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
4180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
4182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
4183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   else
4184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
4185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Clear RXNE interrupt flag */
4186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
 3072              		.loc 1 4186 0
 3073 000c 0268     		ldr	r2, [r0]
 3074 000e 9369     		ldr	r3, [r2, #24]
 3075              	.LVL241:
 3076 0010 43F00803 		orr	r3, r3, #8
 3077 0014 9361     		str	r3, [r2, #24]
 3078              	.LVL242:
4187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
4188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
 3079              		.loc 1 4188 0
 3080 0016 7047     		bx	lr
 3081              	.LVL243:
 3082              	.L240:
4135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask);
 3083              		.loc 1 4135 0
 3084 0018 0268     		ldr	r2, [r0]
 3085 001a 516A     		ldr	r1, [r2, #36]
 3086              	.LVL244:
4136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->pRxBuffPtr++;
 3087              		.loc 1 4136 0
 3088 001c DBB2     		uxtb	r3, r3
 3089              	.LVL245:
 3090 001e 826D     		ldr	r2, [r0, #88]
 3091 0020 0B40     		ands	r3, r3, r1
 3092 0022 1370     		strb	r3, [r2]
 3093              	.LVL246:
4137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->RxXferCount--;
 3094              		.loc 1 4137 0
 3095 0024 836D     		ldr	r3, [r0, #88]
 3096 0026 0133     		adds	r3, r3, #1
 3097 0028 8365     		str	r3, [r0, #88]
4138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3098              		.loc 1 4138 0
 3099 002a B0F85E30 		ldrh	r3, [r0, #94]
 3100 002e 013B     		subs	r3, r3, #1
 3101 0030 9BB2     		uxth	r3, r3
 3102 0032 A0F85E30 		strh	r3, [r0, #94]	@ movhi
4140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 3103              		.loc 1 4140 0
ARM GAS  /tmp/ccVmA0m0.s 			page 137


 3104 0036 B0F85E30 		ldrh	r3, [r0, #94]
 3105 003a 9BB2     		uxth	r3, r3
 3106 003c 13BB     		cbnz	r3, .L237
4128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint16_t uhMask = huart->Mask;
 3107              		.loc 1 4128 0
 3108 003e 10B5     		push	{r4, lr}
 3109              	.LCFI23:
 3110              		.cfi_def_cfa_offset 8
 3111              		.cfi_offset 4, -8
 3112              		.cfi_offset 14, -4
 3113 0040 0446     		mov	r4, r0
4143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3114              		.loc 1 4143 0
 3115 0042 0268     		ldr	r2, [r0]
 3116 0044 1368     		ldr	r3, [r2]
 3117 0046 23F49073 		bic	r3, r3, #288
 3118 004a 1360     		str	r3, [r2]
4146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3119              		.loc 1 4146 0
 3120 004c 0268     		ldr	r2, [r0]
 3121 004e 9368     		ldr	r3, [r2, #8]
 3122 0050 23F00103 		bic	r3, r3, #1
 3123 0054 9360     		str	r3, [r2, #8]
4149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3124              		.loc 1 4149 0
 3125 0056 2023     		movs	r3, #32
 3126 0058 C0F88830 		str	r3, [r0, #136]
4152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3127              		.loc 1 4152 0
 3128 005c 0023     		movs	r3, #0
 3129 005e 0367     		str	r3, [r0, #112]
4156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 3130              		.loc 1 4156 0
 3131 0060 C36E     		ldr	r3, [r0, #108]
 3132 0062 012B     		cmp	r3, #1
 3133 0064 04D0     		beq	.L241
4177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 3134              		.loc 1 4177 0
 3135 0066 FFF7FEFF 		bl	HAL_UART_RxCpltCallback
 3136              	.LVL247:
 3137              	.L235:
4180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 3138              		.loc 1 4180 0
 3139 006a 0023     		movs	r3, #0
 3140 006c E366     		str	r3, [r4, #108]
 3141              		.loc 1 4188 0
 3142 006e 10BD     		pop	{r4, pc}
 3143              	.LVL248:
 3144              	.L241:
4159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3145              		.loc 1 4159 0
 3146 0070 0268     		ldr	r2, [r0]
 3147 0072 1368     		ldr	r3, [r2]
 3148 0074 23F01003 		bic	r3, r3, #16
 3149 0078 1360     		str	r3, [r2]
4166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
 3150              		.loc 1 4166 0
ARM GAS  /tmp/ccVmA0m0.s 			page 138


 3151 007a B0F85C10 		ldrh	r1, [r0, #92]
 3152              	.LVL249:
 3153 007e FFF7FEFF 		bl	HAL_UARTEx_RxEventCallback
 3154              	.LVL250:
 3155 0082 F2E7     		b	.L235
 3156              	.LVL251:
 3157              	.L237:
 3158              	.LCFI24:
 3159              		.cfi_def_cfa_offset 0
 3160              		.cfi_restore 4
 3161              		.cfi_restore 14
 3162 0084 7047     		bx	lr
 3163              		.cfi_endproc
 3164              	.LFE198:
 3166              		.section	.text.UART_RxISR_16BIT,"ax",%progbits
 3167              		.align	1
 3168              		.syntax unified
 3169              		.thumb
 3170              		.thumb_func
 3171              		.fpu fpv4-sp-d16
 3173              	UART_RxISR_16BIT:
 3174              	.LFB199:
4189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
4191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief RX interrupt handler for 9 bits data word length .
4192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note   Function is called under interruption only, once
4193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         interruptions have been enabled by HAL_UART_Receive_IT()
4194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param huart UART handle.
4195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
4196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
4197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_RxISR_16BIT(UART_HandleTypeDef *huart)
4198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
 3175              		.loc 1 4198 0
 3176              		.cfi_startproc
 3177              		@ args = 0, pretend = 0, frame = 0
 3178              		@ frame_needed = 0, uses_anonymous_args = 0
 3179              	.LVL252:
4199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint16_t *tmp;
4200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint16_t uhMask = huart->Mask;
 3180              		.loc 1 4200 0
 3181 0000 B0F86020 		ldrh	r2, [r0, #96]
 3182              	.LVL253:
4201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint16_t  uhdata;
4202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check that a Rx process is ongoing */
4204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->RxState == HAL_UART_STATE_BUSY_RX)
 3183              		.loc 1 4204 0
 3184 0004 D0F88830 		ldr	r3, [r0, #136]
 3185 0008 222B     		cmp	r3, #34
 3186 000a 05D0     		beq	.L251
4205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
4206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     uhdata = (uint16_t) READ_REG(huart->Instance->RDR);
4207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     tmp = (uint16_t *) huart->pRxBuffPtr ;
4208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     *tmp = (uint16_t)(uhdata & uhMask);
4209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->pRxBuffPtr += 2U;
4210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->RxXferCount--;
4211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
ARM GAS  /tmp/ccVmA0m0.s 			page 139


4212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if (huart->RxXferCount == 0U)
4213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
4214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Disable the UART Parity Error Interrupt and RXNE interrupt*/
4215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE));
4216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */
4218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Rx process is completed, restore huart->RxState to Ready */
4221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->RxState = HAL_UART_STATE_READY;
4222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Clear RxISR function pointer */
4224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->RxISR = NULL;
4225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Check current reception Mode :
4227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****          If Reception till IDLE event has been selected : */
4228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
4229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
4230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Disable IDLE interrupt */
4231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
4232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /*Call registered Rx Event callback*/
4235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->RxEventCallback(huart, huart->RxXferSize);
4236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
4237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /*Call legacy weak Rx Event callback*/
4238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize);
4239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
4240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
4241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       else
4242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
4243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Standard reception API called */
4244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /*Call registered Rx complete callback*/
4246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->RxCpltCallback(huart);
4247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
4248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /*Call legacy weak Rx complete callback*/
4249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         HAL_UART_RxCpltCallback(huart);
4250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
4252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
4254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
4255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   else
4256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
4257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Clear RXNE interrupt flag */
4258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
 3187              		.loc 1 4258 0
 3188 000c 0268     		ldr	r2, [r0]
 3189              	.LVL254:
 3190 000e 9369     		ldr	r3, [r2, #24]
 3191 0010 43F00803 		orr	r3, r3, #8
 3192 0014 9361     		str	r3, [r2, #24]
 3193              	.LVL255:
4259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
4260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
 3194              		.loc 1 4260 0
ARM GAS  /tmp/ccVmA0m0.s 			page 140


 3195 0016 7047     		bx	lr
 3196              	.LVL256:
 3197              	.L251:
4206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     tmp = (uint16_t *) huart->pRxBuffPtr ;
 3198              		.loc 1 4206 0
 3199 0018 0368     		ldr	r3, [r0]
 3200 001a 5B6A     		ldr	r3, [r3, #36]
 3201              	.LVL257:
4207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     *tmp = (uint16_t)(uhdata & uhMask);
 3202              		.loc 1 4207 0
 3203 001c 816D     		ldr	r1, [r0, #88]
 3204              	.LVL258:
4208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->pRxBuffPtr += 2U;
 3205              		.loc 1 4208 0
 3206 001e 1340     		ands	r3, r3, r2
 3207              	.LVL259:
 3208 0020 0B80     		strh	r3, [r1]	@ movhi
4209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->RxXferCount--;
 3209              		.loc 1 4209 0
 3210 0022 836D     		ldr	r3, [r0, #88]
 3211 0024 0233     		adds	r3, r3, #2
 3212 0026 8365     		str	r3, [r0, #88]
4210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3213              		.loc 1 4210 0
 3214 0028 B0F85E30 		ldrh	r3, [r0, #94]
 3215 002c 013B     		subs	r3, r3, #1
 3216 002e 9BB2     		uxth	r3, r3
 3217 0030 A0F85E30 		strh	r3, [r0, #94]	@ movhi
4212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 3218              		.loc 1 4212 0
 3219 0034 B0F85E30 		ldrh	r3, [r0, #94]
 3220 0038 9BB2     		uxth	r3, r3
 3221 003a 13BB     		cbnz	r3, .L248
4198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint16_t *tmp;
 3222              		.loc 1 4198 0
 3223 003c 10B5     		push	{r4, lr}
 3224              	.LCFI25:
 3225              		.cfi_def_cfa_offset 8
 3226              		.cfi_offset 4, -8
 3227              		.cfi_offset 14, -4
 3228 003e 0446     		mov	r4, r0
4215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3229              		.loc 1 4215 0
 3230 0040 0268     		ldr	r2, [r0]
 3231              	.LVL260:
 3232 0042 1368     		ldr	r3, [r2]
 3233 0044 23F49073 		bic	r3, r3, #288
 3234 0048 1360     		str	r3, [r2]
4218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3235              		.loc 1 4218 0
 3236 004a 0268     		ldr	r2, [r0]
 3237 004c 9368     		ldr	r3, [r2, #8]
 3238 004e 23F00103 		bic	r3, r3, #1
 3239 0052 9360     		str	r3, [r2, #8]
4221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3240              		.loc 1 4221 0
 3241 0054 2023     		movs	r3, #32
ARM GAS  /tmp/ccVmA0m0.s 			page 141


 3242 0056 C0F88830 		str	r3, [r0, #136]
4224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3243              		.loc 1 4224 0
 3244 005a 0023     		movs	r3, #0
 3245 005c 0367     		str	r3, [r0, #112]
4228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 3246              		.loc 1 4228 0
 3247 005e C36E     		ldr	r3, [r0, #108]
 3248 0060 012B     		cmp	r3, #1
 3249 0062 04D0     		beq	.L252
4249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 3250              		.loc 1 4249 0
 3251 0064 FFF7FEFF 		bl	HAL_UART_RxCpltCallback
 3252              	.LVL261:
 3253              	.L246:
4252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 3254              		.loc 1 4252 0
 3255 0068 0023     		movs	r3, #0
 3256 006a E366     		str	r3, [r4, #108]
 3257              		.loc 1 4260 0
 3258 006c 10BD     		pop	{r4, pc}
 3259              	.LVL262:
 3260              	.L252:
4231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3261              		.loc 1 4231 0
 3262 006e 0268     		ldr	r2, [r0]
 3263 0070 1368     		ldr	r3, [r2]
 3264 0072 23F01003 		bic	r3, r3, #16
 3265 0076 1360     		str	r3, [r2]
4238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
 3266              		.loc 1 4238 0
 3267 0078 B0F85C10 		ldrh	r1, [r0, #92]
 3268              	.LVL263:
 3269 007c FFF7FEFF 		bl	HAL_UARTEx_RxEventCallback
 3270              	.LVL264:
 3271 0080 F2E7     		b	.L246
 3272              	.LVL265:
 3273              	.L248:
 3274              	.LCFI26:
 3275              		.cfi_def_cfa_offset 0
 3276              		.cfi_restore 4
 3277              		.cfi_restore 14
 3278 0082 7047     		bx	lr
 3279              		.cfi_endproc
 3280              	.LFE199:
 3282              		.section	.text.UART_RxISR_8BIT_FIFOEN,"ax",%progbits
 3283              		.align	1
 3284              		.syntax unified
 3285              		.thumb
 3286              		.thumb_func
 3287              		.fpu fpv4-sp-d16
 3289              	UART_RxISR_8BIT_FIFOEN:
 3290              	.LFB200:
4261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
4263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief RX interrupt handler for 7 or 8  bits data word length and FIFO mode is enabled.
4264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note   Function is called under interruption only, once
ARM GAS  /tmp/ccVmA0m0.s 			page 142


4265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         interruptions have been enabled by HAL_UART_Receive_IT()
4266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param huart UART handle.
4267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
4268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
4269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_RxISR_8BIT_FIFOEN(UART_HandleTypeDef *huart)
4270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
 3291              		.loc 1 4270 0
 3292              		.cfi_startproc
 3293              		@ args = 0, pretend = 0, frame = 0
 3294              		@ frame_needed = 0, uses_anonymous_args = 0
 3295              	.LVL266:
 3296 0000 2DE9F843 		push	{r3, r4, r5, r6, r7, r8, r9, lr}
 3297              	.LCFI27:
 3298              		.cfi_def_cfa_offset 32
 3299              		.cfi_offset 3, -32
 3300              		.cfi_offset 4, -28
 3301              		.cfi_offset 5, -24
 3302              		.cfi_offset 6, -20
 3303              		.cfi_offset 7, -16
 3304              		.cfi_offset 8, -12
 3305              		.cfi_offset 9, -8
 3306              		.cfi_offset 14, -4
4271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint16_t  uhMask = huart->Mask;
 3307              		.loc 1 4271 0
 3308 0004 B0F86050 		ldrh	r5, [r0, #96]
 3309              	.LVL267:
4272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint16_t  uhdata;
4273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint16_t  nb_rx_data;
4274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint16_t  rxdatacount;
4275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint32_t  isrflags = READ_REG(huart->Instance->ISR);
 3310              		.loc 1 4275 0
 3311 0008 0368     		ldr	r3, [r0]
 3312 000a D3F81C90 		ldr	r9, [r3, #28]
 3313              	.LVL268:
4276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint32_t  cr1its   = READ_REG(huart->Instance->CR1);
 3314              		.loc 1 4276 0
 3315 000e D3F80080 		ldr	r8, [r3]
 3316              	.LVL269:
4277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint32_t  cr3its   = READ_REG(huart->Instance->CR3);
 3317              		.loc 1 4277 0
 3318 0012 9F68     		ldr	r7, [r3, #8]
 3319              	.LVL270:
4278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check that a Rx process is ongoing */
4280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->RxState == HAL_UART_STATE_BUSY_RX)
 3320              		.loc 1 4280 0
 3321 0014 D0F88820 		ldr	r2, [r0, #136]
 3322 0018 222A     		cmp	r2, #34
 3323 001a 05D0     		beq	.L267
4281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
4282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     nb_rx_data = huart->NbRxDataToProcess;
4283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     while ((nb_rx_data > 0U) && ((isrflags & USART_ISR_RXNE_RXFNE) != 0U))
4284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
4285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       uhdata = (uint16_t) READ_REG(huart->Instance->RDR);
4286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask);
4287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->pRxBuffPtr++;
4288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->RxXferCount--;
ARM GAS  /tmp/ccVmA0m0.s 			page 143


4289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       isrflags = READ_REG(huart->Instance->ISR);
4290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* If some non blocking errors occurred */
4292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if ((isrflags & (USART_ISR_PE | USART_ISR_FE | USART_ISR_NE)) != 0U)
4293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
4294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* UART parity error interrupt occurred -------------------------------------*/
4295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         if (((isrflags & USART_ISR_PE) != 0U) && ((cr1its & USART_CR1_PEIE) != 0U))
4296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
4297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_PEF);
4298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           huart->ErrorCode |= HAL_UART_ERROR_PE;
4300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
4301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* UART frame error interrupt occurred --------------------------------------*/
4303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         if (((isrflags & USART_ISR_FE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U))
4304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
4305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_FEF);
4306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           huart->ErrorCode |= HAL_UART_ERROR_FE;
4308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
4309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* UART noise error interrupt occurred --------------------------------------*/
4311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         if (((isrflags & USART_ISR_NE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U))
4312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
4313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_NEF);
4314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           huart->ErrorCode |= HAL_UART_ERROR_NE;
4316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
4317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Call UART Error Call back function if need be ----------------------------*/
4319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         if (huart->ErrorCode != HAL_UART_ERROR_NONE)
4320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
4321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /* Non Blocking error : transfer could go on.
4322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           Error is notified to user through user error callback */
4323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /*Call registered error callback*/
4325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           huart->ErrorCallback(huart);
4326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
4327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /*Call legacy weak error callback*/
4328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           HAL_UART_ErrorCallback(huart);
4329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           huart->ErrorCode = HAL_UART_ERROR_NONE;
4331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
4332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
4333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if (huart->RxXferCount == 0U)
4335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
4336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Disable the UART Parity Error Interrupt and RXFT interrupt*/
4337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
4338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error)
4340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****            and RX FIFO Threshold interrupt */
4341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE));
4342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Rx process is completed, restore huart->RxState to Ready */
4344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->RxState = HAL_UART_STATE_READY;
4345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
ARM GAS  /tmp/ccVmA0m0.s 			page 144


4346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Clear RxISR function pointer */
4347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->RxISR = NULL;
4348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Check current reception Mode :
4350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****            If Reception till IDLE event has been selected : */
4351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
4352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
4353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /* Disable IDLE interrupt */
4354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
4355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /*Call registered Rx Event callback*/
4358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           huart->RxEventCallback(huart, huart->RxXferSize);
4359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
4360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /*Call legacy weak Rx Event callback*/
4361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize);
4362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
4363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
4364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         else
4365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
4366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /* Standard reception API called */
4367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /*Call registered Rx complete callback*/
4369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           huart->RxCpltCallback(huart);
4370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
4371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /*Call legacy weak Rx complete callback*/
4372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           HAL_UART_RxCpltCallback(huart);
4373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
4375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
4377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
4378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* When remaining number of bytes to receive is less than the RX FIFO
4380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     threshold, next incoming frames are processed as if FIFO mode was
4381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     disabled (i.e. one interrupt per received frame).
4382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     */
4383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     rxdatacount = huart->RxXferCount;
4384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if ((rxdatacount != 0U) && (rxdatacount < huart->NbRxDataToProcess))
4385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
4386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Disable the UART RXFT interrupt*/
4387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       CLEAR_BIT(huart->Instance->CR3, USART_CR3_RXFTIE);
4388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Update the RxISR function pointer */
4390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->RxISR = UART_RxISR_8BIT;
4391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Enable the UART Data Register Not Empty interrupt */
4393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       SET_BIT(huart->Instance->CR1, USART_CR1_RXNEIE_RXFNEIE);
4394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
4395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
4396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   else
4397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
4398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Clear RXNE interrupt flag */
4399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
 3324              		.loc 1 4399 0
 3325 001c 9A69     		ldr	r2, [r3, #24]
 3326 001e 42F00802 		orr	r2, r2, #8
ARM GAS  /tmp/ccVmA0m0.s 			page 145


 3327 0022 9A61     		str	r2, [r3, #24]
 3328              	.LVL271:
 3329              	.L253:
4400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
4401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
 3330              		.loc 1 4401 0
 3331 0024 BDE8F883 		pop	{r3, r4, r5, r6, r7, r8, r9, pc}
 3332              	.LVL272:
 3333              	.L267:
 3334 0028 0446     		mov	r4, r0
4282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     while ((nb_rx_data > 0U) && ((isrflags & USART_ISR_RXNE_RXFNE) != 0U))
 3335              		.loc 1 4282 0
 3336 002a B0F86860 		ldrh	r6, [r0, #104]
 3337              	.LVL273:
4283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 3338              		.loc 1 4283 0
 3339 002e 20E0     		b	.L255
 3340              	.LVL274:
 3341              	.L259:
4319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
 3342              		.loc 1 4319 0
 3343 0030 D4F88C30 		ldr	r3, [r4, #140]
 3344 0034 002B     		cmp	r3, #0
 3345 0036 62D1     		bne	.L268
 3346              	.LVL275:
 3347              	.L256:
4334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 3348              		.loc 1 4334 0
 3349 0038 B4F85E30 		ldrh	r3, [r4, #94]
 3350 003c 9BB2     		uxth	r3, r3
 3351 003e C3B9     		cbnz	r3, .L255
4337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3352              		.loc 1 4337 0
 3353 0040 2268     		ldr	r2, [r4]
 3354 0042 1368     		ldr	r3, [r2]
 3355 0044 23F48073 		bic	r3, r3, #256
 3356 0048 1360     		str	r3, [r2]
4341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3357              		.loc 1 4341 0
 3358 004a 2268     		ldr	r2, [r4]
 3359 004c 9368     		ldr	r3, [r2, #8]
 3360 004e 23F08053 		bic	r3, r3, #268435456
 3361 0052 23F00103 		bic	r3, r3, #1
 3362 0056 9360     		str	r3, [r2, #8]
4344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3363              		.loc 1 4344 0
 3364 0058 2023     		movs	r3, #32
 3365 005a C4F88830 		str	r3, [r4, #136]
4347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3366              		.loc 1 4347 0
 3367 005e 0023     		movs	r3, #0
 3368 0060 2367     		str	r3, [r4, #112]
4351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
 3369              		.loc 1 4351 0
 3370 0062 E36E     		ldr	r3, [r4, #108]
 3371 0064 012B     		cmp	r3, #1
 3372 0066 51D0     		beq	.L269
ARM GAS  /tmp/ccVmA0m0.s 			page 146


4372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 3373              		.loc 1 4372 0
 3374 0068 2046     		mov	r0, r4
 3375 006a FFF7FEFF 		bl	HAL_UART_RxCpltCallback
 3376              	.LVL276:
 3377              	.L262:
4375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
 3378              		.loc 1 4375 0
 3379 006e 0023     		movs	r3, #0
 3380 0070 E366     		str	r3, [r4, #108]
 3381              	.L255:
4283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 3382              		.loc 1 4283 0
 3383 0072 002E     		cmp	r6, #0
 3384 0074 55D0     		beq	.L263
4283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 3385              		.loc 1 4283 0 is_stmt 0 discriminator 1
 3386 0076 19F0200F 		tst	r9, #32
 3387 007a 52D0     		beq	.L263
4285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask);
 3388              		.loc 1 4285 0 is_stmt 1
 3389 007c 2368     		ldr	r3, [r4]
 3390 007e 596A     		ldr	r1, [r3, #36]
 3391              	.LVL277:
4286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->pRxBuffPtr++;
 3392              		.loc 1 4286 0
 3393 0080 EBB2     		uxtb	r3, r5
 3394 0082 A26D     		ldr	r2, [r4, #88]
 3395 0084 0B40     		ands	r3, r3, r1
 3396 0086 1370     		strb	r3, [r2]
4287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->RxXferCount--;
 3397              		.loc 1 4287 0
 3398 0088 A36D     		ldr	r3, [r4, #88]
 3399 008a 0133     		adds	r3, r3, #1
 3400 008c A365     		str	r3, [r4, #88]
4288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       isrflags = READ_REG(huart->Instance->ISR);
 3401              		.loc 1 4288 0
 3402 008e B4F85E30 		ldrh	r3, [r4, #94]
 3403 0092 013B     		subs	r3, r3, #1
 3404 0094 9BB2     		uxth	r3, r3
 3405 0096 A4F85E30 		strh	r3, [r4, #94]	@ movhi
4289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3406              		.loc 1 4289 0
 3407 009a 2368     		ldr	r3, [r4]
 3408 009c D3F81C90 		ldr	r9, [r3, #28]
 3409              	.LVL278:
4292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 3410              		.loc 1 4292 0
 3411 00a0 19F0070F 		tst	r9, #7
 3412 00a4 C8D0     		beq	.L256
4295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
 3413              		.loc 1 4295 0
 3414 00a6 19F0010F 		tst	r9, #1
 3415 00aa 09D0     		beq	.L257
4295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
 3416              		.loc 1 4295 0 is_stmt 0 discriminator 1
 3417 00ac 18F4807F 		tst	r8, #256
ARM GAS  /tmp/ccVmA0m0.s 			page 147


 3418 00b0 06D0     		beq	.L257
4297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3419              		.loc 1 4297 0 is_stmt 1
 3420 00b2 0122     		movs	r2, #1
 3421 00b4 1A62     		str	r2, [r3, #32]
4299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
 3422              		.loc 1 4299 0
 3423 00b6 D4F88C30 		ldr	r3, [r4, #140]
 3424 00ba 1343     		orrs	r3, r3, r2
 3425 00bc C4F88C30 		str	r3, [r4, #140]
 3426              	.L257:
4303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
 3427              		.loc 1 4303 0
 3428 00c0 19F0020F 		tst	r9, #2
 3429 00c4 0BD0     		beq	.L258
4303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
 3430              		.loc 1 4303 0 is_stmt 0 discriminator 1
 3431 00c6 17F0010F 		tst	r7, #1
 3432 00ca 08D0     		beq	.L258
4305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3433              		.loc 1 4305 0 is_stmt 1
 3434 00cc 2368     		ldr	r3, [r4]
 3435 00ce 0222     		movs	r2, #2
 3436 00d0 1A62     		str	r2, [r3, #32]
4307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
 3437              		.loc 1 4307 0
 3438 00d2 D4F88C30 		ldr	r3, [r4, #140]
 3439 00d6 43F00403 		orr	r3, r3, #4
 3440 00da C4F88C30 		str	r3, [r4, #140]
 3441              	.L258:
4311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
 3442              		.loc 1 4311 0
 3443 00de 19F0040F 		tst	r9, #4
 3444 00e2 A5D0     		beq	.L259
4311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
 3445              		.loc 1 4311 0 is_stmt 0 discriminator 1
 3446 00e4 17F0010F 		tst	r7, #1
 3447 00e8 A2D0     		beq	.L259
4313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3448              		.loc 1 4313 0 is_stmt 1
 3449 00ea 2368     		ldr	r3, [r4]
 3450 00ec 0422     		movs	r2, #4
 3451 00ee 1A62     		str	r2, [r3, #32]
4315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
 3452              		.loc 1 4315 0
 3453 00f0 D4F88C30 		ldr	r3, [r4, #140]
 3454 00f4 43F00203 		orr	r3, r3, #2
 3455 00f8 C4F88C30 		str	r3, [r4, #140]
 3456 00fc 98E7     		b	.L259
 3457              	.L268:
4328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 3458              		.loc 1 4328 0
 3459 00fe 2046     		mov	r0, r4
 3460 0100 FFF7FEFF 		bl	HAL_UART_ErrorCallback
 3461              	.LVL279:
4330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
 3462              		.loc 1 4330 0
ARM GAS  /tmp/ccVmA0m0.s 			page 148


 3463 0104 0023     		movs	r3, #0
 3464 0106 C4F88C30 		str	r3, [r4, #140]
 3465 010a 95E7     		b	.L256
 3466              	.L269:
4354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3467              		.loc 1 4354 0
 3468 010c 2268     		ldr	r2, [r4]
 3469 010e 1368     		ldr	r3, [r2]
 3470 0110 23F01003 		bic	r3, r3, #16
 3471 0114 1360     		str	r3, [r2]
4361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
 3472              		.loc 1 4361 0
 3473 0116 B4F85C10 		ldrh	r1, [r4, #92]
 3474 011a 2046     		mov	r0, r4
 3475 011c FFF7FEFF 		bl	HAL_UARTEx_RxEventCallback
 3476              	.LVL280:
 3477 0120 A5E7     		b	.L262
 3478              	.L263:
4383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if ((rxdatacount != 0U) && (rxdatacount < huart->NbRxDataToProcess))
 3479              		.loc 1 4383 0
 3480 0122 B4F85E30 		ldrh	r3, [r4, #94]
 3481 0126 9BB2     		uxth	r3, r3
 3482              	.LVL281:
4384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 3483              		.loc 1 4384 0
 3484 0128 002B     		cmp	r3, #0
 3485 012a 3FF47BAF 		beq	.L253
4384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 3486              		.loc 1 4384 0 is_stmt 0 discriminator 1
 3487 012e B4F86820 		ldrh	r2, [r4, #104]
 3488 0132 9A42     		cmp	r2, r3
 3489 0134 7FF676AF 		bls	.L253
4387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3490              		.loc 1 4387 0 is_stmt 1
 3491 0138 2268     		ldr	r2, [r4]
 3492 013a 9368     		ldr	r3, [r2, #8]
 3493              	.LVL282:
 3494 013c 23F08053 		bic	r3, r3, #268435456
 3495 0140 9360     		str	r3, [r2, #8]
4390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3496              		.loc 1 4390 0
 3497 0142 044B     		ldr	r3, .L270
 3498 0144 2367     		str	r3, [r4, #112]
4393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 3499              		.loc 1 4393 0
 3500 0146 2268     		ldr	r2, [r4]
 3501 0148 1368     		ldr	r3, [r2]
 3502 014a 43F02003 		orr	r3, r3, #32
 3503 014e 1360     		str	r3, [r2]
 3504 0150 68E7     		b	.L253
 3505              	.L271:
 3506 0152 00BF     		.align	2
 3507              	.L270:
 3508 0154 00000000 		.word	UART_RxISR_8BIT
 3509              		.cfi_endproc
 3510              	.LFE200:
 3512              		.section	.text.UART_RxISR_16BIT_FIFOEN,"ax",%progbits
ARM GAS  /tmp/ccVmA0m0.s 			page 149


 3513              		.align	1
 3514              		.syntax unified
 3515              		.thumb
 3516              		.thumb_func
 3517              		.fpu fpv4-sp-d16
 3519              	UART_RxISR_16BIT_FIFOEN:
 3520              	.LFB201:
4402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
4404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @brief RX interrupt handler for 9 bits data word length and FIFO mode is enabled.
4405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @note   Function is called under interruption only, once
4406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   *         interruptions have been enabled by HAL_UART_Receive_IT()
4407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @param huart UART handle.
4408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   * @retval None
4409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   */
4410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_RxISR_16BIT_FIFOEN(UART_HandleTypeDef *huart)
4411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
 3521              		.loc 1 4411 0
 3522              		.cfi_startproc
 3523              		@ args = 0, pretend = 0, frame = 0
 3524              		@ frame_needed = 0, uses_anonymous_args = 0
 3525              	.LVL283:
 3526 0000 2DE9F843 		push	{r3, r4, r5, r6, r7, r8, r9, lr}
 3527              	.LCFI28:
 3528              		.cfi_def_cfa_offset 32
 3529              		.cfi_offset 3, -32
 3530              		.cfi_offset 4, -28
 3531              		.cfi_offset 5, -24
 3532              		.cfi_offset 6, -20
 3533              		.cfi_offset 7, -16
 3534              		.cfi_offset 8, -12
 3535              		.cfi_offset 9, -8
 3536              		.cfi_offset 14, -4
4412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint16_t *tmp;
4413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint16_t  uhMask = huart->Mask;
 3537              		.loc 1 4413 0
 3538 0004 B0F86050 		ldrh	r5, [r0, #96]
 3539              	.LVL284:
4414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint16_t  uhdata;
4415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint16_t  nb_rx_data;
4416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint16_t  rxdatacount;
4417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint32_t  isrflags = READ_REG(huart->Instance->ISR);
 3540              		.loc 1 4417 0
 3541 0008 0368     		ldr	r3, [r0]
 3542 000a D3F81C90 		ldr	r9, [r3, #28]
 3543              	.LVL285:
4418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint32_t  cr1its   = READ_REG(huart->Instance->CR1);
 3544              		.loc 1 4418 0
 3545 000e D3F80080 		ldr	r8, [r3]
 3546              	.LVL286:
4419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint32_t  cr3its   = READ_REG(huart->Instance->CR3);
 3547              		.loc 1 4419 0
 3548 0012 9F68     		ldr	r7, [r3, #8]
 3549              	.LVL287:
4420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check that a Rx process is ongoing */
4422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (huart->RxState == HAL_UART_STATE_BUSY_RX)
ARM GAS  /tmp/ccVmA0m0.s 			page 150


 3550              		.loc 1 4422 0
 3551 0014 D0F88820 		ldr	r2, [r0, #136]
 3552 0018 222A     		cmp	r2, #34
 3553 001a 05D0     		beq	.L286
4423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
4424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     nb_rx_data = huart->NbRxDataToProcess;
4425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     while ((nb_rx_data > 0U) && ((isrflags & USART_ISR_RXNE_RXFNE) != 0U))
4426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
4427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       uhdata = (uint16_t) READ_REG(huart->Instance->RDR);
4428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       tmp = (uint16_t *) huart->pRxBuffPtr ;
4429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       *tmp = (uint16_t)(uhdata & uhMask);
4430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->pRxBuffPtr += 2U;
4431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->RxXferCount--;
4432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       isrflags = READ_REG(huart->Instance->ISR);
4433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* If some non blocking errors occurred */
4435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if ((isrflags & (USART_ISR_PE | USART_ISR_FE | USART_ISR_NE)) != 0U)
4436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
4437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* UART parity error interrupt occurred -------------------------------------*/
4438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         if (((isrflags & USART_ISR_PE) != 0U) && ((cr1its & USART_CR1_PEIE) != 0U))
4439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
4440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_PEF);
4441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           huart->ErrorCode |= HAL_UART_ERROR_PE;
4443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
4444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* UART frame error interrupt occurred --------------------------------------*/
4446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         if (((isrflags & USART_ISR_FE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U))
4447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
4448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_FEF);
4449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           huart->ErrorCode |= HAL_UART_ERROR_FE;
4451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
4452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* UART noise error interrupt occurred --------------------------------------*/
4454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         if (((isrflags & USART_ISR_NE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U))
4455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
4456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_NEF);
4457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           huart->ErrorCode |= HAL_UART_ERROR_NE;
4459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
4460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Call UART Error Call back function if need be ----------------------------*/
4462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         if (huart->ErrorCode != HAL_UART_ERROR_NONE)
4463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
4464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /* Non Blocking error : transfer could go on.
4465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           Error is notified to user through user error callback */
4466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /*Call registered error callback*/
4468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           huart->ErrorCallback(huart);
4469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
4470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /*Call legacy weak error callback*/
4471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           HAL_UART_ErrorCallback(huart);
4472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           huart->ErrorCode = HAL_UART_ERROR_NONE;
4474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
4475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
ARM GAS  /tmp/ccVmA0m0.s 			page 151


4476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if (huart->RxXferCount == 0U)
4478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
4479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Disable the UART Parity Error Interrupt and RXFT interrupt*/
4480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
4481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error)
4483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****            and RX FIFO Threshold interrupt */
4484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE));
4485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Rx process is completed, restore huart->RxState to Ready */
4487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->RxState = HAL_UART_STATE_READY;
4488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Clear RxISR function pointer */
4490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->RxISR = NULL;
4491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         /* Check current reception Mode :
4493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****            If Reception till IDLE event has been selected : */
4494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
4495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
4496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /* Disable IDLE interrupt */
4497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
4498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /*Call registered Rx Event callback*/
4501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           huart->RxEventCallback(huart, huart->RxXferSize);
4502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
4503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /*Call legacy weak Rx Event callback*/
4504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize);
4505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
4506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
4507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         else
4508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
4509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /* Standard reception API called */
4510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /*Call registered Rx complete callback*/
4512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           huart->RxCpltCallback(huart);
4513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
4514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           /*Call legacy weak Rx complete callback*/
4515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           HAL_UART_RxCpltCallback(huart);
4516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
4518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
4520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
4521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* When remaining number of bytes to receive is less than the RX FIFO
4523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     threshold, next incoming frames are processed as if FIFO mode was
4524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     disabled (i.e. one interrupt per received frame).
4525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     */
4526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     rxdatacount = huart->RxXferCount;
4527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if ((rxdatacount != 0U) && (rxdatacount < huart->NbRxDataToProcess))
4528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
4529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Disable the UART RXFT interrupt*/
4530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       CLEAR_BIT(huart->Instance->CR3, USART_CR3_RXFTIE);
4531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Update the RxISR function pointer */
ARM GAS  /tmp/ccVmA0m0.s 			page 152


4533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->RxISR = UART_RxISR_16BIT;
4534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
4535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       /* Enable the UART Data Register Not Empty interrupt */
4536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       SET_BIT(huart->Instance->CR1, USART_CR1_RXNEIE_RXFNEIE);
4537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
4538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
4539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   else
4540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
4541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* Clear RXNE interrupt flag */
4542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
 3554              		.loc 1 4542 0
 3555 001c 9A69     		ldr	r2, [r3, #24]
 3556 001e 42F00802 		orr	r2, r2, #8
 3557 0022 9A61     		str	r2, [r3, #24]
 3558              	.LVL288:
 3559              	.L272:
4543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
4544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
 3560              		.loc 1 4544 0
 3561 0024 BDE8F883 		pop	{r3, r4, r5, r6, r7, r8, r9, pc}
 3562              	.LVL289:
 3563              	.L286:
 3564 0028 0446     		mov	r4, r0
4424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     while ((nb_rx_data > 0U) && ((isrflags & USART_ISR_RXNE_RXFNE) != 0U))
 3565              		.loc 1 4424 0
 3566 002a B0F86860 		ldrh	r6, [r0, #104]
 3567              	.LVL290:
4425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 3568              		.loc 1 4425 0
 3569 002e 20E0     		b	.L274
 3570              	.LVL291:
 3571              	.L278:
4462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
 3572              		.loc 1 4462 0
 3573 0030 D4F88C30 		ldr	r3, [r4, #140]
 3574 0034 002B     		cmp	r3, #0
 3575 0036 61D1     		bne	.L287
 3576              	.L275:
4477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 3577              		.loc 1 4477 0
 3578 0038 B4F85E30 		ldrh	r3, [r4, #94]
 3579 003c 9BB2     		uxth	r3, r3
 3580 003e C3B9     		cbnz	r3, .L274
4480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3581              		.loc 1 4480 0
 3582 0040 2268     		ldr	r2, [r4]
 3583 0042 1368     		ldr	r3, [r2]
 3584 0044 23F48073 		bic	r3, r3, #256
 3585 0048 1360     		str	r3, [r2]
4484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3586              		.loc 1 4484 0
 3587 004a 2268     		ldr	r2, [r4]
 3588 004c 9368     		ldr	r3, [r2, #8]
 3589 004e 23F08053 		bic	r3, r3, #268435456
 3590 0052 23F00103 		bic	r3, r3, #1
 3591 0056 9360     		str	r3, [r2, #8]
4487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
ARM GAS  /tmp/ccVmA0m0.s 			page 153


 3592              		.loc 1 4487 0
 3593 0058 2023     		movs	r3, #32
 3594 005a C4F88830 		str	r3, [r4, #136]
4490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3595              		.loc 1 4490 0
 3596 005e 0023     		movs	r3, #0
 3597 0060 2367     		str	r3, [r4, #112]
4494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
 3598              		.loc 1 4494 0
 3599 0062 E36E     		ldr	r3, [r4, #108]
 3600 0064 012B     		cmp	r3, #1
 3601 0066 50D0     		beq	.L288
4515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 3602              		.loc 1 4515 0
 3603 0068 2046     		mov	r0, r4
 3604 006a FFF7FEFF 		bl	HAL_UART_RxCpltCallback
 3605              	.LVL292:
 3606              	.L281:
4518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
 3607              		.loc 1 4518 0
 3608 006e 0023     		movs	r3, #0
 3609 0070 E366     		str	r3, [r4, #108]
 3610              	.L274:
4425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 3611              		.loc 1 4425 0
 3612 0072 002E     		cmp	r6, #0
 3613 0074 54D0     		beq	.L282
4425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 3614              		.loc 1 4425 0 is_stmt 0 discriminator 1
 3615 0076 19F0200F 		tst	r9, #32
 3616 007a 51D0     		beq	.L282
4427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       tmp = (uint16_t *) huart->pRxBuffPtr ;
 3617              		.loc 1 4427 0 is_stmt 1
 3618 007c 2368     		ldr	r3, [r4]
 3619 007e 5B6A     		ldr	r3, [r3, #36]
 3620              	.LVL293:
4428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       *tmp = (uint16_t)(uhdata & uhMask);
 3621              		.loc 1 4428 0
 3622 0080 A26D     		ldr	r2, [r4, #88]
 3623              	.LVL294:
4429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->pRxBuffPtr += 2U;
 3624              		.loc 1 4429 0
 3625 0082 2B40     		ands	r3, r3, r5
 3626              	.LVL295:
 3627 0084 1380     		strh	r3, [r2]	@ movhi
4430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       huart->RxXferCount--;
 3628              		.loc 1 4430 0
 3629 0086 A36D     		ldr	r3, [r4, #88]
 3630 0088 0233     		adds	r3, r3, #2
 3631 008a A365     		str	r3, [r4, #88]
4431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       isrflags = READ_REG(huart->Instance->ISR);
 3632              		.loc 1 4431 0
 3633 008c B4F85E30 		ldrh	r3, [r4, #94]
 3634 0090 013B     		subs	r3, r3, #1
 3635 0092 9BB2     		uxth	r3, r3
 3636 0094 A4F85E30 		strh	r3, [r4, #94]	@ movhi
4432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
ARM GAS  /tmp/ccVmA0m0.s 			page 154


 3637              		.loc 1 4432 0
 3638 0098 2368     		ldr	r3, [r4]
 3639 009a D3F81C90 		ldr	r9, [r3, #28]
 3640              	.LVL296:
4435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 3641              		.loc 1 4435 0
 3642 009e 19F0070F 		tst	r9, #7
 3643 00a2 C9D0     		beq	.L275
4438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
 3644              		.loc 1 4438 0
 3645 00a4 19F0010F 		tst	r9, #1
 3646 00a8 09D0     		beq	.L276
4438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
 3647              		.loc 1 4438 0 is_stmt 0 discriminator 1
 3648 00aa 18F4807F 		tst	r8, #256
 3649 00ae 06D0     		beq	.L276
4440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3650              		.loc 1 4440 0 is_stmt 1
 3651 00b0 0122     		movs	r2, #1
 3652              	.LVL297:
 3653 00b2 1A62     		str	r2, [r3, #32]
4442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
 3654              		.loc 1 4442 0
 3655 00b4 D4F88C30 		ldr	r3, [r4, #140]
 3656 00b8 1343     		orrs	r3, r3, r2
 3657 00ba C4F88C30 		str	r3, [r4, #140]
 3658              	.L276:
4446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
 3659              		.loc 1 4446 0
 3660 00be 19F0020F 		tst	r9, #2
 3661 00c2 0BD0     		beq	.L277
4446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
 3662              		.loc 1 4446 0 is_stmt 0 discriminator 1
 3663 00c4 17F0010F 		tst	r7, #1
 3664 00c8 08D0     		beq	.L277
4448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3665              		.loc 1 4448 0 is_stmt 1
 3666 00ca 2368     		ldr	r3, [r4]
 3667 00cc 0222     		movs	r2, #2
 3668 00ce 1A62     		str	r2, [r3, #32]
4450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
 3669              		.loc 1 4450 0
 3670 00d0 D4F88C30 		ldr	r3, [r4, #140]
 3671 00d4 43F00403 		orr	r3, r3, #4
 3672 00d8 C4F88C30 		str	r3, [r4, #140]
 3673              	.L277:
4454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
 3674              		.loc 1 4454 0
 3675 00dc 19F0040F 		tst	r9, #4
 3676 00e0 A6D0     		beq	.L278
4454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
 3677              		.loc 1 4454 0 is_stmt 0 discriminator 1
 3678 00e2 17F0010F 		tst	r7, #1
 3679 00e6 A3D0     		beq	.L278
4456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3680              		.loc 1 4456 0 is_stmt 1
 3681 00e8 2368     		ldr	r3, [r4]
ARM GAS  /tmp/ccVmA0m0.s 			page 155


 3682 00ea 0422     		movs	r2, #4
 3683 00ec 1A62     		str	r2, [r3, #32]
4458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
 3684              		.loc 1 4458 0
 3685 00ee D4F88C30 		ldr	r3, [r4, #140]
 3686 00f2 43F00203 		orr	r3, r3, #2
 3687 00f6 C4F88C30 		str	r3, [r4, #140]
 3688 00fa 99E7     		b	.L278
 3689              	.L287:
4471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 3690              		.loc 1 4471 0
 3691 00fc 2046     		mov	r0, r4
 3692 00fe FFF7FEFF 		bl	HAL_UART_ErrorCallback
 3693              	.LVL298:
4473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
 3694              		.loc 1 4473 0
 3695 0102 0023     		movs	r3, #0
 3696 0104 C4F88C30 		str	r3, [r4, #140]
 3697 0108 96E7     		b	.L275
 3698              	.L288:
4497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3699              		.loc 1 4497 0
 3700 010a 2268     		ldr	r2, [r4]
 3701 010c 1368     		ldr	r3, [r2]
 3702 010e 23F01003 		bic	r3, r3, #16
 3703 0112 1360     		str	r3, [r2]
4504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
 3704              		.loc 1 4504 0
 3705 0114 B4F85C10 		ldrh	r1, [r4, #92]
 3706 0118 2046     		mov	r0, r4
 3707 011a FFF7FEFF 		bl	HAL_UARTEx_RxEventCallback
 3708              	.LVL299:
 3709 011e A6E7     		b	.L281
 3710              	.L282:
4526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     if ((rxdatacount != 0U) && (rxdatacount < huart->NbRxDataToProcess))
 3711              		.loc 1 4526 0
 3712 0120 B4F85E30 		ldrh	r3, [r4, #94]
 3713 0124 9BB2     		uxth	r3, r3
 3714              	.LVL300:
4527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 3715              		.loc 1 4527 0
 3716 0126 002B     		cmp	r3, #0
 3717 0128 3FF47CAF 		beq	.L272
4527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 3718              		.loc 1 4527 0 is_stmt 0 discriminator 1
 3719 012c B4F86820 		ldrh	r2, [r4, #104]
 3720 0130 9A42     		cmp	r2, r3
 3721 0132 7FF677AF 		bls	.L272
4530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3722              		.loc 1 4530 0 is_stmt 1
 3723 0136 2268     		ldr	r2, [r4]
 3724 0138 9368     		ldr	r3, [r2, #8]
 3725              	.LVL301:
 3726 013a 23F08053 		bic	r3, r3, #268435456
 3727 013e 9360     		str	r3, [r2, #8]
4533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3728              		.loc 1 4533 0
ARM GAS  /tmp/ccVmA0m0.s 			page 156


 3729 0140 034B     		ldr	r3, .L289
 3730 0142 2367     		str	r3, [r4, #112]
4536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 3731              		.loc 1 4536 0
 3732 0144 2268     		ldr	r2, [r4]
 3733 0146 1368     		ldr	r3, [r2]
 3734 0148 43F02003 		orr	r3, r3, #32
 3735 014c 1360     		str	r3, [r2]
 3736 014e 69E7     		b	.L272
 3737              	.L290:
 3738              		.align	2
 3739              	.L289:
 3740 0150 00000000 		.word	UART_RxISR_16BIT
 3741              		.cfi_endproc
 3742              	.LFE201:
 3744              		.section	.text.UART_DMARxHalfCplt,"ax",%progbits
 3745              		.align	1
 3746              		.syntax unified
 3747              		.thumb
 3748              		.thumb_func
 3749              		.fpu fpv4-sp-d16
 3751              	UART_DMARxHalfCplt:
 3752              	.LFB186:
3691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
 3753              		.loc 1 3691 0
 3754              		.cfi_startproc
 3755              		@ args = 0, pretend = 0, frame = 0
 3756              		@ frame_needed = 0, uses_anonymous_args = 0
 3757              	.LVL302:
 3758 0000 08B5     		push	{r3, lr}
 3759              	.LCFI29:
 3760              		.cfi_def_cfa_offset 8
 3761              		.cfi_offset 3, -8
 3762              		.cfi_offset 14, -4
3692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3763              		.loc 1 3692 0
 3764 0002 806A     		ldr	r0, [r0, #40]
 3765              	.LVL303:
3696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 3766              		.loc 1 3696 0
 3767 0004 C36E     		ldr	r3, [r0, #108]
 3768 0006 012B     		cmp	r3, #1
 3769 0008 02D0     		beq	.L295
3714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 3770              		.loc 1 3714 0
 3771 000a FFF7FEFF 		bl	HAL_UART_RxHalfCpltCallback
 3772              	.LVL304:
 3773              	.L291:
3717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3774              		.loc 1 3717 0
 3775 000e 08BD     		pop	{r3, pc}
 3776              	.LVL305:
 3777              	.L295:
3703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 3778              		.loc 1 3703 0
 3779 0010 B0F85C10 		ldrh	r1, [r0, #92]
 3780 0014 4908     		lsrs	r1, r1, #1
ARM GAS  /tmp/ccVmA0m0.s 			page 157


 3781 0016 FFF7FEFF 		bl	HAL_UARTEx_RxEventCallback
 3782              	.LVL306:
 3783 001a F8E7     		b	.L291
 3784              		.cfi_endproc
 3785              	.LFE186:
 3787              		.section	.text.UART_DMAReceiveCplt,"ax",%progbits
 3788              		.align	1
 3789              		.syntax unified
 3790              		.thumb
 3791              		.thumb_func
 3792              		.fpu fpv4-sp-d16
 3794              	UART_DMAReceiveCplt:
 3795              	.LFB185:
3634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
 3796              		.loc 1 3634 0
 3797              		.cfi_startproc
 3798              		@ args = 0, pretend = 0, frame = 0
 3799              		@ frame_needed = 0, uses_anonymous_args = 0
 3800              	.LVL307:
 3801 0000 08B5     		push	{r3, lr}
 3802              	.LCFI30:
 3803              		.cfi_def_cfa_offset 8
 3804              		.cfi_offset 3, -8
 3805              		.cfi_offset 14, -4
3635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3806              		.loc 1 3635 0
 3807 0002 836A     		ldr	r3, [r0, #40]
 3808              	.LVL308:
3638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 3809              		.loc 1 3638 0
 3810 0004 0268     		ldr	r2, [r0]
 3811 0006 1268     		ldr	r2, [r2]
 3812 0008 12F0200F 		tst	r2, #32
 3813 000c 17D1     		bne	.L297
3640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3814              		.loc 1 3640 0
 3815 000e 0022     		movs	r2, #0
 3816 0010 A3F85E20 		strh	r2, [r3, #94]	@ movhi
3643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
 3817              		.loc 1 3643 0
 3818 0014 1968     		ldr	r1, [r3]
 3819 0016 0A68     		ldr	r2, [r1]
 3820 0018 22F48072 		bic	r2, r2, #256
 3821 001c 0A60     		str	r2, [r1]
3644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3822              		.loc 1 3644 0
 3823 001e 1968     		ldr	r1, [r3]
 3824 0020 8A68     		ldr	r2, [r1, #8]
 3825 0022 22F00102 		bic	r2, r2, #1
 3826 0026 8A60     		str	r2, [r1, #8]
3648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3827              		.loc 1 3648 0
 3828 0028 1968     		ldr	r1, [r3]
 3829 002a 8A68     		ldr	r2, [r1, #8]
 3830 002c 22F04002 		bic	r2, r2, #64
 3831 0030 8A60     		str	r2, [r1, #8]
3651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
ARM GAS  /tmp/ccVmA0m0.s 			page 158


 3832              		.loc 1 3651 0
 3833 0032 2022     		movs	r2, #32
 3834 0034 C3F88820 		str	r2, [r3, #136]
3654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 3835              		.loc 1 3654 0
 3836 0038 DA6E     		ldr	r2, [r3, #108]
 3837 003a 012A     		cmp	r2, #1
 3838 003c 06D0     		beq	.L301
 3839              	.L297:
3662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 3840              		.loc 1 3662 0
 3841 003e DA6E     		ldr	r2, [r3, #108]
 3842 0040 012A     		cmp	r2, #1
 3843 0042 09D0     		beq	.L302
3680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 3844              		.loc 1 3680 0
 3845 0044 1846     		mov	r0, r3
 3846              	.LVL309:
 3847 0046 FFF7FEFF 		bl	HAL_UART_RxCpltCallback
 3848              	.LVL310:
 3849              	.L296:
3683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3850              		.loc 1 3683 0
 3851 004a 08BD     		pop	{r3, pc}
 3852              	.LVL311:
 3853              	.L301:
3656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 3854              		.loc 1 3656 0
 3855 004c 1968     		ldr	r1, [r3]
 3856 004e 0A68     		ldr	r2, [r1]
 3857 0050 22F01002 		bic	r2, r2, #16
 3858 0054 0A60     		str	r2, [r1]
 3859 0056 F2E7     		b	.L297
 3860              	.L302:
3669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 3861              		.loc 1 3669 0
 3862 0058 B3F85C10 		ldrh	r1, [r3, #92]
 3863 005c 1846     		mov	r0, r3
 3864              	.LVL312:
 3865 005e FFF7FEFF 		bl	HAL_UARTEx_RxEventCallback
 3866              	.LVL313:
 3867 0062 F2E7     		b	.L296
 3868              		.cfi_endproc
 3869              	.LFE185:
 3871              		.section	.text.HAL_UART_ReceiverTimeout_Config,"ax",%progbits
 3872              		.align	1
 3873              		.global	HAL_UART_ReceiverTimeout_Config
 3874              		.syntax unified
 3875              		.thumb
 3876              		.thumb_func
 3877              		.fpu fpv4-sp-d16
 3879              	HAL_UART_ReceiverTimeout_Config:
 3880              	.LFB164:
2718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (!(IS_LPUART_INSTANCE(huart->Instance)))
 3881              		.loc 1 2718 0
 3882              		.cfi_startproc
 3883              		@ args = 0, pretend = 0, frame = 0
ARM GAS  /tmp/ccVmA0m0.s 			page 159


 3884              		@ frame_needed = 0, uses_anonymous_args = 0
 3885              		@ link register save eliminated.
 3886              	.LVL314:
2719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 3887              		.loc 1 2719 0
 3888 0000 0268     		ldr	r2, [r0]
 3889 0002 044B     		ldr	r3, .L305
 3890 0004 9A42     		cmp	r2, r3
 3891 0006 04D0     		beq	.L303
2722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 3892              		.loc 1 2722 0
 3893 0008 5369     		ldr	r3, [r2, #20]
 3894 000a 03F07F43 		and	r3, r3, #-16777216
 3895 000e 1943     		orrs	r1, r1, r3
 3896              	.LVL315:
 3897 0010 5161     		str	r1, [r2, #20]
 3898              	.L303:
2724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3899              		.loc 1 2724 0
 3900 0012 7047     		bx	lr
 3901              	.L306:
 3902              		.align	2
 3903              	.L305:
 3904 0014 00800040 		.word	1073774592
 3905              		.cfi_endproc
 3906              	.LFE164:
 3908              		.section	.text.HAL_UART_EnableReceiverTimeout,"ax",%progbits
 3909              		.align	1
 3910              		.global	HAL_UART_EnableReceiverTimeout
 3911              		.syntax unified
 3912              		.thumb
 3913              		.thumb_func
 3914              		.fpu fpv4-sp-d16
 3916              	HAL_UART_EnableReceiverTimeout:
 3917              	.LFB165:
2733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (!(IS_LPUART_INSTANCE(huart->Instance)))
 3918              		.loc 1 2733 0
 3919              		.cfi_startproc
 3920              		@ args = 0, pretend = 0, frame = 0
 3921              		@ frame_needed = 0, uses_anonymous_args = 0
 3922              		@ link register save eliminated.
 3923              	.LVL316:
2734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 3924              		.loc 1 2734 0
 3925 0000 0368     		ldr	r3, [r0]
 3926 0002 114A     		ldr	r2, .L312
 3927 0004 9342     		cmp	r3, r2
 3928 0006 19D0     		beq	.L309
2736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 3929              		.loc 1 2736 0
 3930 0008 D0F88420 		ldr	r2, [r0, #132]
 3931 000c 202A     		cmp	r2, #32
 3932 000e 17D1     		bne	.L310
2739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3933              		.loc 1 2739 0
 3934 0010 90F88020 		ldrb	r2, [r0, #128]	@ zero_extendqisi2
 3935 0014 012A     		cmp	r2, #1
ARM GAS  /tmp/ccVmA0m0.s 			page 160


 3936 0016 15D0     		beq	.L311
2739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3937              		.loc 1 2739 0 is_stmt 0 discriminator 2
 3938 0018 0122     		movs	r2, #1
 3939 001a 80F88020 		strb	r2, [r0, #128]
2741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3940              		.loc 1 2741 0 is_stmt 1 discriminator 2
 3941 001e 2422     		movs	r2, #36
 3942 0020 C0F88420 		str	r2, [r0, #132]
2744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3943              		.loc 1 2744 0 discriminator 2
 3944 0024 5A68     		ldr	r2, [r3, #4]
 3945 0026 42F40002 		orr	r2, r2, #8388608
 3946 002a 5A60     		str	r2, [r3, #4]
2746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3947              		.loc 1 2746 0 discriminator 2
 3948 002c 2023     		movs	r3, #32
 3949 002e C0F88430 		str	r3, [r0, #132]
2749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3950              		.loc 1 2749 0 discriminator 2
 3951 0032 0023     		movs	r3, #0
 3952 0034 80F88030 		strb	r3, [r0, #128]
2751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 3953              		.loc 1 2751 0 discriminator 2
 3954 0038 1846     		mov	r0, r3
 3955              	.LVL317:
 3956 003a 7047     		bx	lr
 3957              	.LVL318:
 3958              	.L309:
2760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 3959              		.loc 1 2760 0
 3960 003c 0120     		movs	r0, #1
 3961              	.LVL319:
 3962 003e 7047     		bx	lr
 3963              	.LVL320:
 3964              	.L310:
2755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 3965              		.loc 1 2755 0
 3966 0040 0220     		movs	r0, #2
 3967              	.LVL321:
 3968 0042 7047     		bx	lr
 3969              	.LVL322:
 3970              	.L311:
2739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3971              		.loc 1 2739 0
 3972 0044 0220     		movs	r0, #2
 3973              	.LVL323:
2762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 3974              		.loc 1 2762 0
 3975 0046 7047     		bx	lr
 3976              	.L313:
 3977              		.align	2
 3978              	.L312:
 3979 0048 00800040 		.word	1073774592
 3980              		.cfi_endproc
 3981              	.LFE165:
 3983              		.section	.text.HAL_UART_DisableReceiverTimeout,"ax",%progbits
ARM GAS  /tmp/ccVmA0m0.s 			page 161


 3984              		.align	1
 3985              		.global	HAL_UART_DisableReceiverTimeout
 3986              		.syntax unified
 3987              		.thumb
 3988              		.thumb_func
 3989              		.fpu fpv4-sp-d16
 3991              	HAL_UART_DisableReceiverTimeout:
 3992              	.LFB166:
2771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   if (!(IS_LPUART_INSTANCE(huart->Instance)))
 3993              		.loc 1 2771 0
 3994              		.cfi_startproc
 3995              		@ args = 0, pretend = 0, frame = 0
 3996              		@ frame_needed = 0, uses_anonymous_args = 0
 3997              		@ link register save eliminated.
 3998              	.LVL324:
2772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 3999              		.loc 1 2772 0
 4000 0000 0368     		ldr	r3, [r0]
 4001 0002 114A     		ldr	r2, .L319
 4002 0004 9342     		cmp	r3, r2
 4003 0006 19D0     		beq	.L316
2774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 4004              		.loc 1 2774 0
 4005 0008 D0F88420 		ldr	r2, [r0, #132]
 4006 000c 202A     		cmp	r2, #32
 4007 000e 17D1     		bne	.L317
2777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4008              		.loc 1 2777 0
 4009 0010 90F88020 		ldrb	r2, [r0, #128]	@ zero_extendqisi2
 4010 0014 012A     		cmp	r2, #1
 4011 0016 15D0     		beq	.L318
2777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4012              		.loc 1 2777 0 is_stmt 0 discriminator 2
 4013 0018 0122     		movs	r2, #1
 4014 001a 80F88020 		strb	r2, [r0, #128]
2779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4015              		.loc 1 2779 0 is_stmt 1 discriminator 2
 4016 001e 2422     		movs	r2, #36
 4017 0020 C0F88420 		str	r2, [r0, #132]
2782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4018              		.loc 1 2782 0 discriminator 2
 4019 0024 5A68     		ldr	r2, [r3, #4]
 4020 0026 22F40002 		bic	r2, r2, #8388608
 4021 002a 5A60     		str	r2, [r3, #4]
2784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4022              		.loc 1 2784 0 discriminator 2
 4023 002c 2023     		movs	r3, #32
 4024 002e C0F88430 		str	r3, [r0, #132]
2787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4025              		.loc 1 2787 0 discriminator 2
 4026 0032 0023     		movs	r3, #0
 4027 0034 80F88030 		strb	r3, [r0, #128]
2789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 4028              		.loc 1 2789 0 discriminator 2
 4029 0038 1846     		mov	r0, r3
 4030              	.LVL325:
 4031 003a 7047     		bx	lr
ARM GAS  /tmp/ccVmA0m0.s 			page 162


 4032              	.LVL326:
 4033              	.L316:
2798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 4034              		.loc 1 2798 0
 4035 003c 0120     		movs	r0, #1
 4036              	.LVL327:
 4037 003e 7047     		bx	lr
 4038              	.LVL328:
 4039              	.L317:
2793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 4040              		.loc 1 2793 0
 4041 0040 0220     		movs	r0, #2
 4042              	.LVL329:
 4043 0042 7047     		bx	lr
 4044              	.LVL330:
 4045              	.L318:
2777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4046              		.loc 1 2777 0
 4047 0044 0220     		movs	r0, #2
 4048              	.LVL331:
2800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4049              		.loc 1 2800 0
 4050 0046 7047     		bx	lr
 4051              	.L320:
 4052              		.align	2
 4053              	.L319:
 4054 0048 00800040 		.word	1073774592
 4055              		.cfi_endproc
 4056              	.LFE166:
 4058              		.section	.text.HAL_MultiProcessor_EnterMuteMode,"ax",%progbits
 4059              		.align	1
 4060              		.global	HAL_MultiProcessor_EnterMuteMode
 4061              		.syntax unified
 4062              		.thumb
 4063              		.thumb_func
 4064              		.fpu fpv4-sp-d16
 4066              	HAL_MultiProcessor_EnterMuteMode:
 4067              	.LFB169:
2849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_UART_SEND_REQ(huart, UART_MUTE_MODE_REQUEST);
 4068              		.loc 1 2849 0
 4069              		.cfi_startproc
 4070              		@ args = 0, pretend = 0, frame = 0
 4071              		@ frame_needed = 0, uses_anonymous_args = 0
 4072              		@ link register save eliminated.
 4073              	.LVL332:
2850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
 4074              		.loc 1 2850 0
 4075 0000 0268     		ldr	r2, [r0]
 4076 0002 9369     		ldr	r3, [r2, #24]
 4077 0004 43F00403 		orr	r3, r3, #4
 4078 0008 9361     		str	r3, [r2, #24]
2851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4079              		.loc 1 2851 0
 4080 000a 7047     		bx	lr
 4081              		.cfi_endproc
 4082              	.LFE169:
 4084              		.section	.text.HAL_HalfDuplex_EnableTransmitter,"ax",%progbits
ARM GAS  /tmp/ccVmA0m0.s 			page 163


 4085              		.align	1
 4086              		.global	HAL_HalfDuplex_EnableTransmitter
 4087              		.syntax unified
 4088              		.thumb
 4089              		.thumb_func
 4090              		.fpu fpv4-sp-d16
 4092              	HAL_HalfDuplex_EnableTransmitter:
 4093              	.LFB170:
2859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_LOCK(huart);
 4094              		.loc 1 2859 0
 4095              		.cfi_startproc
 4096              		@ args = 0, pretend = 0, frame = 0
 4097              		@ frame_needed = 0, uses_anonymous_args = 0
 4098              		@ link register save eliminated.
 4099              	.LVL333:
2860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_BUSY;
 4100              		.loc 1 2860 0
 4101 0000 90F88030 		ldrb	r3, [r0, #128]	@ zero_extendqisi2
 4102 0004 012B     		cmp	r3, #1
 4103 0006 17D0     		beq	.L324
2860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_BUSY;
 4104              		.loc 1 2860 0 is_stmt 0 discriminator 2
 4105 0008 0123     		movs	r3, #1
 4106 000a 80F88030 		strb	r3, [r0, #128]
2861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4107              		.loc 1 2861 0 is_stmt 1 discriminator 2
 4108 000e 2423     		movs	r3, #36
 4109 0010 C0F88430 		str	r3, [r0, #132]
2864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4110              		.loc 1 2864 0 discriminator 2
 4111 0014 0268     		ldr	r2, [r0]
 4112 0016 1368     		ldr	r3, [r2]
 4113 0018 23F00C03 		bic	r3, r3, #12
 4114 001c 1360     		str	r3, [r2]
2867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4115              		.loc 1 2867 0 discriminator 2
 4116 001e 0268     		ldr	r2, [r0]
 4117 0020 1368     		ldr	r3, [r2]
 4118 0022 43F00803 		orr	r3, r3, #8
 4119 0026 1360     		str	r3, [r2]
2869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4120              		.loc 1 2869 0 discriminator 2
 4121 0028 2023     		movs	r3, #32
 4122 002a C0F88430 		str	r3, [r0, #132]
2871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4123              		.loc 1 2871 0 discriminator 2
 4124 002e 0023     		movs	r3, #0
 4125 0030 80F88030 		strb	r3, [r0, #128]
2873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
 4126              		.loc 1 2873 0 discriminator 2
 4127 0034 1846     		mov	r0, r3
 4128              	.LVL334:
 4129 0036 7047     		bx	lr
 4130              	.LVL335:
 4131              	.L324:
2860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_BUSY;
 4132              		.loc 1 2860 0
ARM GAS  /tmp/ccVmA0m0.s 			page 164


 4133 0038 0220     		movs	r0, #2
 4134              	.LVL336:
2874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4135              		.loc 1 2874 0
 4136 003a 7047     		bx	lr
 4137              		.cfi_endproc
 4138              	.LFE170:
 4140              		.section	.text.HAL_HalfDuplex_EnableReceiver,"ax",%progbits
 4141              		.align	1
 4142              		.global	HAL_HalfDuplex_EnableReceiver
 4143              		.syntax unified
 4144              		.thumb
 4145              		.thumb_func
 4146              		.fpu fpv4-sp-d16
 4148              	HAL_HalfDuplex_EnableReceiver:
 4149              	.LFB171:
2882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_LOCK(huart);
 4150              		.loc 1 2882 0
 4151              		.cfi_startproc
 4152              		@ args = 0, pretend = 0, frame = 0
 4153              		@ frame_needed = 0, uses_anonymous_args = 0
 4154              		@ link register save eliminated.
 4155              	.LVL337:
2883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_BUSY;
 4156              		.loc 1 2883 0
 4157 0000 90F88030 		ldrb	r3, [r0, #128]	@ zero_extendqisi2
 4158 0004 012B     		cmp	r3, #1
 4159 0006 17D0     		beq	.L327
2883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_BUSY;
 4160              		.loc 1 2883 0 is_stmt 0 discriminator 2
 4161 0008 0123     		movs	r3, #1
 4162 000a 80F88030 		strb	r3, [r0, #128]
2884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4163              		.loc 1 2884 0 is_stmt 1 discriminator 2
 4164 000e 2423     		movs	r3, #36
 4165 0010 C0F88430 		str	r3, [r0, #132]
2887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4166              		.loc 1 2887 0 discriminator 2
 4167 0014 0268     		ldr	r2, [r0]
 4168 0016 1368     		ldr	r3, [r2]
 4169 0018 23F00C03 		bic	r3, r3, #12
 4170 001c 1360     		str	r3, [r2]
2890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4171              		.loc 1 2890 0 discriminator 2
 4172 001e 0268     		ldr	r2, [r0]
 4173 0020 1368     		ldr	r3, [r2]
 4174 0022 43F00403 		orr	r3, r3, #4
 4175 0026 1360     		str	r3, [r2]
2892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4176              		.loc 1 2892 0 discriminator 2
 4177 0028 2023     		movs	r3, #32
 4178 002a C0F88430 		str	r3, [r0, #132]
2894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4179              		.loc 1 2894 0 discriminator 2
 4180 002e 0023     		movs	r3, #0
 4181 0030 80F88030 		strb	r3, [r0, #128]
2896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
ARM GAS  /tmp/ccVmA0m0.s 			page 165


 4182              		.loc 1 2896 0 discriminator 2
 4183 0034 1846     		mov	r0, r3
 4184              	.LVL338:
 4185 0036 7047     		bx	lr
 4186              	.LVL339:
 4187              	.L327:
2883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->gState = HAL_UART_STATE_BUSY;
 4188              		.loc 1 2883 0
 4189 0038 0220     		movs	r0, #2
 4190              	.LVL340:
2897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4191              		.loc 1 2897 0
 4192 003a 7047     		bx	lr
 4193              		.cfi_endproc
 4194              	.LFE171:
 4196              		.section	.text.HAL_LIN_SendBreak,"ax",%progbits
 4197              		.align	1
 4198              		.global	HAL_LIN_SendBreak
 4199              		.syntax unified
 4200              		.thumb
 4201              		.thumb_func
 4202              		.fpu fpv4-sp-d16
 4204              	HAL_LIN_SendBreak:
 4205              	.LFB172:
2906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check the parameters */
 4206              		.loc 1 2906 0
 4207              		.cfi_startproc
 4208              		@ args = 0, pretend = 0, frame = 0
 4209              		@ frame_needed = 0, uses_anonymous_args = 0
 4210              		@ link register save eliminated.
 4211              	.LVL341:
2910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4212              		.loc 1 2910 0
 4213 0000 90F88030 		ldrb	r3, [r0, #128]	@ zero_extendqisi2
 4214 0004 012B     		cmp	r3, #1
 4215 0006 12D0     		beq	.L330
2910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4216              		.loc 1 2910 0 is_stmt 0 discriminator 2
 4217 0008 0123     		movs	r3, #1
 4218 000a 80F88030 		strb	r3, [r0, #128]
2912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4219              		.loc 1 2912 0 is_stmt 1 discriminator 2
 4220 000e 2423     		movs	r3, #36
 4221 0010 C0F88430 		str	r3, [r0, #132]
2915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4222              		.loc 1 2915 0 discriminator 2
 4223 0014 0268     		ldr	r2, [r0]
 4224 0016 9369     		ldr	r3, [r2, #24]
 4225 0018 43F00203 		orr	r3, r3, #2
 4226 001c 9361     		str	r3, [r2, #24]
2917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4227              		.loc 1 2917 0 discriminator 2
 4228 001e 2023     		movs	r3, #32
 4229 0020 C0F88430 		str	r3, [r0, #132]
2919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4230              		.loc 1 2919 0 discriminator 2
 4231 0024 0023     		movs	r3, #0
ARM GAS  /tmp/ccVmA0m0.s 			page 166


 4232 0026 80F88030 		strb	r3, [r0, #128]
2921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
 4233              		.loc 1 2921 0 discriminator 2
 4234 002a 1846     		mov	r0, r3
 4235              	.LVL342:
 4236 002c 7047     		bx	lr
 4237              	.LVL343:
 4238              	.L330:
2910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4239              		.loc 1 2910 0
 4240 002e 0220     		movs	r0, #2
 4241              	.LVL344:
2922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4242              		.loc 1 2922 0
 4243 0030 7047     		bx	lr
 4244              		.cfi_endproc
 4245              	.LFE172:
 4247              		.section	.text.HAL_UART_GetState,"ax",%progbits
 4248              		.align	1
 4249              		.global	HAL_UART_GetState
 4250              		.syntax unified
 4251              		.thumb
 4252              		.thumb_func
 4253              		.fpu fpv4-sp-d16
 4255              	HAL_UART_GetState:
 4256              	.LFB173:
2951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint32_t temp1;
 4257              		.loc 1 2951 0
 4258              		.cfi_startproc
 4259              		@ args = 0, pretend = 0, frame = 0
 4260              		@ frame_needed = 0, uses_anonymous_args = 0
 4261              		@ link register save eliminated.
 4262              	.LVL345:
2954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   temp2 = huart->RxState;
 4263              		.loc 1 2954 0
 4264 0000 D0F88420 		ldr	r2, [r0, #132]
 4265              	.LVL346:
2955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4266              		.loc 1 2955 0
 4267 0004 D0F88800 		ldr	r0, [r0, #136]
 4268              	.LVL347:
2958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4269              		.loc 1 2958 0
 4270 0008 1043     		orrs	r0, r0, r2
 4271              	.LVL348:
 4272 000a 7047     		bx	lr
 4273              		.cfi_endproc
 4274              	.LFE173:
 4276              		.section	.text.HAL_UART_GetError,"ax",%progbits
 4277              		.align	1
 4278              		.global	HAL_UART_GetError
 4279              		.syntax unified
 4280              		.thumb
 4281              		.thumb_func
 4282              		.fpu fpv4-sp-d16
 4284              	HAL_UART_GetError:
 4285              	.LFB174:
ARM GAS  /tmp/ccVmA0m0.s 			page 167


2967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   return huart->ErrorCode;
 4286              		.loc 1 2967 0
 4287              		.cfi_startproc
 4288              		@ args = 0, pretend = 0, frame = 0
 4289              		@ frame_needed = 0, uses_anonymous_args = 0
 4290              		@ link register save eliminated.
 4291              	.LVL349:
2968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
 4292              		.loc 1 2968 0
 4293 0000 D0F88C00 		ldr	r0, [r0, #140]
 4294              	.LVL350:
2969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
 4295              		.loc 1 2969 0
 4296 0004 7047     		bx	lr
 4297              		.cfi_endproc
 4298              	.LFE174:
 4300              		.global	__aeabi_uldivmod
 4301              		.section	.text.UART_SetConfig,"ax",%progbits
 4302              		.align	1
 4303              		.global	UART_SetConfig
 4304              		.syntax unified
 4305              		.thumb
 4306              		.thumb_func
 4307              		.fpu fpv4-sp-d16
 4309              	UART_SetConfig:
 4310              	.LFB175:
3013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint32_t tmpreg;
 4311              		.loc 1 3013 0
 4312              		.cfi_startproc
 4313              		@ args = 0, pretend = 0, frame = 0
 4314              		@ frame_needed = 0, uses_anonymous_args = 0
 4315              	.LVL351:
 4316 0000 2DE9F843 		push	{r3, r4, r5, r6, r7, r8, r9, lr}
 4317              	.LCFI31:
 4318              		.cfi_def_cfa_offset 32
 4319              		.cfi_offset 3, -32
 4320              		.cfi_offset 4, -28
 4321              		.cfi_offset 5, -24
 4322              		.cfi_offset 6, -20
 4323              		.cfi_offset 7, -16
 4324              		.cfi_offset 8, -12
 4325              		.cfi_offset 9, -8
 4326              		.cfi_offset 14, -4
 4327 0004 0446     		mov	r4, r0
 4328              	.LVL352:
3025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 4329              		.loc 1 3025 0
 4330 0006 0168     		ldr	r1, [r0]
3048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
 4331              		.loc 1 3048 0
 4332 0008 8368     		ldr	r3, [r0, #8]
 4333 000a 0269     		ldr	r2, [r0, #16]
 4334 000c 1343     		orrs	r3, r3, r2
 4335 000e 4269     		ldr	r2, [r0, #20]
 4336 0010 1343     		orrs	r3, r3, r2
 4337 0012 C269     		ldr	r2, [r0, #28]
 4338 0014 1343     		orrs	r3, r3, r2
ARM GAS  /tmp/ccVmA0m0.s 			page 168


 4339              	.LVL353:
3049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4340              		.loc 1 3049 0
 4341 0016 0868     		ldr	r0, [r1]
 4342              	.LVL354:
 4343 0018 9E4A     		ldr	r2, .L421
 4344 001a 0240     		ands	r2, r2, r0
 4345 001c 1343     		orrs	r3, r3, r2
 4346              	.LVL355:
 4347 001e 0B60     		str	r3, [r1]
 4348              	.LVL356:
3054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4349              		.loc 1 3054 0
 4350 0020 2268     		ldr	r2, [r4]
 4351 0022 5368     		ldr	r3, [r2, #4]
 4352 0024 23F44053 		bic	r3, r3, #12288
 4353 0028 E168     		ldr	r1, [r4, #12]
 4354 002a 0B43     		orrs	r3, r3, r1
 4355 002c 5360     		str	r3, [r2, #4]
3062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4356              		.loc 1 3062 0
 4357 002e A169     		ldr	r1, [r4, #24]
 4358              	.LVL357:
3064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 4359              		.loc 1 3064 0
 4360 0030 2268     		ldr	r2, [r4]
 4361 0032 994B     		ldr	r3, .L421+4
 4362 0034 9A42     		cmp	r2, r3
 4363 0036 01D0     		beq	.L334
3066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 4364              		.loc 1 3066 0
 4365 0038 236A     		ldr	r3, [r4, #32]
 4366 003a 1943     		orrs	r1, r1, r3
 4367              	.LVL358:
 4368              	.L334:
3068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4369              		.loc 1 3068 0
 4370 003c 9368     		ldr	r3, [r2, #8]
 4371 003e 23F06E43 		bic	r3, r3, #-301989888
 4372 0042 23F43063 		bic	r3, r3, #2816
 4373 0046 0B43     		orrs	r3, r3, r1
 4374 0048 9360     		str	r3, [r2, #8]
3073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4375              		.loc 1 3073 0
 4376 004a 2268     		ldr	r2, [r4]
 4377 004c D36A     		ldr	r3, [r2, #44]
 4378 004e 23F00F03 		bic	r3, r3, #15
 4379 0052 616A     		ldr	r1, [r4, #36]
 4380              	.LVL359:
 4381 0054 0B43     		orrs	r3, r3, r1
 4382 0056 D362     		str	r3, [r2, #44]
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4383              		.loc 1 3076 0
 4384 0058 2368     		ldr	r3, [r4]
 4385 005a 904A     		ldr	r2, .L421+8
 4386 005c 9342     		cmp	r3, r2
 4387 005e 23D0     		beq	.L409
ARM GAS  /tmp/ccVmA0m0.s 			page 169


3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4388              		.loc 1 3076 0 is_stmt 0 discriminator 2
 4389 0060 8F4A     		ldr	r2, .L421+12
 4390 0062 9342     		cmp	r3, r2
 4391 0064 34D0     		beq	.L410
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4392              		.loc 1 3076 0 discriminator 14
 4393 0066 8F4A     		ldr	r2, .L421+16
 4394 0068 9342     		cmp	r3, r2
 4395 006a 4AD0     		beq	.L411
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4396              		.loc 1 3076 0 discriminator 26
 4397 006c 8E4A     		ldr	r2, .L421+20
 4398 006e 9342     		cmp	r3, r2
 4399 0070 5DD0     		beq	.L412
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4400              		.loc 1 3076 0 discriminator 38
 4401 0072 894A     		ldr	r2, .L421+4
 4402 0074 9342     		cmp	r3, r2
 4403 0076 70D0     		beq	.L413
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4404              		.loc 1 3076 0
 4405 0078 1022     		movs	r2, #16
 4406              	.L340:
 4407              	.LVL360:
3079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 4408              		.loc 1 3079 0 is_stmt 1
 4409 007a 8749     		ldr	r1, .L421+4
 4410 007c 8B42     		cmp	r3, r1
 4411 007e 00F08F80 		beq	.L414
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 4412              		.loc 1 3132 0
 4413 0082 E369     		ldr	r3, [r4, #28]
 4414 0084 B3F5004F 		cmp	r3, #32768
 4415 0088 00F0CF80 		beq	.L415
3175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 4416              		.loc 1 3175 0
 4417 008c 082A     		cmp	r2, #8
 4418 008e 00F24E81 		bhi	.L404
 4419 0092 DFE812F0 		tbh	[pc, r2, lsl #1]
 4420              	.L382:
 4421 0096 1301     		.2byte	(.L381-.L382)/2
 4422 0098 3501     		.2byte	(.L383-.L382)/2
 4423 009a 1101     		.2byte	(.L384-.L382)/2
 4424 009c 4C01     		.2byte	(.L404-.L382)/2
 4425 009e 3801     		.2byte	(.L385-.L382)/2
 4426 00a0 4C01     		.2byte	(.L404-.L382)/2
 4427 00a2 4C01     		.2byte	(.L404-.L382)/2
 4428 00a4 4C01     		.2byte	(.L404-.L382)/2
 4429 00a6 3B01     		.2byte	(.L405-.L382)/2
 4430              	.LVL361:
 4431              		.p2align 1
 4432              	.L409:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4433              		.loc 1 3076 0 discriminator 1
 4434 00a8 02F55842 		add	r2, r2, #55296
 4435 00ac D2F88820 		ldr	r2, [r2, #136]
ARM GAS  /tmp/ccVmA0m0.s 			page 170


 4436 00b0 02F00302 		and	r2, r2, #3
 4437 00b4 032A     		cmp	r2, #3
 4438 00b6 09D8     		bhi	.L336
 4439 00b8 DFE802F0 		tbb	[pc, r2]
 4440              	.L338:
 4441 00bc 02       		.byte	(.L337-.L338)/2
 4442 00bd 04       		.byte	(.L339-.L338)/2
 4443 00be 68       		.byte	(.L388-.L338)/2
 4444 00bf 06       		.byte	(.L341-.L338)/2
 4445              		.p2align 1
 4446              	.L337:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4447              		.loc 1 3076 0 is_stmt 0
 4448 00c0 0122     		movs	r2, #1
 4449 00c2 DAE7     		b	.L340
 4450              	.L339:
 4451              	.LVL362:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4452              		.loc 1 3076 0 discriminator 5
 4453 00c4 0422     		movs	r2, #4
 4454 00c6 D8E7     		b	.L340
 4455              	.LVL363:
 4456              	.L341:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4457              		.loc 1 3076 0 discriminator 7
 4458 00c8 0822     		movs	r2, #8
 4459 00ca D6E7     		b	.L340
 4460              	.LVL364:
 4461              	.L336:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4462              		.loc 1 3076 0 discriminator 3
 4463 00cc 1022     		movs	r2, #16
 4464 00ce D4E7     		b	.L340
 4465              	.LVL365:
 4466              	.L410:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4467              		.loc 1 3076 0 discriminator 13
 4468 00d0 02F5E632 		add	r2, r2, #117760
 4469 00d4 D2F88820 		ldr	r2, [r2, #136]
 4470 00d8 02F00C02 		and	r2, r2, #12
 4471 00dc 0C2A     		cmp	r2, #12
 4472 00de 0ED8     		bhi	.L343
 4473 00e0 DFE802F0 		tbb	[pc, r2]
 4474              	.L345:
 4475 00e4 07       		.byte	(.L344-.L345)/2
 4476 00e5 0D       		.byte	(.L343-.L345)/2
 4477 00e6 0D       		.byte	(.L343-.L345)/2
 4478 00e7 0D       		.byte	(.L343-.L345)/2
 4479 00e8 09       		.byte	(.L346-.L345)/2
 4480 00e9 0D       		.byte	(.L343-.L345)/2
 4481 00ea 0D       		.byte	(.L343-.L345)/2
 4482 00eb 0D       		.byte	(.L343-.L345)/2
 4483 00ec 56       		.byte	(.L389-.L345)/2
 4484 00ed 0D       		.byte	(.L343-.L345)/2
 4485 00ee 0D       		.byte	(.L343-.L345)/2
 4486 00ef 0D       		.byte	(.L343-.L345)/2
 4487 00f0 0B       		.byte	(.L347-.L345)/2
ARM GAS  /tmp/ccVmA0m0.s 			page 171


 4488 00f1 00       		.p2align 1
 4489              	.L344:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4490              		.loc 1 3076 0
 4491 00f2 0022     		movs	r2, #0
 4492 00f4 C1E7     		b	.L340
 4493              	.L346:
 4494              	.LVL366:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4495              		.loc 1 3076 0 discriminator 17
 4496 00f6 0422     		movs	r2, #4
 4497 00f8 BFE7     		b	.L340
 4498              	.LVL367:
 4499              	.L347:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4500              		.loc 1 3076 0 discriminator 19
 4501 00fa 0822     		movs	r2, #8
 4502 00fc BDE7     		b	.L340
 4503              	.LVL368:
 4504              	.L343:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4505              		.loc 1 3076 0 discriminator 15
 4506 00fe 1022     		movs	r2, #16
 4507 0100 BBE7     		b	.L340
 4508              	.LVL369:
 4509              	.L411:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4510              		.loc 1 3076 0 discriminator 25
 4511 0102 02F5E432 		add	r2, r2, #116736
 4512 0106 D2F88820 		ldr	r2, [r2, #136]
 4513 010a 02F03002 		and	r2, r2, #48
 4514 010e 102A     		cmp	r2, #16
 4515 0110 09D0     		beq	.L350
 4516 0112 05D9     		bls	.L416
 4517 0114 202A     		cmp	r2, #32
 4518 0116 3DD0     		beq	.L390
 4519 0118 302A     		cmp	r2, #48
 4520 011a 06D1     		bne	.L349
 4521              	.LVL370:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4522              		.loc 1 3076 0 discriminator 31
 4523 011c 0822     		movs	r2, #8
 4524 011e ACE7     		b	.L340
 4525              	.LVL371:
 4526              	.L416:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4527              		.loc 1 3076 0 discriminator 25
 4528 0120 1AB9     		cbnz	r2, .L349
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4529              		.loc 1 3076 0
 4530 0122 0022     		movs	r2, #0
 4531 0124 A9E7     		b	.L340
 4532              	.L350:
 4533              	.LVL372:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4534              		.loc 1 3076 0 discriminator 29
 4535 0126 0422     		movs	r2, #4
ARM GAS  /tmp/ccVmA0m0.s 			page 172


 4536 0128 A7E7     		b	.L340
 4537              	.LVL373:
 4538              	.L349:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4539              		.loc 1 3076 0 discriminator 27
 4540 012a 1022     		movs	r2, #16
 4541 012c A5E7     		b	.L340
 4542              	.LVL374:
 4543              	.L412:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4544              		.loc 1 3076 0 discriminator 37
 4545 012e 02F5E232 		add	r2, r2, #115712
 4546 0132 D2F88820 		ldr	r2, [r2, #136]
 4547 0136 02F0C002 		and	r2, r2, #192
 4548 013a 402A     		cmp	r2, #64
 4549 013c 09D0     		beq	.L356
 4550 013e 05D9     		bls	.L417
 4551 0140 802A     		cmp	r2, #128
 4552 0142 29D0     		beq	.L391
 4553 0144 C02A     		cmp	r2, #192
 4554 0146 06D1     		bne	.L355
 4555              	.LVL375:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4556              		.loc 1 3076 0 discriminator 43
 4557 0148 0822     		movs	r2, #8
 4558 014a 96E7     		b	.L340
 4559              	.LVL376:
 4560              	.L417:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4561              		.loc 1 3076 0 discriminator 37
 4562 014c 1AB9     		cbnz	r2, .L355
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4563              		.loc 1 3076 0
 4564 014e 0022     		movs	r2, #0
 4565 0150 93E7     		b	.L340
 4566              	.L356:
 4567              	.LVL377:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4568              		.loc 1 3076 0 discriminator 41
 4569 0152 0422     		movs	r2, #4
 4570 0154 91E7     		b	.L340
 4571              	.LVL378:
 4572              	.L355:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4573              		.loc 1 3076 0 discriminator 39
 4574 0156 1022     		movs	r2, #16
 4575 0158 8FE7     		b	.L340
 4576              	.LVL379:
 4577              	.L413:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4578              		.loc 1 3076 0 discriminator 49
 4579 015a 02F5C832 		add	r2, r2, #102400
 4580 015e D2F88820 		ldr	r2, [r2, #136]
 4581 0162 02F44062 		and	r2, r2, #3072
 4582 0166 B2F5806F 		cmp	r2, #1024
 4583 016a 0BD0     		beq	.L361
 4584 016c 07D9     		bls	.L418
ARM GAS  /tmp/ccVmA0m0.s 			page 173


 4585 016e B2F5006F 		cmp	r2, #2048
 4586 0172 13D0     		beq	.L393
 4587 0174 B2F5406F 		cmp	r2, #3072
 4588 0178 06D1     		bne	.L360
 4589              	.LVL380:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4590              		.loc 1 3076 0 discriminator 55
 4591 017a 0822     		movs	r2, #8
 4592 017c 7DE7     		b	.L340
 4593              	.LVL381:
 4594              	.L418:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4595              		.loc 1 3076 0 discriminator 49
 4596 017e 1AB9     		cbnz	r2, .L360
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4597              		.loc 1 3076 0
 4598 0180 0022     		movs	r2, #0
 4599 0182 7AE7     		b	.L340
 4600              	.L361:
 4601              	.LVL382:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4602              		.loc 1 3076 0 discriminator 53
 4603 0184 0422     		movs	r2, #4
 4604 0186 78E7     		b	.L340
 4605              	.LVL383:
 4606              	.L360:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4607              		.loc 1 3076 0 discriminator 51
 4608 0188 1022     		movs	r2, #16
 4609 018a 76E7     		b	.L340
 4610              	.LVL384:
 4611              	.L388:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4612              		.loc 1 3076 0
 4613 018c 0222     		movs	r2, #2
 4614 018e 74E7     		b	.L340
 4615              	.L389:
 4616 0190 0222     		movs	r2, #2
 4617 0192 72E7     		b	.L340
 4618              	.L390:
 4619 0194 0222     		movs	r2, #2
 4620 0196 70E7     		b	.L340
 4621              	.L391:
 4622 0198 0222     		movs	r2, #2
 4623 019a 6EE7     		b	.L340
 4624              	.L393:
 4625 019c 0222     		movs	r2, #2
 4626 019e 6CE7     		b	.L340
 4627              	.LVL385:
 4628              	.L414:
3082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 4629              		.loc 1 3082 0 is_stmt 1
 4630 01a0 082A     		cmp	r2, #8
 4631 01a2 00F2B680 		bhi	.L394
 4632 01a6 DFE802F0 		tbb	[pc, r2]
 4633              	.L368:
 4634 01aa 08       		.byte	(.L367-.L368)/2
ARM GAS  /tmp/ccVmA0m0.s 			page 174


 4635 01ab B4       		.byte	(.L394-.L368)/2
 4636 01ac 10       		.byte	(.L395-.L368)/2
 4637 01ad B4       		.byte	(.L394-.L368)/2
 4638 01ae 0D       		.byte	(.L370-.L368)/2
 4639 01af B4       		.byte	(.L394-.L368)/2
 4640 01b0 B4       		.byte	(.L394-.L368)/2
 4641 01b1 B4       		.byte	(.L394-.L368)/2
 4642 01b2 05       		.byte	(.L371-.L368)/2
 4643 01b3 00       		.p2align 1
 4644              	.L371:
3094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 4645              		.loc 1 3094 0
 4646 01b4 4FF40040 		mov	r0, #32768
 4647 01b8 08E0     		b	.L369
 4648              	.L367:
3085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 4649              		.loc 1 3085 0
 4650 01ba FFF7FEFF 		bl	HAL_RCC_GetPCLK1Freq
 4651              	.LVL386:
 4652              	.L372:
3103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 4653              		.loc 1 3103 0
 4654 01be 28B9     		cbnz	r0, .L369
 4655 01c0 0020     		movs	r0, #0
 4656              	.LVL387:
 4657 01c2 93E0     		b	.L366
 4658              	.LVL388:
 4659              	.L370:
3091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 4660              		.loc 1 3091 0
 4661 01c4 FFF7FEFF 		bl	HAL_RCC_GetSysClockFreq
 4662              	.LVL389:
3092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case UART_CLOCKSOURCE_LSE:
 4663              		.loc 1 3092 0
 4664 01c8 F9E7     		b	.L372
 4665              	.LVL390:
 4666              	.L395:
3088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 4667              		.loc 1 3088 0
 4668 01ca 3848     		ldr	r0, .L421+24
 4669              	.LVL391:
 4670              	.L369:
3106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4671              		.loc 1 3106 0
 4672 01cc 626A     		ldr	r2, [r4, #36]
 4673 01ce 384B     		ldr	r3, .L421+28
 4674 01d0 33F81220 		ldrh	r2, [r3, r2, lsl #1]
 4675 01d4 B0FBF2F3 		udiv	r3, r0, r2
 4676              	.LVL392:
3109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate)))
 4677              		.loc 1 3109 0
 4678 01d8 6568     		ldr	r5, [r4, #4]
 4679 01da 05EB4501 		add	r1, r5, r5, lsl #1
 4680 01de 9942     		cmp	r1, r3
 4681 01e0 00F29980 		bhi	.L397
3109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate)))
 4682              		.loc 1 3109 0 is_stmt 0 discriminator 1
ARM GAS  /tmp/ccVmA0m0.s 			page 175


 4683 01e4 B3EB053F 		cmp	r3, r5, lsl #12
 4684 01e8 00F29780 		bhi	.L398
3118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         if ((usartdiv >= LPUART_BRR_MIN) && (usartdiv <= LPUART_BRR_MAX))
 4685              		.loc 1 3118 0 is_stmt 1
 4686 01ec 4FF00008 		mov	r8, #0
 4687 01f0 92B2     		uxth	r2, r2
 4688 01f2 0023     		movs	r3, #0
 4689              	.LVL393:
 4690 01f4 4146     		mov	r1, r8
 4691 01f6 FFF7FEFF 		bl	__aeabi_uldivmod
 4692              	.LVL394:
 4693 01fa 0F02     		lsls	r7, r1, #8
 4694 01fc 47EA1067 		orr	r7, r7, r0, lsr #24
 4695 0200 0602     		lsls	r6, r0, #8
 4696 0202 6808     		lsrs	r0, r5, #1
 4697 0204 2A46     		mov	r2, r5
 4698 0206 4346     		mov	r3, r8
 4699 0208 16EB0008 		adds	r8, r6, r0
 4700 020c 47F10009 		adc	r9, r7, #0
 4701 0210 4046     		mov	r0, r8
 4702 0212 4946     		mov	r1, r9
 4703 0214 FFF7FEFF 		bl	__aeabi_uldivmod
 4704              	.LVL395:
3119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
 4705              		.loc 1 3119 0
 4706 0218 A0F54072 		sub	r2, r0, #768
 4707 021c 254B     		ldr	r3, .L421+32
 4708 021e 9A42     		cmp	r2, r3
 4709 0220 7DD8     		bhi	.L399
3121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
 4710              		.loc 1 3121 0
 4711 0222 2368     		ldr	r3, [r4]
 4712 0224 D860     		str	r0, [r3, #12]
 4713 0226 0020     		movs	r0, #0
 4714              	.LVL396:
 4715 0228 60E0     		b	.L366
 4716              	.LVL397:
 4717              	.L415:
3134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 4718              		.loc 1 3134 0
 4719 022a 082A     		cmp	r2, #8
 4720 022c 79D8     		bhi	.L400
 4721 022e DFE802F0 		tbb	[pc, r2]
 4722              	.L375:
 4723 0232 07       		.byte	(.L374-.L375)/2
 4724 0233 27       		.byte	(.L376-.L375)/2
 4725 0234 05       		.byte	(.L377-.L375)/2
 4726 0235 78       		.byte	(.L400-.L375)/2
 4727 0236 2A       		.byte	(.L378-.L375)/2
 4728 0237 78       		.byte	(.L400-.L375)/2
 4729 0238 78       		.byte	(.L400-.L375)/2
 4730 0239 78       		.byte	(.L400-.L375)/2
 4731 023a 2D       		.byte	(.L401-.L375)/2
 4732 023b 00       		.p2align 1
 4733              	.L377:
3143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 4734              		.loc 1 3143 0
ARM GAS  /tmp/ccVmA0m0.s 			page 176


 4735 023c 1B48     		ldr	r0, .L421+24
 4736 023e 03E0     		b	.L379
 4737              	.L374:
3137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 4738              		.loc 1 3137 0
 4739 0240 FFF7FEFF 		bl	HAL_RCC_GetPCLK1Freq
 4740              	.LVL398:
 4741              	.L380:
3158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 4742              		.loc 1 3158 0
 4743 0244 0028     		cmp	r0, #0
 4744 0246 6ED0     		beq	.L419
 4745              	.LVL399:
 4746              	.L379:
3160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
 4747              		.loc 1 3160 0
 4748 0248 626A     		ldr	r2, [r4, #36]
 4749 024a 194B     		ldr	r3, .L421+28
 4750 024c 33F81230 		ldrh	r3, [r3, r2, lsl #1]
 4751 0250 B0FBF3F0 		udiv	r0, r0, r3
 4752 0254 6268     		ldr	r2, [r4, #4]
 4753 0256 5308     		lsrs	r3, r2, #1
 4754 0258 03EB4003 		add	r3, r3, r0, lsl #1
 4755 025c B3FBF2F3 		udiv	r3, r3, r2
 4756 0260 9BB2     		uxth	r3, r3
 4757              	.LVL400:
3161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 4758              		.loc 1 3161 0
 4759 0262 A3F11001 		sub	r1, r3, #16
 4760 0266 4FF6EF72 		movw	r2, #65519
 4761 026a 9142     		cmp	r1, r2
 4762 026c 5DD8     		bhi	.L403
3163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U);
 4763              		.loc 1 3163 0
 4764 026e 23F00F02 		bic	r2, r3, #15
 4765              	.LVL401:
3164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->Instance->BRR = brrtemp;
 4766              		.loc 1 3164 0
 4767 0272 C3F34203 		ubfx	r3, r3, #1, #3
 4768              	.LVL402:
 4769 0276 1343     		orrs	r3, r3, r2
 4770              	.LVL403:
3165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
 4771              		.loc 1 3165 0
 4772 0278 2268     		ldr	r2, [r4]
 4773 027a D360     		str	r3, [r2, #12]
 4774 027c 0020     		movs	r0, #0
 4775 027e 35E0     		b	.L366
 4776              	.LVL404:
 4777              	.L376:
3140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 4778              		.loc 1 3140 0
 4779 0280 FFF7FEFF 		bl	HAL_RCC_GetPCLK2Freq
 4780              	.LVL405:
3141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case UART_CLOCKSOURCE_HSI:
 4781              		.loc 1 3141 0
 4782 0284 DEE7     		b	.L380
ARM GAS  /tmp/ccVmA0m0.s 			page 177


 4783              	.LVL406:
 4784              	.L378:
3146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 4785              		.loc 1 3146 0
 4786 0286 FFF7FEFF 		bl	HAL_RCC_GetSysClockFreq
 4787              	.LVL407:
3147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case UART_CLOCKSOURCE_LSE:
 4788              		.loc 1 3147 0
 4789 028a DBE7     		b	.L380
 4790              	.LVL408:
 4791              	.L401:
3149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 4792              		.loc 1 3149 0
 4793 028c 4FF40040 		mov	r0, #32768
 4794 0290 DAE7     		b	.L379
 4795              	.L422:
 4796 0292 00BF     		.align	2
 4797              	.L421:
 4798 0294 F369FFCF 		.word	-805344781
 4799 0298 00800040 		.word	1073774592
 4800 029c 00380140 		.word	1073821696
 4801 02a0 00440040 		.word	1073759232
 4802 02a4 00480040 		.word	1073760256
 4803 02a8 004C0040 		.word	1073761280
 4804 02ac 0024F400 		.word	16000000
 4805 02b0 00000000 		.word	.LANCHOR0
 4806 02b4 FFFC0F00 		.word	1047807
 4807              	.L384:
3184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 4808              		.loc 1 3184 0
 4809 02b8 2048     		ldr	r0, .L423
 4810 02ba 02E0     		b	.L386
 4811              	.L381:
3178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 4812              		.loc 1 3178 0
 4813 02bc FFF7FEFF 		bl	HAL_RCC_GetPCLK1Freq
 4814              	.LVL409:
 4815              	.L387:
3198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 4816              		.loc 1 3198 0
 4817 02c0 B8B3     		cbz	r0, .L420
 4818              	.LVL410:
 4819              	.L386:
3201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
 4820              		.loc 1 3201 0
 4821 02c2 626A     		ldr	r2, [r4, #36]
 4822 02c4 1E4B     		ldr	r3, .L423+4
 4823 02c6 33F81230 		ldrh	r3, [r3, r2, lsl #1]
 4824 02ca B0FBF3F0 		udiv	r0, r0, r3
 4825 02ce 6368     		ldr	r3, [r4, #4]
 4826 02d0 00EB5300 		add	r0, r0, r3, lsr #1
 4827 02d4 B0FBF3F0 		udiv	r0, r0, r3
 4828 02d8 80B2     		uxth	r0, r0
 4829              	.LVL411:
3202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 4830              		.loc 1 3202 0
 4831 02da A0F11002 		sub	r2, r0, #16
ARM GAS  /tmp/ccVmA0m0.s 			page 178


 4832 02de 4FF6EF73 		movw	r3, #65519
 4833 02e2 9A42     		cmp	r2, r3
 4834 02e4 27D8     		bhi	.L407
3204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
 4835              		.loc 1 3204 0
 4836 02e6 2368     		ldr	r3, [r4]
 4837 02e8 D860     		str	r0, [r3, #12]
 4838 02ea 0020     		movs	r0, #0
 4839              	.LVL412:
 4840              	.L366:
3214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->NbRxDataToProcess = 1;
 4841              		.loc 1 3214 0
 4842 02ec 0123     		movs	r3, #1
 4843 02ee A4F86A30 		strh	r3, [r4, #106]	@ movhi
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4844              		.loc 1 3215 0
 4845 02f2 A4F86830 		strh	r3, [r4, #104]	@ movhi
3218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->TxISR = NULL;
 4846              		.loc 1 3218 0
 4847 02f6 0023     		movs	r3, #0
 4848 02f8 2367     		str	r3, [r4, #112]
3219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4849              		.loc 1 3219 0
 4850 02fa 6367     		str	r3, [r4, #116]
3222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 4851              		.loc 1 3222 0
 4852 02fc BDE8F883 		pop	{r3, r4, r5, r6, r7, r8, r9, pc}
 4853              	.LVL413:
 4854              	.L383:
3181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 4855              		.loc 1 3181 0
 4856 0300 FFF7FEFF 		bl	HAL_RCC_GetPCLK2Freq
 4857              	.LVL414:
3182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case UART_CLOCKSOURCE_HSI:
 4858              		.loc 1 3182 0
 4859 0304 DCE7     		b	.L387
 4860              	.LVL415:
 4861              	.L385:
3187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 4862              		.loc 1 3187 0
 4863 0306 FFF7FEFF 		bl	HAL_RCC_GetSysClockFreq
 4864              	.LVL416:
3188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       case UART_CLOCKSOURCE_LSE:
 4865              		.loc 1 3188 0
 4866 030a D9E7     		b	.L387
 4867              	.LVL417:
 4868              	.L405:
3190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 4869              		.loc 1 3190 0
 4870 030c 4FF40040 		mov	r0, #32768
 4871 0310 D7E7     		b	.L386
 4872              	.L394:
3098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 4873              		.loc 1 3098 0
 4874 0312 0120     		movs	r0, #1
 4875 0314 EAE7     		b	.L366
 4876              	.LVL418:
ARM GAS  /tmp/ccVmA0m0.s 			page 179


 4877              	.L397:
3112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
 4878              		.loc 1 3112 0
 4879 0316 0120     		movs	r0, #1
 4880 0318 E8E7     		b	.L366
 4881              	.L398:
 4882 031a 0120     		movs	r0, #1
 4883 031c E6E7     		b	.L366
 4884              	.LVL419:
 4885              	.L399:
3125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
 4886              		.loc 1 3125 0
 4887 031e 0120     		movs	r0, #1
 4888              	.LVL420:
 4889 0320 E4E7     		b	.L366
 4890              	.LVL421:
 4891              	.L400:
3153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 4892              		.loc 1 3153 0
 4893 0322 0120     		movs	r0, #1
 4894 0324 E2E7     		b	.L366
 4895              	.LVL422:
 4896              	.L419:
 4897 0326 0020     		movs	r0, #0
 4898              	.LVL423:
 4899 0328 E0E7     		b	.L366
 4900              	.LVL424:
 4901              	.L403:
3169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
 4902              		.loc 1 3169 0
 4903 032a 0120     		movs	r0, #1
 4904 032c DEE7     		b	.L366
 4905              	.LVL425:
 4906              	.L404:
3194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         break;
 4907              		.loc 1 3194 0
 4908 032e 0120     		movs	r0, #1
 4909 0330 DCE7     		b	.L366
 4910              	.LVL426:
 4911              	.L420:
 4912 0332 0020     		movs	r0, #0
 4913              	.LVL427:
 4914 0334 DAE7     		b	.L366
 4915              	.LVL428:
 4916              	.L407:
3208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
 4917              		.loc 1 3208 0
 4918 0336 0120     		movs	r0, #1
 4919              	.LVL429:
 4920 0338 D8E7     		b	.L366
 4921              	.L424:
 4922 033a 00BF     		.align	2
 4923              	.L423:
 4924 033c 0024F400 		.word	16000000
 4925 0340 00000000 		.word	.LANCHOR0
 4926              		.cfi_endproc
 4927              	.LFE175:
ARM GAS  /tmp/ccVmA0m0.s 			page 180


 4929              		.section	.text.UART_AdvFeatureConfig,"ax",%progbits
 4930              		.align	1
 4931              		.global	UART_AdvFeatureConfig
 4932              		.syntax unified
 4933              		.thumb
 4934              		.thumb_func
 4935              		.fpu fpv4-sp-d16
 4937              	UART_AdvFeatureConfig:
 4938              	.LFB176:
3230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check whether the set of advanced features to configure is properly set */
 4939              		.loc 1 3230 0
 4940              		.cfi_startproc
 4941              		@ args = 0, pretend = 0, frame = 0
 4942              		@ frame_needed = 0, uses_anonymous_args = 0
 4943              		@ link register save eliminated.
 4944              	.LVL430:
3235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 4945              		.loc 1 3235 0
 4946 0000 836A     		ldr	r3, [r0, #40]
 4947 0002 13F0010F 		tst	r3, #1
 4948 0006 06D0     		beq	.L426
3238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 4949              		.loc 1 3238 0
 4950 0008 0268     		ldr	r2, [r0]
 4951 000a 5368     		ldr	r3, [r2, #4]
 4952 000c 23F40033 		bic	r3, r3, #131072
 4953 0010 C16A     		ldr	r1, [r0, #44]
 4954 0012 0B43     		orrs	r3, r3, r1
 4955 0014 5360     		str	r3, [r2, #4]
 4956              	.L426:
3242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 4957              		.loc 1 3242 0
 4958 0016 836A     		ldr	r3, [r0, #40]
 4959 0018 13F0020F 		tst	r3, #2
 4960 001c 06D0     		beq	.L427
3245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 4961              		.loc 1 3245 0
 4962 001e 0268     		ldr	r2, [r0]
 4963 0020 5368     		ldr	r3, [r2, #4]
 4964 0022 23F48033 		bic	r3, r3, #65536
 4965 0026 016B     		ldr	r1, [r0, #48]
 4966 0028 0B43     		orrs	r3, r3, r1
 4967 002a 5360     		str	r3, [r2, #4]
 4968              	.L427:
3249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 4969              		.loc 1 3249 0
 4970 002c 836A     		ldr	r3, [r0, #40]
 4971 002e 13F0040F 		tst	r3, #4
 4972 0032 06D0     		beq	.L428
3252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 4973              		.loc 1 3252 0
 4974 0034 0268     		ldr	r2, [r0]
 4975 0036 5368     		ldr	r3, [r2, #4]
 4976 0038 23F48023 		bic	r3, r3, #262144
 4977 003c 416B     		ldr	r1, [r0, #52]
 4978 003e 0B43     		orrs	r3, r3, r1
 4979 0040 5360     		str	r3, [r2, #4]
ARM GAS  /tmp/ccVmA0m0.s 			page 181


 4980              	.L428:
3256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 4981              		.loc 1 3256 0
 4982 0042 836A     		ldr	r3, [r0, #40]
 4983 0044 13F0080F 		tst	r3, #8
 4984 0048 06D0     		beq	.L429
3259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 4985              		.loc 1 3259 0
 4986 004a 0268     		ldr	r2, [r0]
 4987 004c 5368     		ldr	r3, [r2, #4]
 4988 004e 23F40043 		bic	r3, r3, #32768
 4989 0052 816B     		ldr	r1, [r0, #56]
 4990 0054 0B43     		orrs	r3, r3, r1
 4991 0056 5360     		str	r3, [r2, #4]
 4992              	.L429:
3263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 4993              		.loc 1 3263 0
 4994 0058 836A     		ldr	r3, [r0, #40]
 4995 005a 13F0100F 		tst	r3, #16
 4996 005e 06D0     		beq	.L430
3266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 4997              		.loc 1 3266 0
 4998 0060 0268     		ldr	r2, [r0]
 4999 0062 9368     		ldr	r3, [r2, #8]
 5000 0064 23F48053 		bic	r3, r3, #4096
 5001 0068 C16B     		ldr	r1, [r0, #60]
 5002 006a 0B43     		orrs	r3, r3, r1
 5003 006c 9360     		str	r3, [r2, #8]
 5004              	.L430:
3270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 5005              		.loc 1 3270 0
 5006 006e 836A     		ldr	r3, [r0, #40]
 5007 0070 13F0200F 		tst	r3, #32
 5008 0074 06D0     		beq	.L431
3273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 5009              		.loc 1 3273 0
 5010 0076 0268     		ldr	r2, [r0]
 5011 0078 9368     		ldr	r3, [r2, #8]
 5012 007a 23F40053 		bic	r3, r3, #8192
 5013 007e 016C     		ldr	r1, [r0, #64]
 5014 0080 0B43     		orrs	r3, r3, r1
 5015 0082 9360     		str	r3, [r2, #8]
 5016              	.L431:
3277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 5017              		.loc 1 3277 0
 5018 0084 836A     		ldr	r3, [r0, #40]
 5019 0086 13F0400F 		tst	r3, #64
 5020 008a 0AD0     		beq	.L432
3281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     /* set auto Baudrate detection parameters if detection is enabled */
 5021              		.loc 1 3281 0
 5022 008c 0268     		ldr	r2, [r0]
 5023 008e 5368     		ldr	r3, [r2, #4]
 5024 0090 23F48013 		bic	r3, r3, #1048576
 5025 0094 416C     		ldr	r1, [r0, #68]
 5026 0096 0B43     		orrs	r3, r3, r1
 5027 0098 5360     		str	r3, [r2, #4]
3283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
ARM GAS  /tmp/ccVmA0m0.s 			page 182


 5028              		.loc 1 3283 0
 5029 009a 436C     		ldr	r3, [r0, #68]
 5030 009c B3F5801F 		cmp	r3, #1048576
 5031 00a0 0BD0     		beq	.L434
 5032              	.L432:
3291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 5033              		.loc 1 3291 0
 5034 00a2 836A     		ldr	r3, [r0, #40]
 5035 00a4 13F0800F 		tst	r3, #128
 5036 00a8 06D0     		beq	.L425
3294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 5037              		.loc 1 3294 0
 5038 00aa 0268     		ldr	r2, [r0]
 5039 00ac 5368     		ldr	r3, [r2, #4]
 5040 00ae 23F40023 		bic	r3, r3, #524288
 5041 00b2 C16C     		ldr	r1, [r0, #76]
 5042 00b4 0B43     		orrs	r3, r3, r1
 5043 00b6 5360     		str	r3, [r2, #4]
 5044              	.L425:
3296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5045              		.loc 1 3296 0
 5046 00b8 7047     		bx	lr
 5047              	.L434:
3286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 5048              		.loc 1 3286 0
 5049 00ba 0268     		ldr	r2, [r0]
 5050 00bc 5368     		ldr	r3, [r2, #4]
 5051 00be 23F4C003 		bic	r3, r3, #6291456
 5052 00c2 816C     		ldr	r1, [r0, #72]
 5053 00c4 0B43     		orrs	r3, r3, r1
 5054 00c6 5360     		str	r3, [r2, #4]
 5055 00c8 EBE7     		b	.L432
 5056              		.cfi_endproc
 5057              	.LFE176:
 5059              		.section	.text.UART_WaitOnFlagUntilTimeout,"ax",%progbits
 5060              		.align	1
 5061              		.global	UART_WaitOnFlagUntilTimeout
 5062              		.syntax unified
 5063              		.thumb
 5064              		.thumb_func
 5065              		.fpu fpv4-sp-d16
 5067              	UART_WaitOnFlagUntilTimeout:
 5068              	.LFB178:
3356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Wait until flag is set */
 5069              		.loc 1 3356 0
 5070              		.cfi_startproc
 5071              		@ args = 4, pretend = 0, frame = 0
 5072              		@ frame_needed = 0, uses_anonymous_args = 0
 5073              	.LVL431:
 5074 0000 2DE9F041 		push	{r4, r5, r6, r7, r8, lr}
 5075              	.LCFI32:
 5076              		.cfi_def_cfa_offset 24
 5077              		.cfi_offset 4, -24
 5078              		.cfi_offset 5, -20
 5079              		.cfi_offset 6, -16
 5080              		.cfi_offset 7, -12
 5081              		.cfi_offset 8, -8
ARM GAS  /tmp/ccVmA0m0.s 			page 183


 5082              		.cfi_offset 14, -4
 5083 0004 0446     		mov	r4, r0
 5084 0006 0F46     		mov	r7, r1
 5085 0008 1646     		mov	r6, r2
 5086 000a 9846     		mov	r8, r3
 5087 000c 069D     		ldr	r5, [sp, #24]
 5088              	.LVL432:
 5089              	.L437:
3358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 5090              		.loc 1 3358 0
 5091 000e 2368     		ldr	r3, [r4]
 5092 0010 DB69     		ldr	r3, [r3, #28]
 5093 0012 37EA0303 		bics	r3, r7, r3
 5094 0016 0CBF     		ite	eq
 5095 0018 0123     		moveq	r3, #1
 5096 001a 0023     		movne	r3, #0
 5097 001c B342     		cmp	r3, r6
 5098 001e 3FD1     		bne	.L443
3361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 5099              		.loc 1 3361 0
 5100 0020 B5F1FF3F 		cmp	r5, #-1
 5101 0024 F3D0     		beq	.L437
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 5102              		.loc 1 3363 0
 5103 0026 FFF7FEFF 		bl	HAL_GetTick
 5104              	.LVL433:
 5105 002a A0EB0800 		sub	r0, r0, r8
 5106 002e A842     		cmp	r0, r5
 5107 0030 22D8     		bhi	.L438
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 5108              		.loc 1 3363 0 is_stmt 0 discriminator 1
 5109 0032 0DB3     		cbz	r5, .L438
3378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 5110              		.loc 1 3378 0 is_stmt 1
 5111 0034 2368     		ldr	r3, [r4]
 5112 0036 1A68     		ldr	r2, [r3]
 5113 0038 12F0040F 		tst	r2, #4
 5114 003c E7D0     		beq	.L437
3380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         {
 5115              		.loc 1 3380 0
 5116 003e DA69     		ldr	r2, [r3, #28]
 5117 0040 12F4006F 		tst	r2, #2048
 5118 0044 E3D0     		beq	.L437
3383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5119              		.loc 1 3383 0
 5120 0046 4FF40062 		mov	r2, #2048
 5121 004a 1A62     		str	r2, [r3, #32]
3387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
 5122              		.loc 1 3387 0
 5123 004c 2268     		ldr	r2, [r4]
 5124 004e 1368     		ldr	r3, [r2]
 5125 0050 23F4D073 		bic	r3, r3, #416
 5126 0054 1360     		str	r3, [r2]
3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5127              		.loc 1 3388 0
 5128 0056 2268     		ldr	r2, [r4]
 5129 0058 9368     		ldr	r3, [r2, #8]
ARM GAS  /tmp/ccVmA0m0.s 			page 184


 5130 005a 23F00103 		bic	r3, r3, #1
 5131 005e 9360     		str	r3, [r2, #8]
3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           huart->RxState = HAL_UART_STATE_READY;
 5132              		.loc 1 3390 0
 5133 0060 2023     		movs	r3, #32
 5134 0062 C4F88430 		str	r3, [r4, #132]
3391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****           huart->ErrorCode = HAL_UART_ERROR_RTO;
 5135              		.loc 1 3391 0
 5136 0066 C4F88830 		str	r3, [r4, #136]
3392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5137              		.loc 1 3392 0
 5138 006a C4F88C30 		str	r3, [r4, #140]
3395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5139              		.loc 1 3395 0
 5140 006e 0023     		movs	r3, #0
 5141 0070 84F88030 		strb	r3, [r4, #128]
3397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         }
 5142              		.loc 1 3397 0
 5143 0074 0320     		movs	r0, #3
 5144 0076 14E0     		b	.L440
 5145              	.L438:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
 5146              		.loc 1 3367 0
 5147 0078 2268     		ldr	r2, [r4]
 5148 007a 1368     		ldr	r3, [r2]
 5149 007c 23F4D073 		bic	r3, r3, #416
 5150 0080 1360     		str	r3, [r2]
3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5151              		.loc 1 3368 0
 5152 0082 2268     		ldr	r2, [r4]
 5153 0084 9368     		ldr	r3, [r2, #8]
 5154 0086 23F00103 		bic	r3, r3, #1
 5155 008a 9360     		str	r3, [r2, #8]
3370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         huart->RxState = HAL_UART_STATE_READY;
 5156              		.loc 1 3370 0
 5157 008c 2023     		movs	r3, #32
 5158 008e C4F88430 		str	r3, [r4, #132]
3371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5159              		.loc 1 3371 0
 5160 0092 C4F88830 		str	r3, [r4, #136]
3373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5161              		.loc 1 3373 0
 5162 0096 0023     		movs	r3, #0
 5163 0098 84F88030 		strb	r3, [r4, #128]
3375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
 5164              		.loc 1 3375 0
 5165 009c 0320     		movs	r0, #3
 5166 009e 00E0     		b	.L440
 5167              	.L443:
3402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
 5168              		.loc 1 3402 0
 5169 00a0 0020     		movs	r0, #0
 5170              	.L440:
3403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5171              		.loc 1 3403 0
 5172 00a2 BDE8F081 		pop	{r4, r5, r6, r7, r8, pc}
 5173              		.cfi_endproc
ARM GAS  /tmp/ccVmA0m0.s 			page 185


 5174              	.LFE178:
 5176              		.section	.text.HAL_UART_Transmit,"ax",%progbits
 5177              		.align	1
 5178              		.global	HAL_UART_Transmit
 5179              		.syntax unified
 5180              		.thumb
 5181              		.thumb_func
 5182              		.fpu fpv4-sp-d16
 5184              	HAL_UART_Transmit:
 5185              	.LFB139:
1122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint8_t  *pdata8bits;
 5186              		.loc 1 1122 0
 5187              		.cfi_startproc
 5188              		@ args = 0, pretend = 0, frame = 0
 5189              		@ frame_needed = 0, uses_anonymous_args = 0
 5190              	.LVL434:
 5191 0000 2DE9F041 		push	{r4, r5, r6, r7, r8, lr}
 5192              	.LCFI33:
 5193              		.cfi_def_cfa_offset 24
 5194              		.cfi_offset 4, -24
 5195              		.cfi_offset 5, -20
 5196              		.cfi_offset 6, -16
 5197              		.cfi_offset 7, -12
 5198              		.cfi_offset 8, -8
 5199              		.cfi_offset 14, -4
 5200 0004 82B0     		sub	sp, sp, #8
 5201              	.LCFI34:
 5202              		.cfi_def_cfa_offset 32
 5203 0006 1E46     		mov	r6, r3
1128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 5204              		.loc 1 1128 0
 5205 0008 D0F88430 		ldr	r3, [r0, #132]
 5206              	.LVL435:
 5207 000c 202B     		cmp	r3, #32
 5208 000e 58D1     		bne	.L451
 5209 0010 0446     		mov	r4, r0
 5210 0012 0D46     		mov	r5, r1
 5211 0014 9046     		mov	r8, r2
1130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 5212              		.loc 1 1130 0
 5213 0016 0029     		cmp	r1, #0
 5214 0018 58D0     		beq	.L452
1130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 5215              		.loc 1 1130 0 is_stmt 0 discriminator 1
 5216 001a 002A     		cmp	r2, #0
 5217 001c 58D0     		beq	.L453
1135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5218              		.loc 1 1135 0 is_stmt 1
 5219 001e 90F88030 		ldrb	r3, [r0, #128]	@ zero_extendqisi2
 5220 0022 012B     		cmp	r3, #1
 5221 0024 56D0     		beq	.L454
1135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5222              		.loc 1 1135 0 is_stmt 0 discriminator 2
 5223 0026 0123     		movs	r3, #1
 5224 0028 80F88030 		strb	r3, [r0, #128]
1137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->gState = HAL_UART_STATE_BUSY_TX;
 5225              		.loc 1 1137 0 is_stmt 1 discriminator 2
ARM GAS  /tmp/ccVmA0m0.s 			page 186


 5226 002c 0023     		movs	r3, #0
 5227 002e C0F88C30 		str	r3, [r0, #140]
1138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5228              		.loc 1 1138 0 discriminator 2
 5229 0032 2123     		movs	r3, #33
 5230 0034 C0F88430 		str	r3, [r0, #132]
1141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5231              		.loc 1 1141 0 discriminator 2
 5232 0038 FFF7FEFF 		bl	HAL_GetTick
 5233              	.LVL436:
 5234 003c 0746     		mov	r7, r0
 5235              	.LVL437:
1143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->TxXferCount = Size;
 5236              		.loc 1 1143 0 discriminator 2
 5237 003e A4F85480 		strh	r8, [r4, #84]	@ movhi
1144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5238              		.loc 1 1144 0 discriminator 2
 5239 0042 A4F85680 		strh	r8, [r4, #86]	@ movhi
1147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 5240              		.loc 1 1147 0 discriminator 2
 5241 0046 A368     		ldr	r3, [r4, #8]
 5242 0048 B3F5805F 		cmp	r3, #4096
 5243 004c 05D0     		beq	.L460
1155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 5244              		.loc 1 1155 0
 5245 004e 4FF00008 		mov	r8, #0
 5246              	.LVL438:
 5247              	.L446:
1158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5248              		.loc 1 1158 0
 5249 0052 0023     		movs	r3, #0
 5250 0054 84F88030 		strb	r3, [r4, #128]
1160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 5251              		.loc 1 1160 0
 5252 0058 13E0     		b	.L447
 5253              	.LVL439:
 5254              	.L460:
1147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 5255              		.loc 1 1147 0 discriminator 1
 5256 005a 2369     		ldr	r3, [r4, #16]
 5257 005c 13B1     		cbz	r3, .L456
1155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 5258              		.loc 1 1155 0
 5259 005e 4FF00008 		mov	r8, #0
 5260 0062 F6E7     		b	.L446
 5261              	.L456:
1150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 5262              		.loc 1 1150 0
 5263 0064 A846     		mov	r8, r5
1149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       pdata16bits = (uint16_t *) pData;
 5264              		.loc 1 1149 0
 5265 0066 0025     		movs	r5, #0
 5266              	.LVL440:
 5267 0068 F3E7     		b	.L446
 5268              	.LVL441:
 5269              	.L462:
1168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         pdata16bits++;
ARM GAS  /tmp/ccVmA0m0.s 			page 187


 5270              		.loc 1 1168 0
 5271 006a 38F8023B 		ldrh	r3, [r8], #2
 5272              	.LVL442:
 5273 006e 2268     		ldr	r2, [r4]
 5274 0070 C3F30803 		ubfx	r3, r3, #0, #9
 5275 0074 9362     		str	r3, [r2, #40]
 5276              	.LVL443:
 5277              	.L449:
1176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 5278              		.loc 1 1176 0
 5279 0076 B4F85630 		ldrh	r3, [r4, #86]
 5280 007a 013B     		subs	r3, r3, #1
 5281 007c 9BB2     		uxth	r3, r3
 5282 007e A4F85630 		strh	r3, [r4, #86]	@ movhi
 5283              	.L447:
1160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 5284              		.loc 1 1160 0
 5285 0082 B4F85630 		ldrh	r3, [r4, #86]
 5286 0086 9BB2     		uxth	r3, r3
 5287 0088 73B1     		cbz	r3, .L461
1162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 5288              		.loc 1 1162 0
 5289 008a 0096     		str	r6, [sp]
 5290 008c 3B46     		mov	r3, r7
 5291 008e 0022     		movs	r2, #0
 5292 0090 8021     		movs	r1, #128
 5293 0092 2046     		mov	r0, r4
 5294 0094 FFF7FEFF 		bl	UART_WaitOnFlagUntilTimeout
 5295              	.LVL444:
 5296 0098 F0B9     		cbnz	r0, .L457
1166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 5297              		.loc 1 1166 0
 5298 009a 002D     		cmp	r5, #0
 5299 009c E5D0     		beq	.L462
1173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         pdata8bits++;
 5300              		.loc 1 1173 0
 5301 009e 15F8012B 		ldrb	r2, [r5], #1	@ zero_extendqisi2
 5302              	.LVL445:
 5303 00a2 2368     		ldr	r3, [r4]
 5304 00a4 9A62     		str	r2, [r3, #40]
 5305              	.LVL446:
 5306 00a6 E6E7     		b	.L449
 5307              	.L461:
1179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 5308              		.loc 1 1179 0
 5309 00a8 0096     		str	r6, [sp]
 5310 00aa 3B46     		mov	r3, r7
 5311 00ac 0022     		movs	r2, #0
 5312 00ae 4021     		movs	r1, #64
 5313 00b0 2046     		mov	r0, r4
 5314 00b2 FFF7FEFF 		bl	UART_WaitOnFlagUntilTimeout
 5315              	.LVL447:
 5316 00b6 0346     		mov	r3, r0
 5317 00b8 80B9     		cbnz	r0, .L458
1185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5318              		.loc 1 1185 0
 5319 00ba 2022     		movs	r2, #32
ARM GAS  /tmp/ccVmA0m0.s 			page 188


 5320 00bc C4F88420 		str	r2, [r4, #132]
1187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 5321              		.loc 1 1187 0
 5322 00c0 00E0     		b	.L445
 5323              	.LVL448:
 5324              	.L451:
1191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 5325              		.loc 1 1191 0
 5326 00c2 0223     		movs	r3, #2
 5327              	.LVL449:
 5328              	.L445:
1193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5329              		.loc 1 1193 0
 5330 00c4 1846     		mov	r0, r3
 5331 00c6 02B0     		add	sp, sp, #8
 5332              	.LCFI35:
 5333              		.cfi_remember_state
 5334              		.cfi_def_cfa_offset 24
 5335              		@ sp needed
 5336 00c8 BDE8F081 		pop	{r4, r5, r6, r7, r8, pc}
 5337              	.LVL450:
 5338              	.L452:
 5339              	.LCFI36:
 5340              		.cfi_restore_state
1132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 5341              		.loc 1 1132 0
 5342 00cc 0123     		movs	r3, #1
 5343 00ce F9E7     		b	.L445
 5344              	.L453:
 5345 00d0 0123     		movs	r3, #1
 5346 00d2 F7E7     		b	.L445
 5347              	.L454:
1135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5348              		.loc 1 1135 0
 5349 00d4 0223     		movs	r3, #2
 5350 00d6 F5E7     		b	.L445
 5351              	.LVL451:
 5352              	.L457:
1164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
 5353              		.loc 1 1164 0
 5354 00d8 0323     		movs	r3, #3
 5355 00da F3E7     		b	.L445
 5356              	.L458:
1181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 5357              		.loc 1 1181 0
 5358 00dc 0323     		movs	r3, #3
 5359 00de F1E7     		b	.L445
 5360              		.cfi_endproc
 5361              	.LFE139:
 5363              		.section	.text.HAL_UART_Receive,"ax",%progbits
 5364              		.align	1
 5365              		.global	HAL_UART_Receive
 5366              		.syntax unified
 5367              		.thumb
 5368              		.thumb_func
 5369              		.fpu fpv4-sp-d16
 5371              	HAL_UART_Receive:
ARM GAS  /tmp/ccVmA0m0.s 			page 189


 5372              	.LFB140:
1211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint8_t  *pdata8bits;
 5373              		.loc 1 1211 0
 5374              		.cfi_startproc
 5375              		@ args = 0, pretend = 0, frame = 0
 5376              		@ frame_needed = 0, uses_anonymous_args = 0
 5377              	.LVL452:
 5378 0000 2DE9F043 		push	{r4, r5, r6, r7, r8, r9, lr}
 5379              	.LCFI37:
 5380              		.cfi_def_cfa_offset 28
 5381              		.cfi_offset 4, -28
 5382              		.cfi_offset 5, -24
 5383              		.cfi_offset 6, -20
 5384              		.cfi_offset 7, -16
 5385              		.cfi_offset 8, -12
 5386              		.cfi_offset 9, -8
 5387              		.cfi_offset 14, -4
 5388 0004 83B0     		sub	sp, sp, #12
 5389              	.LCFI38:
 5390              		.cfi_def_cfa_offset 40
 5391 0006 1E46     		mov	r6, r3
1218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 5392              		.loc 1 1218 0
 5393 0008 D0F88830 		ldr	r3, [r0, #136]
 5394              	.LVL453:
 5395 000c 202B     		cmp	r3, #32
 5396 000e 7FD1     		bne	.L477
 5397 0010 0446     		mov	r4, r0
 5398 0012 0D46     		mov	r5, r1
 5399 0014 9046     		mov	r8, r2
1220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 5400              		.loc 1 1220 0
 5401 0016 0029     		cmp	r1, #0
 5402 0018 7ED0     		beq	.L478
1220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 5403              		.loc 1 1220 0 is_stmt 0 discriminator 1
 5404 001a 002A     		cmp	r2, #0
 5405 001c 7ED0     		beq	.L479
1225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5406              		.loc 1 1225 0 is_stmt 1
 5407 001e 90F88030 		ldrb	r3, [r0, #128]	@ zero_extendqisi2
 5408 0022 012B     		cmp	r3, #1
 5409 0024 7CD0     		beq	.L480
1225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5410              		.loc 1 1225 0 is_stmt 0 discriminator 2
 5411 0026 0123     		movs	r3, #1
 5412 0028 80F88030 		strb	r3, [r0, #128]
1227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->RxState = HAL_UART_STATE_BUSY_RX;
 5413              		.loc 1 1227 0 is_stmt 1 discriminator 2
 5414 002c 0023     		movs	r3, #0
 5415 002e C0F88C30 		str	r3, [r0, #140]
1228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
 5416              		.loc 1 1228 0 discriminator 2
 5417 0032 2222     		movs	r2, #34
 5418              	.LVL454:
 5419 0034 C0F88820 		str	r2, [r0, #136]
1229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
ARM GAS  /tmp/ccVmA0m0.s 			page 190


 5420              		.loc 1 1229 0 discriminator 2
 5421 0038 C366     		str	r3, [r0, #108]
1232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5422              		.loc 1 1232 0 discriminator 2
 5423 003a FFF7FEFF 		bl	HAL_GetTick
 5424              	.LVL455:
 5425 003e 0746     		mov	r7, r0
 5426              	.LVL456:
1234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     huart->RxXferCount = Size;
 5427              		.loc 1 1234 0 discriminator 2
 5428 0040 A4F85C80 		strh	r8, [r4, #92]	@ movhi
1235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5429              		.loc 1 1235 0 discriminator 2
 5430 0044 A4F85E80 		strh	r8, [r4, #94]	@ movhi
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     uhMask = huart->Mask;
 5431              		.loc 1 1238 0 discriminator 2
 5432 0048 A368     		ldr	r3, [r4, #8]
 5433 004a B3F5805F 		cmp	r3, #4096
 5434 004e 06D0     		beq	.L485
 5435 0050 A3B9     		cbnz	r3, .L468
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     uhMask = huart->Mask;
 5436              		.loc 1 1238 0 is_stmt 0 discriminator 5
 5437 0052 2269     		ldr	r2, [r4, #16]
 5438 0054 72B9     		cbnz	r2, .L469
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     uhMask = huart->Mask;
 5439              		.loc 1 1238 0 discriminator 7
 5440 0056 FF22     		movs	r2, #255
 5441 0058 A4F86020 		strh	r2, [r4, #96]	@ movhi
 5442 005c 14E0     		b	.L467
 5443              	.L485:
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     uhMask = huart->Mask;
 5444              		.loc 1 1238 0 discriminator 1
 5445 005e 2269     		ldr	r2, [r4, #16]
 5446 0060 22B9     		cbnz	r2, .L466
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     uhMask = huart->Mask;
 5447              		.loc 1 1238 0 discriminator 3
 5448 0062 40F2FF12 		movw	r2, #511
 5449 0066 A4F86020 		strh	r2, [r4, #96]	@ movhi
 5450 006a 0DE0     		b	.L467
 5451              	.L466:
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     uhMask = huart->Mask;
 5452              		.loc 1 1238 0 discriminator 4
 5453 006c FF22     		movs	r2, #255
 5454 006e A4F86020 		strh	r2, [r4, #96]	@ movhi
 5455 0072 09E0     		b	.L467
 5456              	.L469:
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     uhMask = huart->Mask;
 5457              		.loc 1 1238 0 discriminator 8
 5458 0074 7F22     		movs	r2, #127
 5459 0076 A4F86020 		strh	r2, [r4, #96]	@ movhi
 5460 007a 05E0     		b	.L467
 5461              	.L468:
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     uhMask = huart->Mask;
 5462              		.loc 1 1238 0 discriminator 6
 5463 007c B3F1805F 		cmp	r3, #268435456
 5464 0080 0DD0     		beq	.L486
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     uhMask = huart->Mask;
ARM GAS  /tmp/ccVmA0m0.s 			page 191


 5465              		.loc 1 1238 0 discriminator 10
 5466 0082 0022     		movs	r2, #0
 5467 0084 A4F86020 		strh	r2, [r4, #96]	@ movhi
 5468              	.L467:
1239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5469              		.loc 1 1239 0 is_stmt 1
 5470 0088 B4F86080 		ldrh	r8, [r4, #96]
 5471              	.LVL457:
1242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 5472              		.loc 1 1242 0
 5473 008c B3F5805F 		cmp	r3, #4096
 5474 0090 0FD0     		beq	.L487
1250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 5475              		.loc 1 1250 0
 5476 0092 4FF00009 		mov	r9, #0
 5477              	.LVL458:
 5478              	.L472:
1253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5479              		.loc 1 1253 0
 5480 0096 0023     		movs	r3, #0
 5481 0098 84F88030 		strb	r3, [r4, #128]
1256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 5482              		.loc 1 1256 0
 5483 009c 1DE0     		b	.L473
 5484              	.LVL459:
 5485              	.L486:
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     uhMask = huart->Mask;
 5486              		.loc 1 1238 0 discriminator 9
 5487 009e 2269     		ldr	r2, [r4, #16]
 5488 00a0 1AB9     		cbnz	r2, .L471
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     uhMask = huart->Mask;
 5489              		.loc 1 1238 0 is_stmt 0 discriminator 11
 5490 00a2 7F22     		movs	r2, #127
 5491 00a4 A4F86020 		strh	r2, [r4, #96]	@ movhi
 5492 00a8 EEE7     		b	.L467
 5493              	.L471:
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     uhMask = huart->Mask;
 5494              		.loc 1 1238 0 discriminator 12
 5495 00aa 3F22     		movs	r2, #63
 5496 00ac A4F86020 		strh	r2, [r4, #96]	@ movhi
 5497 00b0 EAE7     		b	.L467
 5498              	.LVL460:
 5499              	.L487:
1242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 5500              		.loc 1 1242 0 is_stmt 1 discriminator 1
 5501 00b2 2369     		ldr	r3, [r4, #16]
 5502 00b4 13B1     		cbz	r3, .L482
1250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 5503              		.loc 1 1250 0
 5504 00b6 4FF00009 		mov	r9, #0
 5505 00ba ECE7     		b	.L472
 5506              	.L482:
1245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 5507              		.loc 1 1245 0
 5508 00bc A946     		mov	r9, r5
1244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       pdata16bits = (uint16_t *) pData;
 5509              		.loc 1 1244 0
ARM GAS  /tmp/ccVmA0m0.s 			page 192


 5510 00be 0025     		movs	r5, #0
 5511              	.LVL461:
 5512 00c0 E9E7     		b	.L472
 5513              	.LVL462:
 5514              	.L489:
1264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         pdata16bits++;
 5515              		.loc 1 1264 0
 5516 00c2 2368     		ldr	r3, [r4]
 5517 00c4 5B6A     		ldr	r3, [r3, #36]
 5518 00c6 08EA0303 		and	r3, r8, r3
 5519 00ca 29F8023B 		strh	r3, [r9], #2	@ movhi
 5520              	.LVL463:
 5521              	.L475:
1272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 5522              		.loc 1 1272 0
 5523 00ce B4F85E30 		ldrh	r3, [r4, #94]
 5524 00d2 013B     		subs	r3, r3, #1
 5525 00d4 9BB2     		uxth	r3, r3
 5526 00d6 A4F85E30 		strh	r3, [r4, #94]	@ movhi
 5527              	.L473:
1256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 5528              		.loc 1 1256 0
 5529 00da B4F85E30 		ldrh	r3, [r4, #94]
 5530 00de 9BB2     		uxth	r3, r3
 5531 00e0 8BB1     		cbz	r3, .L488
1258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 5532              		.loc 1 1258 0
 5533 00e2 0096     		str	r6, [sp]
 5534 00e4 3B46     		mov	r3, r7
 5535 00e6 0022     		movs	r2, #0
 5536 00e8 2021     		movs	r1, #32
 5537 00ea 2046     		mov	r0, r4
 5538 00ec FFF7FEFF 		bl	UART_WaitOnFlagUntilTimeout
 5539              	.LVL464:
 5540 00f0 C0B9     		cbnz	r0, .L483
1262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 5541              		.loc 1 1262 0
 5542 00f2 002D     		cmp	r5, #0
 5543 00f4 E5D0     		beq	.L489
1269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****         pdata8bits++;
 5544              		.loc 1 1269 0
 5545 00f6 2368     		ldr	r3, [r4]
 5546 00f8 5A6A     		ldr	r2, [r3, #36]
 5547 00fa 5FFA88F3 		uxtb	r3, r8
 5548 00fe 1340     		ands	r3, r3, r2
 5549 0100 05F8013B 		strb	r3, [r5], #1
 5550              	.LVL465:
 5551 0104 E3E7     		b	.L475
 5552              	.L488:
1276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5553              		.loc 1 1276 0
 5554 0106 2023     		movs	r3, #32
 5555 0108 C4F88830 		str	r3, [r4, #136]
1278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 5556              		.loc 1 1278 0
 5557 010c 0020     		movs	r0, #0
 5558 010e 00E0     		b	.L464
ARM GAS  /tmp/ccVmA0m0.s 			page 193


 5559              	.LVL466:
 5560              	.L477:
1282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 5561              		.loc 1 1282 0
 5562 0110 0220     		movs	r0, #2
 5563              	.LVL467:
 5564              	.L464:
1284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5565              		.loc 1 1284 0
 5566 0112 03B0     		add	sp, sp, #12
 5567              	.LCFI39:
 5568              		.cfi_remember_state
 5569              		.cfi_def_cfa_offset 28
 5570              		@ sp needed
 5571 0114 BDE8F083 		pop	{r4, r5, r6, r7, r8, r9, pc}
 5572              	.LVL468:
 5573              	.L478:
 5574              	.LCFI40:
 5575              		.cfi_restore_state
1222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 5576              		.loc 1 1222 0
 5577 0118 0120     		movs	r0, #1
 5578              	.LVL469:
 5579 011a FAE7     		b	.L464
 5580              	.LVL470:
 5581              	.L479:
 5582 011c 0120     		movs	r0, #1
 5583              	.LVL471:
 5584 011e F8E7     		b	.L464
 5585              	.LVL472:
 5586              	.L480:
1225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5587              		.loc 1 1225 0
 5588 0120 0220     		movs	r0, #2
 5589              	.LVL473:
 5590 0122 F6E7     		b	.L464
 5591              	.LVL474:
 5592              	.L483:
1260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
 5593              		.loc 1 1260 0
 5594 0124 0320     		movs	r0, #3
 5595 0126 F4E7     		b	.L464
 5596              		.cfi_endproc
 5597              	.LFE140:
 5599              		.section	.text.UART_CheckIdleState,"ax",%progbits
 5600              		.align	1
 5601              		.global	UART_CheckIdleState
 5602              		.syntax unified
 5603              		.thumb
 5604              		.thumb_func
 5605              		.fpu fpv4-sp-d16
 5607              	UART_CheckIdleState:
 5608              	.LFB177:
3304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   uint32_t tickstart;
 5609              		.loc 1 3304 0
 5610              		.cfi_startproc
 5611              		@ args = 0, pretend = 0, frame = 0
ARM GAS  /tmp/ccVmA0m0.s 			page 194


 5612              		@ frame_needed = 0, uses_anonymous_args = 0
 5613              	.LVL475:
 5614 0000 30B5     		push	{r4, r5, lr}
 5615              	.LCFI41:
 5616              		.cfi_def_cfa_offset 12
 5617              		.cfi_offset 4, -12
 5618              		.cfi_offset 5, -8
 5619              		.cfi_offset 14, -4
 5620 0002 83B0     		sub	sp, sp, #12
 5621              	.LCFI42:
 5622              		.cfi_def_cfa_offset 24
 5623 0004 0446     		mov	r4, r0
3308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5624              		.loc 1 3308 0
 5625 0006 0023     		movs	r3, #0
 5626 0008 C0F88C30 		str	r3, [r0, #140]
3311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5627              		.loc 1 3311 0
 5628 000c FFF7FEFF 		bl	HAL_GetTick
 5629              	.LVL476:
 5630 0010 0546     		mov	r5, r0
 5631              	.LVL477:
3314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 5632              		.loc 1 3314 0
 5633 0012 2368     		ldr	r3, [r4]
 5634 0014 1B68     		ldr	r3, [r3]
 5635 0016 13F0080F 		tst	r3, #8
 5636 001a 0FD1     		bne	.L497
 5637              	.LVL478:
 5638              	.L491:
3325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 5639              		.loc 1 3325 0
 5640 001c 2368     		ldr	r3, [r4]
 5641 001e 1B68     		ldr	r3, [r3]
 5642 0020 13F0040F 		tst	r3, #4
 5643 0024 18D1     		bne	.L498
 5644              	.L493:
3336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_READY;
 5645              		.loc 1 3336 0
 5646 0026 2023     		movs	r3, #32
 5647 0028 C4F88430 		str	r3, [r4, #132]
3337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
 5648              		.loc 1 3337 0
 5649 002c C4F88830 		str	r3, [r4, #136]
3338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5650              		.loc 1 3338 0
 5651 0030 0020     		movs	r0, #0
 5652 0032 E066     		str	r0, [r4, #108]
3340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5653              		.loc 1 3340 0
 5654 0034 84F88000 		strb	r0, [r4, #128]
 5655              	.L492:
3343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5656              		.loc 1 3343 0
 5657 0038 03B0     		add	sp, sp, #12
 5658              	.LCFI43:
 5659              		.cfi_remember_state
ARM GAS  /tmp/ccVmA0m0.s 			page 195


 5660              		.cfi_def_cfa_offset 12
 5661              		@ sp needed
 5662 003a 30BD     		pop	{r4, r5, pc}
 5663              	.LVL479:
 5664              	.L497:
 5665              	.LCFI44:
 5666              		.cfi_restore_state
3317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 5667              		.loc 1 3317 0
 5668 003c 6FF07E43 		mvn	r3, #-33554432
 5669 0040 0093     		str	r3, [sp]
 5670 0042 0346     		mov	r3, r0
 5671 0044 0022     		movs	r2, #0
 5672 0046 4FF40011 		mov	r1, #2097152
 5673 004a 2046     		mov	r0, r4
 5674              	.LVL480:
 5675 004c FFF7FEFF 		bl	UART_WaitOnFlagUntilTimeout
 5676              	.LVL481:
 5677 0050 0028     		cmp	r0, #0
 5678 0052 E3D0     		beq	.L491
3320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 5679              		.loc 1 3320 0
 5680 0054 0320     		movs	r0, #3
 5681 0056 EFE7     		b	.L492
 5682              	.L498:
3328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 5683              		.loc 1 3328 0
 5684 0058 6FF07E43 		mvn	r3, #-33554432
 5685 005c 0093     		str	r3, [sp]
 5686 005e 2B46     		mov	r3, r5
 5687 0060 0022     		movs	r2, #0
 5688 0062 4FF48001 		mov	r1, #4194304
 5689 0066 2046     		mov	r0, r4
 5690 0068 FFF7FEFF 		bl	UART_WaitOnFlagUntilTimeout
 5691              	.LVL482:
 5692 006c 0028     		cmp	r0, #0
 5693 006e DAD0     		beq	.L493
3331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 5694              		.loc 1 3331 0
 5695 0070 0320     		movs	r0, #3
 5696 0072 E1E7     		b	.L492
 5697              		.cfi_endproc
 5698              	.LFE177:
 5700              		.section	.text.HAL_UART_Init,"ax",%progbits
 5701              		.align	1
 5702              		.global	HAL_UART_Init
 5703              		.syntax unified
 5704              		.thumb
 5705              		.thumb_func
 5706              		.fpu fpv4-sp-d16
 5708              	HAL_UART_Init:
 5709              	.LFB132:
 308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check the UART handle allocation */
 5710              		.loc 1 308 0
 5711              		.cfi_startproc
 5712              		@ args = 0, pretend = 0, frame = 0
 5713              		@ frame_needed = 0, uses_anonymous_args = 0
ARM GAS  /tmp/ccVmA0m0.s 			page 196


 5714              	.LVL483:
 310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 5715              		.loc 1 310 0
 5716 0000 78B3     		cbz	r0, .L503
 308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check the UART handle allocation */
 5717              		.loc 1 308 0
 5718 0002 10B5     		push	{r4, lr}
 5719              	.LCFI45:
 5720              		.cfi_def_cfa_offset 8
 5721              		.cfi_offset 4, -8
 5722              		.cfi_offset 14, -4
 5723 0004 0446     		mov	r4, r0
 326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 5724              		.loc 1 326 0
 5725 0006 D0F88430 		ldr	r3, [r0, #132]
 5726 000a 0BB3     		cbz	r3, .L508
 5727              	.LVL484:
 5728              	.L501:
 347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5729              		.loc 1 347 0
 5730 000c 2423     		movs	r3, #36
 5731 000e C4F88430 		str	r3, [r4, #132]
 349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5732              		.loc 1 349 0
 5733 0012 2268     		ldr	r2, [r4]
 5734 0014 1368     		ldr	r3, [r2]
 5735 0016 23F00103 		bic	r3, r3, #1
 5736 001a 1360     		str	r3, [r2]
 352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 5737              		.loc 1 352 0
 5738 001c 2046     		mov	r0, r4
 5739 001e FFF7FEFF 		bl	UART_SetConfig
 5740              	.LVL485:
 5741 0022 0128     		cmp	r0, #1
 5742 0024 13D0     		beq	.L500
 357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 5743              		.loc 1 357 0
 5744 0026 A36A     		ldr	r3, [r4, #40]
 5745 0028 BBB9     		cbnz	r3, .L509
 5746              	.L502:
 365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
 5747              		.loc 1 365 0
 5748 002a 2268     		ldr	r2, [r4]
 5749 002c 5368     		ldr	r3, [r2, #4]
 5750 002e 23F49043 		bic	r3, r3, #18432
 5751 0032 5360     		str	r3, [r2, #4]
 366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5752              		.loc 1 366 0
 5753 0034 2268     		ldr	r2, [r4]
 5754 0036 9368     		ldr	r3, [r2, #8]
 5755 0038 23F02A03 		bic	r3, r3, #42
 5756 003c 9360     		str	r3, [r2, #8]
 368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5757              		.loc 1 368 0
 5758 003e 2268     		ldr	r2, [r4]
 5759 0040 1368     		ldr	r3, [r2]
 5760 0042 43F00103 		orr	r3, r3, #1
ARM GAS  /tmp/ccVmA0m0.s 			page 197


 5761 0046 1360     		str	r3, [r2]
 371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
 5762              		.loc 1 371 0
 5763 0048 2046     		mov	r0, r4
 5764 004a FFF7FEFF 		bl	UART_CheckIdleState
 5765              	.LVL486:
 5766              	.L500:
 372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5767              		.loc 1 372 0
 5768 004e 10BD     		pop	{r4, pc}
 5769              	.LVL487:
 5770              	.L508:
 329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5771              		.loc 1 329 0
 5772 0050 80F88030 		strb	r3, [r0, #128]
 343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
 5773              		.loc 1 343 0
 5774 0054 FFF7FEFF 		bl	HAL_UART_MspInit
 5775              	.LVL488:
 5776 0058 D8E7     		b	.L501
 5777              	.L509:
 359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 5778              		.loc 1 359 0
 5779 005a 2046     		mov	r0, r4
 5780 005c FFF7FEFF 		bl	UART_AdvFeatureConfig
 5781              	.LVL489:
 5782 0060 E3E7     		b	.L502
 5783              	.LVL490:
 5784              	.L503:
 5785              	.LCFI46:
 5786              		.cfi_def_cfa_offset 0
 5787              		.cfi_restore 4
 5788              		.cfi_restore 14
 312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 5789              		.loc 1 312 0
 5790 0062 0120     		movs	r0, #1
 5791              	.LVL491:
 372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5792              		.loc 1 372 0
 5793 0064 7047     		bx	lr
 5794              		.cfi_endproc
 5795              	.LFE132:
 5797              		.section	.text.HAL_HalfDuplex_Init,"ax",%progbits
 5798              		.align	1
 5799              		.global	HAL_HalfDuplex_Init
 5800              		.syntax unified
 5801              		.thumb
 5802              		.thumb_func
 5803              		.fpu fpv4-sp-d16
 5805              	HAL_HalfDuplex_Init:
 5806              	.LFB133:
 381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check the UART handle allocation */
 5807              		.loc 1 381 0
 5808              		.cfi_startproc
 5809              		@ args = 0, pretend = 0, frame = 0
 5810              		@ frame_needed = 0, uses_anonymous_args = 0
 5811              	.LVL492:
ARM GAS  /tmp/ccVmA0m0.s 			page 198


 383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 5812              		.loc 1 383 0
 5813 0000 0028     		cmp	r0, #0
 5814 0002 34D0     		beq	.L514
 381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check the UART handle allocation */
 5815              		.loc 1 381 0
 5816 0004 10B5     		push	{r4, lr}
 5817              	.LCFI47:
 5818              		.cfi_def_cfa_offset 8
 5819              		.cfi_offset 4, -8
 5820              		.cfi_offset 14, -4
 5821 0006 0446     		mov	r4, r0
 391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 5822              		.loc 1 391 0
 5823 0008 D0F88430 		ldr	r3, [r0, #132]
 5824 000c 33B3     		cbz	r3, .L519
 5825              	.LVL493:
 5826              	.L512:
 412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5827              		.loc 1 412 0
 5828 000e 2423     		movs	r3, #36
 5829 0010 C4F88430 		str	r3, [r4, #132]
 414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5830              		.loc 1 414 0
 5831 0014 2268     		ldr	r2, [r4]
 5832 0016 1368     		ldr	r3, [r2]
 5833 0018 23F00103 		bic	r3, r3, #1
 5834 001c 1360     		str	r3, [r2]
 417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 5835              		.loc 1 417 0
 5836 001e 2046     		mov	r0, r4
 5837 0020 FFF7FEFF 		bl	UART_SetConfig
 5838              	.LVL494:
 5839 0024 0128     		cmp	r0, #1
 5840 0026 18D0     		beq	.L511
 422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 5841              		.loc 1 422 0
 5842 0028 A36A     		ldr	r3, [r4, #40]
 5843 002a E3B9     		cbnz	r3, .L520
 5844              	.L513:
 430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN));
 5845              		.loc 1 430 0
 5846 002c 2268     		ldr	r2, [r4]
 5847 002e 5368     		ldr	r3, [r2, #4]
 5848 0030 23F49043 		bic	r3, r3, #18432
 5849 0034 5360     		str	r3, [r2, #4]
 431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5850              		.loc 1 431 0
 5851 0036 2268     		ldr	r2, [r4]
 5852 0038 9368     		ldr	r3, [r2, #8]
 5853 003a 23F02203 		bic	r3, r3, #34
 5854 003e 9360     		str	r3, [r2, #8]
 434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5855              		.loc 1 434 0
 5856 0040 2268     		ldr	r2, [r4]
 5857 0042 9368     		ldr	r3, [r2, #8]
 5858 0044 43F00803 		orr	r3, r3, #8
ARM GAS  /tmp/ccVmA0m0.s 			page 199


 5859 0048 9360     		str	r3, [r2, #8]
 436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5860              		.loc 1 436 0
 5861 004a 2268     		ldr	r2, [r4]
 5862 004c 1368     		ldr	r3, [r2]
 5863 004e 43F00103 		orr	r3, r3, #1
 5864 0052 1360     		str	r3, [r2]
 439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
 5865              		.loc 1 439 0
 5866 0054 2046     		mov	r0, r4
 5867 0056 FFF7FEFF 		bl	UART_CheckIdleState
 5868              	.LVL495:
 5869              	.L511:
 440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5870              		.loc 1 440 0
 5871 005a 10BD     		pop	{r4, pc}
 5872              	.LVL496:
 5873              	.L519:
 394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5874              		.loc 1 394 0
 5875 005c 80F88030 		strb	r3, [r0, #128]
 408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
 5876              		.loc 1 408 0
 5877 0060 FFF7FEFF 		bl	HAL_UART_MspInit
 5878              	.LVL497:
 5879 0064 D3E7     		b	.L512
 5880              	.L520:
 424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 5881              		.loc 1 424 0
 5882 0066 2046     		mov	r0, r4
 5883 0068 FFF7FEFF 		bl	UART_AdvFeatureConfig
 5884              	.LVL498:
 5885 006c DEE7     		b	.L513
 5886              	.LVL499:
 5887              	.L514:
 5888              	.LCFI48:
 5889              		.cfi_def_cfa_offset 0
 5890              		.cfi_restore 4
 5891              		.cfi_restore 14
 385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 5892              		.loc 1 385 0
 5893 006e 0120     		movs	r0, #1
 5894              	.LVL500:
 440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5895              		.loc 1 440 0
 5896 0070 7047     		bx	lr
 5897              		.cfi_endproc
 5898              	.LFE133:
 5900              		.section	.text.HAL_LIN_Init,"ax",%progbits
 5901              		.align	1
 5902              		.global	HAL_LIN_Init
 5903              		.syntax unified
 5904              		.thumb
 5905              		.thumb_func
 5906              		.fpu fpv4-sp-d16
 5908              	HAL_LIN_Init:
 5909              	.LFB134:
ARM GAS  /tmp/ccVmA0m0.s 			page 200


 454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check the UART handle allocation */
 5910              		.loc 1 454 0
 5911              		.cfi_startproc
 5912              		@ args = 0, pretend = 0, frame = 0
 5913              		@ frame_needed = 0, uses_anonymous_args = 0
 5914              	.LVL501:
 456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 5915              		.loc 1 456 0
 5916 0000 0028     		cmp	r0, #0
 5917 0002 42D0     		beq	.L525
 454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check the UART handle allocation */
 5918              		.loc 1 454 0
 5919 0004 38B5     		push	{r3, r4, r5, lr}
 5920              	.LCFI49:
 5921              		.cfi_def_cfa_offset 16
 5922              		.cfi_offset 3, -16
 5923              		.cfi_offset 4, -12
 5924              		.cfi_offset 5, -8
 5925              		.cfi_offset 14, -4
 5926 0006 0446     		mov	r4, r0
 467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 5927              		.loc 1 467 0
 5928 0008 C369     		ldr	r3, [r0, #28]
 5929 000a B3F5004F 		cmp	r3, #32768
 5930 000e 3ED0     		beq	.L526
 472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 5931              		.loc 1 472 0
 5932 0010 8368     		ldr	r3, [r0, #8]
 5933 0012 002B     		cmp	r3, #0
 5934 0014 3DD1     		bne	.L527
 5935 0016 0D46     		mov	r5, r1
 477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 5936              		.loc 1 477 0
 5937 0018 D0F88430 		ldr	r3, [r0, #132]
 5938 001c 63B3     		cbz	r3, .L532
 5939              	.LVL502:
 5940              	.L523:
 498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5941              		.loc 1 498 0
 5942 001e 2423     		movs	r3, #36
 5943 0020 C4F88430 		str	r3, [r4, #132]
 500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5944              		.loc 1 500 0
 5945 0024 2268     		ldr	r2, [r4]
 5946 0026 1368     		ldr	r3, [r2]
 5947 0028 23F00103 		bic	r3, r3, #1
 5948 002c 1360     		str	r3, [r2]
 503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 5949              		.loc 1 503 0
 5950 002e 2046     		mov	r0, r4
 5951 0030 FFF7FEFF 		bl	UART_SetConfig
 5952              	.LVL503:
 5953 0034 0128     		cmp	r0, #1
 5954 0036 2DD0     		beq	.L522
 508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 5955              		.loc 1 508 0
 5956 0038 A36A     		ldr	r3, [r4, #40]
ARM GAS  /tmp/ccVmA0m0.s 			page 201


 5957 003a 13BB     		cbnz	r3, .L533
 5958              	.L524:
 516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN));
 5959              		.loc 1 516 0
 5960 003c 2268     		ldr	r2, [r4]
 5961 003e 5368     		ldr	r3, [r2, #4]
 5962 0040 23F40063 		bic	r3, r3, #2048
 5963 0044 5360     		str	r3, [r2, #4]
 517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5964              		.loc 1 517 0
 5965 0046 2268     		ldr	r2, [r4]
 5966 0048 9368     		ldr	r3, [r2, #8]
 5967 004a 23F02A03 		bic	r3, r3, #42
 5968 004e 9360     		str	r3, [r2, #8]
 520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5969              		.loc 1 520 0
 5970 0050 2268     		ldr	r2, [r4]
 5971 0052 5368     		ldr	r3, [r2, #4]
 5972 0054 43F48043 		orr	r3, r3, #16384
 5973 0058 5360     		str	r3, [r2, #4]
 523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5974              		.loc 1 523 0
 5975 005a 2368     		ldr	r3, [r4]
 5976 005c 5968     		ldr	r1, [r3, #4]
 5977 005e 21F02001 		bic	r1, r1, #32
 5978 0062 2943     		orrs	r1, r1, r5
 5979 0064 5960     		str	r1, [r3, #4]
 525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5980              		.loc 1 525 0
 5981 0066 2268     		ldr	r2, [r4]
 5982 0068 1368     		ldr	r3, [r2]
 5983 006a 43F00103 		orr	r3, r3, #1
 5984 006e 1360     		str	r3, [r2]
 528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
 5985              		.loc 1 528 0
 5986 0070 2046     		mov	r0, r4
 5987 0072 FFF7FEFF 		bl	UART_CheckIdleState
 5988              	.LVL504:
 5989 0076 0DE0     		b	.L522
 5990              	.LVL505:
 5991              	.L532:
 480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 5992              		.loc 1 480 0
 5993 0078 80F88030 		strb	r3, [r0, #128]
 494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
 5994              		.loc 1 494 0
 5995 007c FFF7FEFF 		bl	HAL_UART_MspInit
 5996              	.LVL506:
 5997 0080 CDE7     		b	.L523
 5998              	.L533:
 510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 5999              		.loc 1 510 0
 6000 0082 2046     		mov	r0, r4
 6001 0084 FFF7FEFF 		bl	UART_AdvFeatureConfig
 6002              	.LVL507:
 6003 0088 D8E7     		b	.L524
 6004              	.LVL508:
ARM GAS  /tmp/ccVmA0m0.s 			page 202


 6005              	.L525:
 6006              	.LCFI50:
 6007              		.cfi_def_cfa_offset 0
 6008              		.cfi_restore 3
 6009              		.cfi_restore 4
 6010              		.cfi_restore 5
 6011              		.cfi_restore 14
 458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 6012              		.loc 1 458 0
 6013 008a 0120     		movs	r0, #1
 6014              	.LVL509:
 529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6015              		.loc 1 529 0
 6016 008c 7047     		bx	lr
 6017              	.LVL510:
 6018              	.L526:
 6019              	.LCFI51:
 6020              		.cfi_def_cfa_offset 16
 6021              		.cfi_offset 3, -16
 6022              		.cfi_offset 4, -12
 6023              		.cfi_offset 5, -8
 6024              		.cfi_offset 14, -4
 469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 6025              		.loc 1 469 0
 6026 008e 0120     		movs	r0, #1
 6027              	.LVL511:
 6028 0090 00E0     		b	.L522
 6029              	.LVL512:
 6030              	.L527:
 474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 6031              		.loc 1 474 0
 6032 0092 0120     		movs	r0, #1
 6033              	.LVL513:
 6034              	.L522:
 529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6035              		.loc 1 529 0
 6036 0094 38BD     		pop	{r3, r4, r5, pc}
 6037              		.cfi_endproc
 6038              	.LFE134:
 6040              		.section	.text.HAL_MultiProcessor_Init,"ax",%progbits
 6041              		.align	1
 6042              		.global	HAL_MultiProcessor_Init
 6043              		.syntax unified
 6044              		.thumb
 6045              		.thumb_func
 6046              		.fpu fpv4-sp-d16
 6048              	HAL_MultiProcessor_Init:
 6049              	.LFB135:
 551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check the UART handle allocation */
 6050              		.loc 1 551 0
 6051              		.cfi_startproc
 6052              		@ args = 0, pretend = 0, frame = 0
 6053              		@ frame_needed = 0, uses_anonymous_args = 0
 6054              	.LVL514:
 553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 6055              		.loc 1 553 0
 6056 0000 0028     		cmp	r0, #0
ARM GAS  /tmp/ccVmA0m0.s 			page 203


 6057 0002 42D0     		beq	.L539
 551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check the UART handle allocation */
 6058              		.loc 1 551 0
 6059 0004 70B5     		push	{r4, r5, r6, lr}
 6060              	.LCFI52:
 6061              		.cfi_def_cfa_offset 16
 6062              		.cfi_offset 4, -16
 6063              		.cfi_offset 5, -12
 6064              		.cfi_offset 6, -8
 6065              		.cfi_offset 14, -4
 6066 0006 0446     		mov	r4, r0
 6067 0008 1546     		mov	r5, r2
 6068 000a 0E46     		mov	r6, r1
 561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 6069              		.loc 1 561 0
 6070 000c D0F88430 		ldr	r3, [r0, #132]
 6071 0010 53B3     		cbz	r3, .L544
 6072              	.LVL515:
 6073              	.L536:
 582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6074              		.loc 1 582 0
 6075 0012 2423     		movs	r3, #36
 6076 0014 C4F88430 		str	r3, [r4, #132]
 584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6077              		.loc 1 584 0
 6078 0018 2268     		ldr	r2, [r4]
 6079 001a 1368     		ldr	r3, [r2]
 6080 001c 23F00103 		bic	r3, r3, #1
 6081 0020 1360     		str	r3, [r2]
 587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 6082              		.loc 1 587 0
 6083 0022 2046     		mov	r0, r4
 6084 0024 FFF7FEFF 		bl	UART_SetConfig
 6085              	.LVL516:
 6086 0028 0128     		cmp	r0, #1
 6087 002a 1CD0     		beq	.L535
 592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 6088              		.loc 1 592 0
 6089 002c A36A     		ldr	r3, [r4, #40]
 6090 002e 03BB     		cbnz	r3, .L545
 6091              	.L537:
 600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
 6092              		.loc 1 600 0
 6093 0030 2268     		ldr	r2, [r4]
 6094 0032 5368     		ldr	r3, [r2, #4]
 6095 0034 23F49043 		bic	r3, r3, #18432
 6096 0038 5360     		str	r3, [r2, #4]
 601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6097              		.loc 1 601 0
 6098 003a 2268     		ldr	r2, [r4]
 6099 003c 9368     		ldr	r3, [r2, #8]
 6100 003e 23F02A03 		bic	r3, r3, #42
 6101 0042 9360     		str	r3, [r2, #8]
 603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 6102              		.loc 1 603 0
 6103 0044 B5F5006F 		cmp	r5, #2048
 6104 0048 17D0     		beq	.L546
ARM GAS  /tmp/ccVmA0m0.s 			page 204


 6105              	.L538:
 610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6106              		.loc 1 610 0
 6107 004a 2368     		ldr	r3, [r4]
 6108 004c 1A68     		ldr	r2, [r3]
 6109 004e 22F40062 		bic	r2, r2, #2048
 6110 0052 1543     		orrs	r5, r5, r2
 6111              	.LVL517:
 6112 0054 1D60     		str	r5, [r3]
 612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6113              		.loc 1 612 0
 6114 0056 2268     		ldr	r2, [r4]
 6115 0058 1368     		ldr	r3, [r2]
 6116 005a 43F00103 		orr	r3, r3, #1
 6117 005e 1360     		str	r3, [r2]
 615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
 6118              		.loc 1 615 0
 6119 0060 2046     		mov	r0, r4
 6120 0062 FFF7FEFF 		bl	UART_CheckIdleState
 6121              	.LVL518:
 6122              	.L535:
 616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6123              		.loc 1 616 0
 6124 0066 70BD     		pop	{r4, r5, r6, pc}
 6125              	.LVL519:
 6126              	.L544:
 564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6127              		.loc 1 564 0
 6128 0068 80F88030 		strb	r3, [r0, #128]
 578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
 6129              		.loc 1 578 0
 6130 006c FFF7FEFF 		bl	HAL_UART_MspInit
 6131              	.LVL520:
 6132 0070 CFE7     		b	.L536
 6133              	.L545:
 594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 6134              		.loc 1 594 0
 6135 0072 2046     		mov	r0, r4
 6136 0074 FFF7FEFF 		bl	UART_AdvFeatureConfig
 6137              	.LVL521:
 6138 0078 DAE7     		b	.L537
 6139              	.L546:
 606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 6140              		.loc 1 606 0
 6141 007a 2368     		ldr	r3, [r4]
 6142 007c 5968     		ldr	r1, [r3, #4]
 6143 007e 21F07F41 		bic	r1, r1, #-16777216
 6144 0082 41EA0666 		orr	r6, r1, r6, lsl #24
 6145 0086 5E60     		str	r6, [r3, #4]
 6146 0088 DFE7     		b	.L538
 6147              	.LVL522:
 6148              	.L539:
 6149              	.LCFI53:
 6150              		.cfi_def_cfa_offset 0
 6151              		.cfi_restore 4
 6152              		.cfi_restore 5
 6153              		.cfi_restore 6
ARM GAS  /tmp/ccVmA0m0.s 			page 205


 6154              		.cfi_restore 14
 555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 6155              		.loc 1 555 0
 6156 008a 0120     		movs	r0, #1
 6157              	.LVL523:
 616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6158              		.loc 1 616 0
 6159 008c 7047     		bx	lr
 6160              		.cfi_endproc
 6161              	.LFE135:
 6163              		.section	.text.HAL_MultiProcessor_EnableMuteMode,"ax",%progbits
 6164              		.align	1
 6165              		.global	HAL_MultiProcessor_EnableMuteMode
 6166              		.syntax unified
 6167              		.thumb
 6168              		.thumb_func
 6169              		.fpu fpv4-sp-d16
 6171              	HAL_MultiProcessor_EnableMuteMode:
 6172              	.LFB167:
2809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_LOCK(huart);
 6173              		.loc 1 2809 0
 6174              		.cfi_startproc
 6175              		@ args = 0, pretend = 0, frame = 0
 6176              		@ frame_needed = 0, uses_anonymous_args = 0
 6177              	.LVL524:
 6178 0000 08B5     		push	{r3, lr}
 6179              	.LCFI54:
 6180              		.cfi_def_cfa_offset 8
 6181              		.cfi_offset 3, -8
 6182              		.cfi_offset 14, -4
2810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6183              		.loc 1 2810 0
 6184 0002 90F88030 		ldrb	r3, [r0, #128]	@ zero_extendqisi2
 6185 0006 012B     		cmp	r3, #1
 6186 0008 10D0     		beq	.L549
2810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6187              		.loc 1 2810 0 is_stmt 0 discriminator 2
 6188 000a 0123     		movs	r3, #1
 6189 000c 80F88030 		strb	r3, [r0, #128]
2812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6190              		.loc 1 2812 0 is_stmt 1 discriminator 2
 6191 0010 2423     		movs	r3, #36
 6192 0012 C0F88430 		str	r3, [r0, #132]
2815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6193              		.loc 1 2815 0 discriminator 2
 6194 0016 0268     		ldr	r2, [r0]
 6195 0018 1368     		ldr	r3, [r2]
 6196 001a 43F40053 		orr	r3, r3, #8192
 6197 001e 1360     		str	r3, [r2]
2817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6198              		.loc 1 2817 0 discriminator 2
 6199 0020 2023     		movs	r3, #32
 6200 0022 C0F88430 		str	r3, [r0, #132]
2819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
 6201              		.loc 1 2819 0 discriminator 2
 6202 0026 FFF7FEFF 		bl	UART_CheckIdleState
 6203              	.LVL525:
ARM GAS  /tmp/ccVmA0m0.s 			page 206


 6204              	.L548:
2820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6205              		.loc 1 2820 0
 6206 002a 08BD     		pop	{r3, pc}
 6207              	.LVL526:
 6208              	.L549:
2810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6209              		.loc 1 2810 0
 6210 002c 0220     		movs	r0, #2
 6211              	.LVL527:
 6212 002e FCE7     		b	.L548
 6213              		.cfi_endproc
 6214              	.LFE167:
 6216              		.section	.text.HAL_MultiProcessor_DisableMuteMode,"ax",%progbits
 6217              		.align	1
 6218              		.global	HAL_MultiProcessor_DisableMuteMode
 6219              		.syntax unified
 6220              		.thumb
 6221              		.thumb_func
 6222              		.fpu fpv4-sp-d16
 6224              	HAL_MultiProcessor_DisableMuteMode:
 6225              	.LFB168:
2829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   __HAL_LOCK(huart);
 6226              		.loc 1 2829 0
 6227              		.cfi_startproc
 6228              		@ args = 0, pretend = 0, frame = 0
 6229              		@ frame_needed = 0, uses_anonymous_args = 0
 6230              	.LVL528:
 6231 0000 08B5     		push	{r3, lr}
 6232              	.LCFI55:
 6233              		.cfi_def_cfa_offset 8
 6234              		.cfi_offset 3, -8
 6235              		.cfi_offset 14, -4
2830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6236              		.loc 1 2830 0
 6237 0002 90F88030 		ldrb	r3, [r0, #128]	@ zero_extendqisi2
 6238 0006 012B     		cmp	r3, #1
 6239 0008 10D0     		beq	.L553
2830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6240              		.loc 1 2830 0 is_stmt 0 discriminator 2
 6241 000a 0123     		movs	r3, #1
 6242 000c 80F88030 		strb	r3, [r0, #128]
2832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6243              		.loc 1 2832 0 is_stmt 1 discriminator 2
 6244 0010 2423     		movs	r3, #36
 6245 0012 C0F88430 		str	r3, [r0, #132]
2835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6246              		.loc 1 2835 0 discriminator 2
 6247 0016 0268     		ldr	r2, [r0]
 6248 0018 1368     		ldr	r3, [r2]
 6249 001a 23F40053 		bic	r3, r3, #8192
 6250 001e 1360     		str	r3, [r2]
2837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6251              		.loc 1 2837 0 discriminator 2
 6252 0020 2023     		movs	r3, #32
 6253 0022 C0F88430 		str	r3, [r0, #132]
2839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
ARM GAS  /tmp/ccVmA0m0.s 			page 207


 6254              		.loc 1 2839 0 discriminator 2
 6255 0026 FFF7FEFF 		bl	UART_CheckIdleState
 6256              	.LVL529:
 6257              	.L552:
2840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6258              		.loc 1 2840 0
 6259 002a 08BD     		pop	{r3, pc}
 6260              	.LVL530:
 6261              	.L553:
2830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6262              		.loc 1 2830 0
 6263 002c 0220     		movs	r0, #2
 6264              	.LVL531:
 6265 002e FCE7     		b	.L552
 6266              		.cfi_endproc
 6267              	.LFE168:
 6269              		.section	.text.UART_Start_Receive_IT,"ax",%progbits
 6270              		.align	1
 6271              		.global	UART_Start_Receive_IT
 6272              		.syntax unified
 6273              		.thumb
 6274              		.thumb_func
 6275              		.fpu fpv4-sp-d16
 6277              	UART_Start_Receive_IT:
 6278              	.LFB179:
3417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->pRxBuffPtr  = pData;
 6279              		.loc 1 3417 0
 6280              		.cfi_startproc
 6281              		@ args = 0, pretend = 0, frame = 0
 6282              		@ frame_needed = 0, uses_anonymous_args = 0
 6283              		@ link register save eliminated.
 6284              	.LVL532:
3418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxXferSize  = Size;
 6285              		.loc 1 3418 0
 6286 0000 8165     		str	r1, [r0, #88]
3419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxXferCount = Size;
 6287              		.loc 1 3419 0
 6288 0002 A0F85C20 		strh	r2, [r0, #92]	@ movhi
3420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxISR       = NULL;
 6289              		.loc 1 3420 0
 6290 0006 A0F85E20 		strh	r2, [r0, #94]	@ movhi
3421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6291              		.loc 1 3421 0
 6292 000a 0023     		movs	r3, #0
 6293 000c 0367     		str	r3, [r0, #112]
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6294              		.loc 1 3424 0
 6295 000e 8368     		ldr	r3, [r0, #8]
 6296 0010 B3F5805F 		cmp	r3, #4096
 6297 0014 06D0     		beq	.L569
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6298              		.loc 1 3424 0 is_stmt 0 discriminator 2
 6299 0016 A3B9     		cbnz	r3, .L559
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6300              		.loc 1 3424 0 discriminator 5
 6301 0018 0369     		ldr	r3, [r0, #16]
 6302 001a 73B9     		cbnz	r3, .L560
ARM GAS  /tmp/ccVmA0m0.s 			page 208


3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6303              		.loc 1 3424 0 discriminator 7
 6304 001c FF23     		movs	r3, #255
 6305 001e A0F86030 		strh	r3, [r0, #96]	@ movhi
 6306 0022 14E0     		b	.L558
 6307              	.L569:
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6308              		.loc 1 3424 0 discriminator 1
 6309 0024 0369     		ldr	r3, [r0, #16]
 6310 0026 23B9     		cbnz	r3, .L557
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6311              		.loc 1 3424 0 discriminator 3
 6312 0028 40F2FF13 		movw	r3, #511
 6313 002c A0F86030 		strh	r3, [r0, #96]	@ movhi
 6314 0030 0DE0     		b	.L558
 6315              	.L557:
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6316              		.loc 1 3424 0 discriminator 4
 6317 0032 FF23     		movs	r3, #255
 6318 0034 A0F86030 		strh	r3, [r0, #96]	@ movhi
 6319 0038 09E0     		b	.L558
 6320              	.L560:
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6321              		.loc 1 3424 0 discriminator 8
 6322 003a 7F23     		movs	r3, #127
 6323 003c A0F86030 		strh	r3, [r0, #96]	@ movhi
 6324 0040 05E0     		b	.L558
 6325              	.L559:
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6326              		.loc 1 3424 0 discriminator 6
 6327 0042 B3F1805F 		cmp	r3, #268435456
 6328 0046 21D0     		beq	.L570
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6329              		.loc 1 3424 0 discriminator 10
 6330 0048 0023     		movs	r3, #0
 6331 004a A0F86030 		strh	r3, [r0, #96]	@ movhi
 6332              	.L558:
3426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_BUSY_RX;
 6333              		.loc 1 3426 0 is_stmt 1
 6334 004e 0023     		movs	r3, #0
 6335 0050 C0F88C30 		str	r3, [r0, #140]
3427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6336              		.loc 1 3427 0
 6337 0054 2223     		movs	r3, #34
 6338 0056 C0F88830 		str	r3, [r0, #136]
3430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6339              		.loc 1 3430 0
 6340 005a 0168     		ldr	r1, [r0]
 6341              	.LVL533:
 6342 005c 8B68     		ldr	r3, [r1, #8]
 6343 005e 43F00103 		orr	r3, r3, #1
 6344 0062 8B60     		str	r3, [r1, #8]
 6345              	.LVL534:
3433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 6346              		.loc 1 3433 0
 6347 0064 436E     		ldr	r3, [r0, #100]
 6348 0066 B3F1005F 		cmp	r3, #536870912
ARM GAS  /tmp/ccVmA0m0.s 			page 209


 6349 006a 19D0     		beq	.L571
 6350              	.L563:
3454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 6351              		.loc 1 3454 0
 6352 006c 8368     		ldr	r3, [r0, #8]
 6353 006e B3F5805F 		cmp	r3, #4096
 6354 0072 33D0     		beq	.L572
 6355              	.L567:
3460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 6356              		.loc 1 3460 0
 6357 0074 1C4B     		ldr	r3, .L574
 6358 0076 0367     		str	r3, [r0, #112]
 6359              	.L568:
3463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6360              		.loc 1 3463 0
 6361 0078 0023     		movs	r3, #0
 6362 007a 80F88030 		strb	r3, [r0, #128]
3466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 6363              		.loc 1 3466 0
 6364 007e 0268     		ldr	r2, [r0]
 6365              	.LVL535:
 6366 0080 1368     		ldr	r3, [r2]
 6367 0082 43F49073 		orr	r3, r3, #288
 6368 0086 1360     		str	r3, [r2]
 6369              	.L566:
3469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6370              		.loc 1 3469 0
 6371 0088 0020     		movs	r0, #0
 6372              	.LVL536:
 6373 008a 7047     		bx	lr
 6374              	.LVL537:
 6375              	.L570:
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6376              		.loc 1 3424 0 discriminator 9
 6377 008c 0369     		ldr	r3, [r0, #16]
 6378 008e 1BB9     		cbnz	r3, .L562
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6379              		.loc 1 3424 0 is_stmt 0 discriminator 11
 6380 0090 7F23     		movs	r3, #127
 6381 0092 A0F86030 		strh	r3, [r0, #96]	@ movhi
 6382 0096 DAE7     		b	.L558
 6383              	.L562:
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6384              		.loc 1 3424 0 discriminator 12
 6385 0098 3F23     		movs	r3, #63
 6386 009a A0F86030 		strh	r3, [r0, #96]	@ movhi
 6387 009e D6E7     		b	.L558
 6388              	.LVL538:
 6389              	.L571:
3433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 6390              		.loc 1 3433 0 is_stmt 1 discriminator 1
 6391 00a0 B0F86830 		ldrh	r3, [r0, #104]
 6392 00a4 9342     		cmp	r3, r2
 6393 00a6 E1D8     		bhi	.L563
3436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 6394              		.loc 1 3436 0
 6395 00a8 8368     		ldr	r3, [r0, #8]
ARM GAS  /tmp/ccVmA0m0.s 			page 210


 6396 00aa B3F5805F 		cmp	r3, #4096
 6397 00ae 0FD0     		beq	.L573
 6398              	.L564:
3442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 6399              		.loc 1 3442 0
 6400 00b0 0E4B     		ldr	r3, .L574+4
 6401 00b2 0367     		str	r3, [r0, #112]
 6402              	.L565:
3445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6403              		.loc 1 3445 0
 6404 00b4 0023     		movs	r3, #0
 6405 00b6 80F88030 		strb	r3, [r0, #128]
3448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     SET_BIT(huart->Instance->CR3, USART_CR3_RXFTIE);
 6406              		.loc 1 3448 0
 6407 00ba 0268     		ldr	r2, [r0]
 6408              	.LVL539:
 6409 00bc 1368     		ldr	r3, [r2]
 6410 00be 43F48073 		orr	r3, r3, #256
 6411 00c2 1360     		str	r3, [r2]
3449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 6412              		.loc 1 3449 0
 6413 00c4 0268     		ldr	r2, [r0]
 6414 00c6 9368     		ldr	r3, [r2, #8]
 6415 00c8 43F08053 		orr	r3, r3, #268435456
 6416 00cc 9360     		str	r3, [r2, #8]
 6417 00ce DBE7     		b	.L566
 6418              	.LVL540:
 6419              	.L573:
3436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 6420              		.loc 1 3436 0 discriminator 1
 6421 00d0 0369     		ldr	r3, [r0, #16]
 6422 00d2 002B     		cmp	r3, #0
 6423 00d4 ECD1     		bne	.L564
3438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 6424              		.loc 1 3438 0
 6425 00d6 064B     		ldr	r3, .L574+8
 6426 00d8 0367     		str	r3, [r0, #112]
 6427 00da EBE7     		b	.L565
 6428              	.L572:
3454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 6429              		.loc 1 3454 0 discriminator 1
 6430 00dc 0369     		ldr	r3, [r0, #16]
 6431 00de 002B     		cmp	r3, #0
 6432 00e0 C8D1     		bne	.L567
3456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 6433              		.loc 1 3456 0
 6434 00e2 044B     		ldr	r3, .L574+12
 6435 00e4 0367     		str	r3, [r0, #112]
 6436 00e6 C7E7     		b	.L568
 6437              	.L575:
 6438              		.align	2
 6439              	.L574:
 6440 00e8 00000000 		.word	UART_RxISR_8BIT
 6441 00ec 00000000 		.word	UART_RxISR_8BIT_FIFOEN
 6442 00f0 00000000 		.word	UART_RxISR_16BIT_FIFOEN
 6443 00f4 00000000 		.word	UART_RxISR_16BIT
 6444              		.cfi_endproc
ARM GAS  /tmp/ccVmA0m0.s 			page 211


 6445              	.LFE179:
 6447              		.section	.text.HAL_UART_Receive_IT,"ax",%progbits
 6448              		.align	1
 6449              		.global	HAL_UART_Receive_IT
 6450              		.syntax unified
 6451              		.thumb
 6452              		.thumb_func
 6453              		.fpu fpv4-sp-d16
 6455              	HAL_UART_Receive_IT:
 6456              	.LFB142:
1371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check that a Rx process is not already ongoing */
 6457              		.loc 1 1371 0
 6458              		.cfi_startproc
 6459              		@ args = 0, pretend = 0, frame = 0
 6460              		@ frame_needed = 0, uses_anonymous_args = 0
 6461              	.LVL541:
1373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 6462              		.loc 1 1373 0
 6463 0000 D0F88830 		ldr	r3, [r0, #136]
 6464 0004 202B     		cmp	r3, #32
 6465 0006 1AD1     		bne	.L579
1375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 6466              		.loc 1 1375 0
 6467 0008 D9B1     		cbz	r1, .L580
1375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 6468              		.loc 1 1375 0 is_stmt 0 discriminator 1
 6469 000a E2B1     		cbz	r2, .L581
1380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6470              		.loc 1 1380 0 is_stmt 1
 6471 000c 90F88030 		ldrb	r3, [r0, #128]	@ zero_extendqisi2
 6472 0010 012B     		cmp	r3, #1
 6473 0012 1AD0     		beq	.L582
1371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check that a Rx process is not already ongoing */
 6474              		.loc 1 1371 0 discriminator 2
 6475 0014 10B5     		push	{r4, lr}
 6476              	.LCFI56:
 6477              		.cfi_def_cfa_offset 8
 6478              		.cfi_offset 4, -8
 6479              		.cfi_offset 14, -4
1380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6480              		.loc 1 1380 0 discriminator 2
 6481 0016 0123     		movs	r3, #1
 6482 0018 80F88030 		strb	r3, [r0, #128]
1383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6483              		.loc 1 1383 0 discriminator 2
 6484 001c 0023     		movs	r3, #0
 6485 001e C366     		str	r3, [r0, #108]
1385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 6486              		.loc 1 1385 0 discriminator 2
 6487 0020 0368     		ldr	r3, [r0]
 6488 0022 0B4C     		ldr	r4, .L587
 6489 0024 A342     		cmp	r3, r4
 6490 0026 07D0     		beq	.L578
1388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 6491              		.loc 1 1388 0
 6492 0028 5C68     		ldr	r4, [r3, #4]
 6493 002a 14F4000F 		tst	r4, #8388608
ARM GAS  /tmp/ccVmA0m0.s 			page 212


 6494 002e 03D0     		beq	.L578
1391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
 6495              		.loc 1 1391 0
 6496 0030 1C68     		ldr	r4, [r3]
 6497 0032 44F08064 		orr	r4, r4, #67108864
 6498 0036 1C60     		str	r4, [r3]
 6499              	.L578:
1395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 6500              		.loc 1 1395 0
 6501 0038 FFF7FEFF 		bl	UART_Start_Receive_IT
 6502              	.LVL542:
1401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6503              		.loc 1 1401 0
 6504 003c 10BD     		pop	{r4, pc}
 6505              	.LVL543:
 6506              	.L579:
 6507              	.LCFI57:
 6508              		.cfi_def_cfa_offset 0
 6509              		.cfi_restore 4
 6510              		.cfi_restore 14
1399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 6511              		.loc 1 1399 0
 6512 003e 0220     		movs	r0, #2
 6513              	.LVL544:
 6514 0040 7047     		bx	lr
 6515              	.LVL545:
 6516              	.L580:
1377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 6517              		.loc 1 1377 0
 6518 0042 0120     		movs	r0, #1
 6519              	.LVL546:
 6520 0044 7047     		bx	lr
 6521              	.LVL547:
 6522              	.L581:
 6523 0046 0120     		movs	r0, #1
 6524              	.LVL548:
 6525 0048 7047     		bx	lr
 6526              	.LVL549:
 6527              	.L582:
1380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6528              		.loc 1 1380 0
 6529 004a 0220     		movs	r0, #2
 6530              	.LVL550:
1401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6531              		.loc 1 1401 0
 6532 004c 7047     		bx	lr
 6533              	.L588:
 6534 004e 00BF     		.align	2
 6535              	.L587:
 6536 0050 00800040 		.word	1073774592
 6537              		.cfi_endproc
 6538              	.LFE142:
 6540              		.section	.text.UART_Start_Receive_DMA,"ax",%progbits
 6541              		.align	1
 6542              		.global	UART_Start_Receive_DMA
 6543              		.syntax unified
 6544              		.thumb
ARM GAS  /tmp/ccVmA0m0.s 			page 213


 6545              		.thumb_func
 6546              		.fpu fpv4-sp-d16
 6548              	UART_Start_Receive_DMA:
 6549              	.LFB180:
3483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->pRxBuffPtr = pData;
 6550              		.loc 1 3483 0
 6551              		.cfi_startproc
 6552              		@ args = 0, pretend = 0, frame = 0
 6553              		@ frame_needed = 0, uses_anonymous_args = 0
 6554              	.LVL551:
 6555 0000 10B5     		push	{r4, lr}
 6556              	.LCFI58:
 6557              		.cfi_def_cfa_offset 8
 6558              		.cfi_offset 4, -8
 6559              		.cfi_offset 14, -4
 6560 0002 0446     		mov	r4, r0
3484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxXferSize = Size;
 6561              		.loc 1 3484 0
 6562 0004 8165     		str	r1, [r0, #88]
3485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6563              		.loc 1 3485 0
 6564 0006 A0F85C20 		strh	r2, [r0, #92]	@ movhi
3487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   huart->RxState = HAL_UART_STATE_BUSY_RX;
 6565              		.loc 1 3487 0
 6566 000a 0023     		movs	r3, #0
 6567 000c C0F88C30 		str	r3, [r0, #140]
3488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6568              		.loc 1 3488 0
 6569 0010 2223     		movs	r3, #34
 6570 0012 C0F88830 		str	r3, [r0, #136]
3490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 6571              		.loc 1 3490 0
 6572 0016 C36F     		ldr	r3, [r0, #124]
 6573 0018 93B1     		cbz	r3, .L590
3493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6574              		.loc 1 3493 0
 6575 001a 1849     		ldr	r1, .L594
 6576              	.LVL552:
 6577 001c D962     		str	r1, [r3, #44]
 6578              	.LVL553:
3496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6579              		.loc 1 3496 0
 6580 001e C36F     		ldr	r3, [r0, #124]
 6581 0020 1749     		ldr	r1, .L594+4
 6582 0022 1963     		str	r1, [r3, #48]
3499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6583              		.loc 1 3499 0
 6584 0024 C36F     		ldr	r3, [r0, #124]
 6585 0026 1749     		ldr	r1, .L594+8
 6586 0028 5963     		str	r1, [r3, #52]
3502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6587              		.loc 1 3502 0
 6588 002a C36F     		ldr	r3, [r0, #124]
 6589 002c 0021     		movs	r1, #0
 6590 002e 9963     		str	r1, [r3, #56]
3505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 6591              		.loc 1 3505 0
ARM GAS  /tmp/ccVmA0m0.s 			page 214


 6592 0030 0168     		ldr	r1, [r0]
 6593 0032 1346     		mov	r3, r2
 6594 0034 826D     		ldr	r2, [r0, #88]
 6595              	.LVL554:
 6596 0036 2431     		adds	r1, r1, #36
 6597 0038 C06F     		ldr	r0, [r0, #124]
 6598              	.LVL555:
 6599 003a FFF7FEFF 		bl	HAL_DMA_Start_IT
 6600              	.LVL556:
 6601 003e 90B9     		cbnz	r0, .L593
 6602              	.L590:
3518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6603              		.loc 1 3518 0
 6604 0040 0020     		movs	r0, #0
 6605 0042 84F88000 		strb	r0, [r4, #128]
3521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6606              		.loc 1 3521 0
 6607 0046 2268     		ldr	r2, [r4]
 6608 0048 1368     		ldr	r3, [r2]
 6609 004a 43F48073 		orr	r3, r3, #256
 6610 004e 1360     		str	r3, [r2]
3524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6611              		.loc 1 3524 0
 6612 0050 2268     		ldr	r2, [r4]
 6613 0052 9368     		ldr	r3, [r2, #8]
 6614 0054 43F00103 		orr	r3, r3, #1
 6615 0058 9360     		str	r3, [r2, #8]
3528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6616              		.loc 1 3528 0
 6617 005a 2268     		ldr	r2, [r4]
 6618 005c 9368     		ldr	r3, [r2, #8]
 6619 005e 43F04003 		orr	r3, r3, #64
 6620 0062 9360     		str	r3, [r2, #8]
 6621              	.L591:
3531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6622              		.loc 1 3531 0
 6623 0064 10BD     		pop	{r4, pc}
 6624              	.LVL557:
 6625              	.L593:
3508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6626              		.loc 1 3508 0
 6627 0066 1023     		movs	r3, #16
 6628 0068 C4F88C30 		str	r3, [r4, #140]
3510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6629              		.loc 1 3510 0
 6630 006c 0023     		movs	r3, #0
 6631 006e 84F88030 		strb	r3, [r4, #128]
3513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6632              		.loc 1 3513 0
 6633 0072 2023     		movs	r3, #32
 6634 0074 C4F88430 		str	r3, [r4, #132]
3515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 6635              		.loc 1 3515 0
 6636 0078 0120     		movs	r0, #1
 6637 007a F3E7     		b	.L591
 6638              	.L595:
 6639              		.align	2
ARM GAS  /tmp/ccVmA0m0.s 			page 215


 6640              	.L594:
 6641 007c 00000000 		.word	UART_DMAReceiveCplt
 6642 0080 00000000 		.word	UART_DMARxHalfCplt
 6643 0084 00000000 		.word	UART_DMAError
 6644              		.cfi_endproc
 6645              	.LFE180:
 6647              		.section	.text.HAL_UART_Receive_DMA,"ax",%progbits
 6648              		.align	1
 6649              		.global	HAL_UART_Receive_DMA
 6650              		.syntax unified
 6651              		.thumb
 6652              		.thumb_func
 6653              		.fpu fpv4-sp-d16
 6655              	HAL_UART_Receive_DMA:
 6656              	.LFB144:
1490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check that a Rx process is not already ongoing */
 6657              		.loc 1 1490 0
 6658              		.cfi_startproc
 6659              		@ args = 0, pretend = 0, frame = 0
 6660              		@ frame_needed = 0, uses_anonymous_args = 0
 6661              	.LVL558:
1492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   {
 6662              		.loc 1 1492 0
 6663 0000 D0F88830 		ldr	r3, [r0, #136]
 6664 0004 202B     		cmp	r3, #32
 6665 0006 1AD1     		bne	.L599
1494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 6666              		.loc 1 1494 0
 6667 0008 D9B1     		cbz	r1, .L600
1494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 6668              		.loc 1 1494 0 is_stmt 0 discriminator 1
 6669 000a E2B1     		cbz	r2, .L601
1499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6670              		.loc 1 1499 0 is_stmt 1
 6671 000c 90F88030 		ldrb	r3, [r0, #128]	@ zero_extendqisi2
 6672 0010 012B     		cmp	r3, #1
 6673 0012 1AD0     		beq	.L602
1490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   /* Check that a Rx process is not already ongoing */
 6674              		.loc 1 1490 0 discriminator 2
 6675 0014 10B5     		push	{r4, lr}
 6676              	.LCFI59:
 6677              		.cfi_def_cfa_offset 8
 6678              		.cfi_offset 4, -8
 6679              		.cfi_offset 14, -4
1499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6680              		.loc 1 1499 0 discriminator 2
 6681 0016 0123     		movs	r3, #1
 6682 0018 80F88030 		strb	r3, [r0, #128]
1502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6683              		.loc 1 1502 0 discriminator 2
 6684 001c 0023     		movs	r3, #0
 6685 001e C366     		str	r3, [r0, #108]
1504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     {
 6686              		.loc 1 1504 0 discriminator 2
 6687 0020 0368     		ldr	r3, [r0]
 6688 0022 0B4C     		ldr	r4, .L607
 6689 0024 A342     		cmp	r3, r4
ARM GAS  /tmp/ccVmA0m0.s 			page 216


 6690 0026 07D0     		beq	.L598
1507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       {
 6691              		.loc 1 1507 0
 6692 0028 5C68     		ldr	r4, [r3, #4]
 6693 002a 14F4000F 		tst	r4, #8388608
 6694 002e 03D0     		beq	.L598
1510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****       }
 6695              		.loc 1 1510 0
 6696 0030 1C68     		ldr	r4, [r3]
 6697 0032 44F08064 		orr	r4, r4, #67108864
 6698 0036 1C60     		str	r4, [r3]
 6699              	.L598:
1514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 6700              		.loc 1 1514 0
 6701 0038 FFF7FEFF 		bl	UART_Start_Receive_DMA
 6702              	.LVL559:
1520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6703              		.loc 1 1520 0
 6704 003c 10BD     		pop	{r4, pc}
 6705              	.LVL560:
 6706              	.L599:
 6707              	.LCFI60:
 6708              		.cfi_def_cfa_offset 0
 6709              		.cfi_restore 4
 6710              		.cfi_restore 14
1518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****   }
 6711              		.loc 1 1518 0
 6712 003e 0220     		movs	r0, #2
 6713              	.LVL561:
 6714 0040 7047     		bx	lr
 6715              	.LVL562:
 6716              	.L600:
1496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****     }
 6717              		.loc 1 1496 0
 6718 0042 0120     		movs	r0, #1
 6719              	.LVL563:
 6720 0044 7047     		bx	lr
 6721              	.LVL564:
 6722              	.L601:
 6723 0046 0120     		movs	r0, #1
 6724              	.LVL565:
 6725 0048 7047     		bx	lr
 6726              	.LVL566:
 6727              	.L602:
1499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6728              		.loc 1 1499 0
 6729 004a 0220     		movs	r0, #2
 6730              	.LVL567:
1520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 
 6731              		.loc 1 1520 0
 6732 004c 7047     		bx	lr
 6733              	.L608:
 6734 004e 00BF     		.align	2
 6735              	.L607:
 6736 0050 00800040 		.word	1073774592
 6737              		.cfi_endproc
 6738              	.LFE144:
ARM GAS  /tmp/ccVmA0m0.s 			page 217


 6740              		.global	UARTPrescTable
 6741              		.section	.rodata.UARTPrescTable,"a",%progbits
 6742              		.align	2
 6743              		.set	.LANCHOR0,. + 0
 6746              	UARTPrescTable:
 6747 0000 0100     		.short	1
 6748 0002 0200     		.short	2
 6749 0004 0400     		.short	4
 6750 0006 0600     		.short	6
 6751 0008 0800     		.short	8
 6752 000a 0A00     		.short	10
 6753 000c 0C00     		.short	12
 6754 000e 1000     		.short	16
 6755 0010 2000     		.short	32
 6756 0012 4000     		.short	64
 6757 0014 8000     		.short	128
 6758 0016 0001     		.short	256
 6759              		.text
 6760              	.Letext0:
 6761              		.file 2 "/usr/include/newlib/machine/_default_types.h"
 6762              		.file 3 "/usr/include/newlib/sys/_stdint.h"
 6763              		.file 4 "Drivers/CMSIS/Include/core_cm4.h"
 6764              		.file 5 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/system_stm32g4xx.h"
 6765              		.file 6 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h"
 6766              		.file 7 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h"
 6767              		.file 8 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h"
 6768              		.file 9 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h"
 6769              		.file 10 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h"
 6770              		.file 11 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart.h"
 6771              		.file 12 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h"
 6772              		.file 13 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"
 6773              		.file 14 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart_ex.h"
ARM GAS  /tmp/ccVmA0m0.s 			page 218


DEFINED SYMBOLS
                            *ABS*:0000000000000000 stm32g4xx_hal_uart.c
     /tmp/ccVmA0m0.s:18     .text.UART_EndTxTransfer:0000000000000000 $t
     /tmp/ccVmA0m0.s:24     .text.UART_EndTxTransfer:0000000000000000 UART_EndTxTransfer
     /tmp/ccVmA0m0.s:52     .text.UART_EndRxTransfer:0000000000000000 $t
     /tmp/ccVmA0m0.s:58     .text.UART_EndRxTransfer:0000000000000000 UART_EndRxTransfer
     /tmp/ccVmA0m0.s:103    .text.UART_TxISR_8BIT:0000000000000000 $t
     /tmp/ccVmA0m0.s:109    .text.UART_TxISR_8BIT:0000000000000000 UART_TxISR_8BIT
     /tmp/ccVmA0m0.s:161    .text.UART_TxISR_16BIT:0000000000000000 $t
     /tmp/ccVmA0m0.s:167    .text.UART_TxISR_16BIT:0000000000000000 UART_TxISR_16BIT
     /tmp/ccVmA0m0.s:224    .text.UART_TxISR_8BIT_FIFOEN:0000000000000000 $t
     /tmp/ccVmA0m0.s:230    .text.UART_TxISR_8BIT_FIFOEN:0000000000000000 UART_TxISR_8BIT_FIFOEN
     /tmp/ccVmA0m0.s:303    .text.UART_TxISR_16BIT_FIFOEN:0000000000000000 $t
     /tmp/ccVmA0m0.s:309    .text.UART_TxISR_16BIT_FIFOEN:0000000000000000 UART_TxISR_16BIT_FIFOEN
     /tmp/ccVmA0m0.s:387    .text.HAL_UART_MspInit:0000000000000000 $t
     /tmp/ccVmA0m0.s:394    .text.HAL_UART_MspInit:0000000000000000 HAL_UART_MspInit
     /tmp/ccVmA0m0.s:408    .text.HAL_UART_MspDeInit:0000000000000000 $t
     /tmp/ccVmA0m0.s:415    .text.HAL_UART_MspDeInit:0000000000000000 HAL_UART_MspDeInit
     /tmp/ccVmA0m0.s:429    .text.HAL_UART_DeInit:0000000000000000 $t
     /tmp/ccVmA0m0.s:436    .text.HAL_UART_DeInit:0000000000000000 HAL_UART_DeInit
     /tmp/ccVmA0m0.s:506    .text.HAL_UART_Transmit_IT:0000000000000000 $t
     /tmp/ccVmA0m0.s:513    .text.HAL_UART_Transmit_IT:0000000000000000 HAL_UART_Transmit_IT
     /tmp/ccVmA0m0.s:651    .text.HAL_UART_Transmit_IT:00000000000000a8 $d
     /tmp/ccVmA0m0.s:659    .text.HAL_UART_Transmit_DMA:0000000000000000 $t
     /tmp/ccVmA0m0.s:666    .text.HAL_UART_Transmit_DMA:0000000000000000 HAL_UART_Transmit_DMA
     /tmp/ccVmA0m0.s:795    .text.HAL_UART_Transmit_DMA:00000000000000a0 $d
     /tmp/ccVmA0m0.s:1486   .text.UART_DMATransmitCplt:0000000000000000 UART_DMATransmitCplt
     /tmp/ccVmA0m0.s:1602   .text.UART_DMATxHalfCplt:0000000000000000 UART_DMATxHalfCplt
     /tmp/ccVmA0m0.s:1695   .text.UART_DMAError:0000000000000000 UART_DMAError
     /tmp/ccVmA0m0.s:802    .text.HAL_UART_DMAPause:0000000000000000 $t
     /tmp/ccVmA0m0.s:809    .text.HAL_UART_DMAPause:0000000000000000 HAL_UART_DMAPause
     /tmp/ccVmA0m0.s:901    .text.HAL_UART_DMAResume:0000000000000000 $t
     /tmp/ccVmA0m0.s:908    .text.HAL_UART_DMAResume:0000000000000000 HAL_UART_DMAResume
     /tmp/ccVmA0m0.s:979    .text.HAL_UART_DMAStop:0000000000000000 $t
     /tmp/ccVmA0m0.s:986    .text.HAL_UART_DMAStop:0000000000000000 HAL_UART_DMAStop
     /tmp/ccVmA0m0.s:1104   .text.HAL_UART_Abort:0000000000000000 $t
     /tmp/ccVmA0m0.s:1111   .text.HAL_UART_Abort:0000000000000000 HAL_UART_Abort
     /tmp/ccVmA0m0.s:1262   .text.HAL_UART_AbortTransmit:0000000000000000 $t
     /tmp/ccVmA0m0.s:1269   .text.HAL_UART_AbortTransmit:0000000000000000 HAL_UART_AbortTransmit
     /tmp/ccVmA0m0.s:1355   .text.HAL_UART_AbortReceive:0000000000000000 $t
     /tmp/ccVmA0m0.s:1362   .text.HAL_UART_AbortReceive:0000000000000000 HAL_UART_AbortReceive
     /tmp/ccVmA0m0.s:1459   .text.HAL_UART_TxCpltCallback:0000000000000000 $t
     /tmp/ccVmA0m0.s:1466   .text.HAL_UART_TxCpltCallback:0000000000000000 HAL_UART_TxCpltCallback
     /tmp/ccVmA0m0.s:1480   .text.UART_DMATransmitCplt:0000000000000000 $t
     /tmp/ccVmA0m0.s:1537   .text.UART_EndTransmit_IT:0000000000000000 $t
     /tmp/ccVmA0m0.s:1543   .text.UART_EndTransmit_IT:0000000000000000 UART_EndTransmit_IT
     /tmp/ccVmA0m0.s:1575   .text.HAL_UART_TxHalfCpltCallback:0000000000000000 $t
     /tmp/ccVmA0m0.s:1582   .text.HAL_UART_TxHalfCpltCallback:0000000000000000 HAL_UART_TxHalfCpltCallback
     /tmp/ccVmA0m0.s:1596   .text.UART_DMATxHalfCplt:0000000000000000 $t
     /tmp/ccVmA0m0.s:1626   .text.HAL_UART_RxCpltCallback:0000000000000000 $t
     /tmp/ccVmA0m0.s:1633   .text.HAL_UART_RxCpltCallback:0000000000000000 HAL_UART_RxCpltCallback
     /tmp/ccVmA0m0.s:1647   .text.HAL_UART_RxHalfCpltCallback:0000000000000000 $t
     /tmp/ccVmA0m0.s:1654   .text.HAL_UART_RxHalfCpltCallback:0000000000000000 HAL_UART_RxHalfCpltCallback
     /tmp/ccVmA0m0.s:1668   .text.HAL_UART_ErrorCallback:0000000000000000 $t
     /tmp/ccVmA0m0.s:1675   .text.HAL_UART_ErrorCallback:0000000000000000 HAL_UART_ErrorCallback
     /tmp/ccVmA0m0.s:1689   .text.UART_DMAError:0000000000000000 $t
     /tmp/ccVmA0m0.s:1771   .text.UART_DMAAbortOnError:0000000000000000 $t
ARM GAS  /tmp/ccVmA0m0.s 			page 219


     /tmp/ccVmA0m0.s:1777   .text.UART_DMAAbortOnError:0000000000000000 UART_DMAAbortOnError
     /tmp/ccVmA0m0.s:1806   .text.HAL_UART_AbortCpltCallback:0000000000000000 $t
     /tmp/ccVmA0m0.s:1813   .text.HAL_UART_AbortCpltCallback:0000000000000000 HAL_UART_AbortCpltCallback
     /tmp/ccVmA0m0.s:1827   .text.HAL_UART_Abort_IT:0000000000000000 $t
     /tmp/ccVmA0m0.s:1834   .text.HAL_UART_Abort_IT:0000000000000000 HAL_UART_Abort_IT
     /tmp/ccVmA0m0.s:2027   .text.HAL_UART_Abort_IT:0000000000000108 $d
     /tmp/ccVmA0m0.s:2107   .text.UART_DMATxAbortCallback:0000000000000000 UART_DMATxAbortCallback
     /tmp/ccVmA0m0.s:2039   .text.UART_DMARxAbortCallback:0000000000000000 UART_DMARxAbortCallback
     /tmp/ccVmA0m0.s:2033   .text.UART_DMARxAbortCallback:0000000000000000 $t
     /tmp/ccVmA0m0.s:2101   .text.UART_DMATxAbortCallback:0000000000000000 $t
     /tmp/ccVmA0m0.s:2175   .text.HAL_UART_AbortTransmitCpltCallback:0000000000000000 $t
     /tmp/ccVmA0m0.s:2182   .text.HAL_UART_AbortTransmitCpltCallback:0000000000000000 HAL_UART_AbortTransmitCpltCallback
     /tmp/ccVmA0m0.s:2196   .text.HAL_UART_AbortTransmit_IT:0000000000000000 $t
     /tmp/ccVmA0m0.s:2203   .text.HAL_UART_AbortTransmit_IT:0000000000000000 HAL_UART_AbortTransmit_IT
     /tmp/ccVmA0m0.s:2301   .text.HAL_UART_AbortTransmit_IT:0000000000000080 $d
     /tmp/ccVmA0m0.s:2312   .text.UART_DMATxOnlyAbortCallback:0000000000000000 UART_DMATxOnlyAbortCallback
     /tmp/ccVmA0m0.s:2306   .text.UART_DMATxOnlyAbortCallback:0000000000000000 $t
     /tmp/ccVmA0m0.s:2355   .text.HAL_UART_AbortReceiveCpltCallback:0000000000000000 $t
     /tmp/ccVmA0m0.s:2362   .text.HAL_UART_AbortReceiveCpltCallback:0000000000000000 HAL_UART_AbortReceiveCpltCallback
     /tmp/ccVmA0m0.s:2376   .text.HAL_UART_AbortReceive_IT:0000000000000000 $t
     /tmp/ccVmA0m0.s:2383   .text.HAL_UART_AbortReceive_IT:0000000000000000 HAL_UART_AbortReceive_IT
     /tmp/ccVmA0m0.s:2500   .text.HAL_UART_AbortReceive_IT:00000000000000a0 $d
     /tmp/ccVmA0m0.s:2511   .text.UART_DMARxOnlyAbortCallback:0000000000000000 UART_DMARxOnlyAbortCallback
     /tmp/ccVmA0m0.s:2505   .text.UART_DMARxOnlyAbortCallback:0000000000000000 $t
     /tmp/ccVmA0m0.s:2552   .text.HAL_UARTEx_RxEventCallback:0000000000000000 $t
     /tmp/ccVmA0m0.s:2559   .text.HAL_UARTEx_RxEventCallback:0000000000000000 HAL_UARTEx_RxEventCallback
     /tmp/ccVmA0m0.s:2573   .text.HAL_UART_IRQHandler:0000000000000000 $t
     /tmp/ccVmA0m0.s:2580   .text.HAL_UART_IRQHandler:0000000000000000 HAL_UART_IRQHandler
     /tmp/ccVmA0m0.s:3045   .text.HAL_UART_IRQHandler:00000000000002c0 $d
     /tmp/ccVmA0m0.s:3052   .text.UART_RxISR_8BIT:0000000000000000 $t
     /tmp/ccVmA0m0.s:3058   .text.UART_RxISR_8BIT:0000000000000000 UART_RxISR_8BIT
     /tmp/ccVmA0m0.s:3167   .text.UART_RxISR_16BIT:0000000000000000 $t
     /tmp/ccVmA0m0.s:3173   .text.UART_RxISR_16BIT:0000000000000000 UART_RxISR_16BIT
     /tmp/ccVmA0m0.s:3283   .text.UART_RxISR_8BIT_FIFOEN:0000000000000000 $t
     /tmp/ccVmA0m0.s:3289   .text.UART_RxISR_8BIT_FIFOEN:0000000000000000 UART_RxISR_8BIT_FIFOEN
     /tmp/ccVmA0m0.s:3508   .text.UART_RxISR_8BIT_FIFOEN:0000000000000154 $d
     /tmp/ccVmA0m0.s:3513   .text.UART_RxISR_16BIT_FIFOEN:0000000000000000 $t
     /tmp/ccVmA0m0.s:3519   .text.UART_RxISR_16BIT_FIFOEN:0000000000000000 UART_RxISR_16BIT_FIFOEN
     /tmp/ccVmA0m0.s:3740   .text.UART_RxISR_16BIT_FIFOEN:0000000000000150 $d
     /tmp/ccVmA0m0.s:3745   .text.UART_DMARxHalfCplt:0000000000000000 $t
     /tmp/ccVmA0m0.s:3751   .text.UART_DMARxHalfCplt:0000000000000000 UART_DMARxHalfCplt
     /tmp/ccVmA0m0.s:3788   .text.UART_DMAReceiveCplt:0000000000000000 $t
     /tmp/ccVmA0m0.s:3794   .text.UART_DMAReceiveCplt:0000000000000000 UART_DMAReceiveCplt
     /tmp/ccVmA0m0.s:3872   .text.HAL_UART_ReceiverTimeout_Config:0000000000000000 $t
     /tmp/ccVmA0m0.s:3879   .text.HAL_UART_ReceiverTimeout_Config:0000000000000000 HAL_UART_ReceiverTimeout_Config
     /tmp/ccVmA0m0.s:3904   .text.HAL_UART_ReceiverTimeout_Config:0000000000000014 $d
     /tmp/ccVmA0m0.s:3909   .text.HAL_UART_EnableReceiverTimeout:0000000000000000 $t
     /tmp/ccVmA0m0.s:3916   .text.HAL_UART_EnableReceiverTimeout:0000000000000000 HAL_UART_EnableReceiverTimeout
     /tmp/ccVmA0m0.s:3979   .text.HAL_UART_EnableReceiverTimeout:0000000000000048 $d
     /tmp/ccVmA0m0.s:3984   .text.HAL_UART_DisableReceiverTimeout:0000000000000000 $t
     /tmp/ccVmA0m0.s:3991   .text.HAL_UART_DisableReceiverTimeout:0000000000000000 HAL_UART_DisableReceiverTimeout
     /tmp/ccVmA0m0.s:4054   .text.HAL_UART_DisableReceiverTimeout:0000000000000048 $d
     /tmp/ccVmA0m0.s:4059   .text.HAL_MultiProcessor_EnterMuteMode:0000000000000000 $t
     /tmp/ccVmA0m0.s:4066   .text.HAL_MultiProcessor_EnterMuteMode:0000000000000000 HAL_MultiProcessor_EnterMuteMode
     /tmp/ccVmA0m0.s:4085   .text.HAL_HalfDuplex_EnableTransmitter:0000000000000000 $t
     /tmp/ccVmA0m0.s:4092   .text.HAL_HalfDuplex_EnableTransmitter:0000000000000000 HAL_HalfDuplex_EnableTransmitter
     /tmp/ccVmA0m0.s:4141   .text.HAL_HalfDuplex_EnableReceiver:0000000000000000 $t
ARM GAS  /tmp/ccVmA0m0.s 			page 220


     /tmp/ccVmA0m0.s:4148   .text.HAL_HalfDuplex_EnableReceiver:0000000000000000 HAL_HalfDuplex_EnableReceiver
     /tmp/ccVmA0m0.s:4197   .text.HAL_LIN_SendBreak:0000000000000000 $t
     /tmp/ccVmA0m0.s:4204   .text.HAL_LIN_SendBreak:0000000000000000 HAL_LIN_SendBreak
     /tmp/ccVmA0m0.s:4248   .text.HAL_UART_GetState:0000000000000000 $t
     /tmp/ccVmA0m0.s:4255   .text.HAL_UART_GetState:0000000000000000 HAL_UART_GetState
     /tmp/ccVmA0m0.s:4277   .text.HAL_UART_GetError:0000000000000000 $t
     /tmp/ccVmA0m0.s:4284   .text.HAL_UART_GetError:0000000000000000 HAL_UART_GetError
     /tmp/ccVmA0m0.s:4302   .text.UART_SetConfig:0000000000000000 $t
     /tmp/ccVmA0m0.s:4309   .text.UART_SetConfig:0000000000000000 UART_SetConfig
     /tmp/ccVmA0m0.s:4421   .text.UART_SetConfig:0000000000000096 $d
     /tmp/ccVmA0m0.s:4431   .text.UART_SetConfig:00000000000000a8 $t
     /tmp/ccVmA0m0.s:4441   .text.UART_SetConfig:00000000000000bc $d
     /tmp/ccVmA0m0.s:4445   .text.UART_SetConfig:00000000000000c0 $t
     /tmp/ccVmA0m0.s:4475   .text.UART_SetConfig:00000000000000e4 $d
     /tmp/ccVmA0m0.s:4634   .text.UART_SetConfig:00000000000001aa $d
     /tmp/ccVmA0m0.s:4723   .text.UART_SetConfig:0000000000000232 $d
     /tmp/ccVmA0m0.s:4798   .text.UART_SetConfig:0000000000000294 $d
     /tmp/ccVmA0m0.s:4809   .text.UART_SetConfig:00000000000002b8 $t
     /tmp/ccVmA0m0.s:4924   .text.UART_SetConfig:000000000000033c $d
     /tmp/ccVmA0m0.s:4930   .text.UART_AdvFeatureConfig:0000000000000000 $t
     /tmp/ccVmA0m0.s:4937   .text.UART_AdvFeatureConfig:0000000000000000 UART_AdvFeatureConfig
     /tmp/ccVmA0m0.s:5060   .text.UART_WaitOnFlagUntilTimeout:0000000000000000 $t
     /tmp/ccVmA0m0.s:5067   .text.UART_WaitOnFlagUntilTimeout:0000000000000000 UART_WaitOnFlagUntilTimeout
     /tmp/ccVmA0m0.s:5177   .text.HAL_UART_Transmit:0000000000000000 $t
     /tmp/ccVmA0m0.s:5184   .text.HAL_UART_Transmit:0000000000000000 HAL_UART_Transmit
     /tmp/ccVmA0m0.s:5364   .text.HAL_UART_Receive:0000000000000000 $t
     /tmp/ccVmA0m0.s:5371   .text.HAL_UART_Receive:0000000000000000 HAL_UART_Receive
     /tmp/ccVmA0m0.s:5600   .text.UART_CheckIdleState:0000000000000000 $t
     /tmp/ccVmA0m0.s:5607   .text.UART_CheckIdleState:0000000000000000 UART_CheckIdleState
     /tmp/ccVmA0m0.s:5701   .text.HAL_UART_Init:0000000000000000 $t
     /tmp/ccVmA0m0.s:5708   .text.HAL_UART_Init:0000000000000000 HAL_UART_Init
     /tmp/ccVmA0m0.s:5798   .text.HAL_HalfDuplex_Init:0000000000000000 $t
     /tmp/ccVmA0m0.s:5805   .text.HAL_HalfDuplex_Init:0000000000000000 HAL_HalfDuplex_Init
     /tmp/ccVmA0m0.s:5901   .text.HAL_LIN_Init:0000000000000000 $t
     /tmp/ccVmA0m0.s:5908   .text.HAL_LIN_Init:0000000000000000 HAL_LIN_Init
     /tmp/ccVmA0m0.s:6041   .text.HAL_MultiProcessor_Init:0000000000000000 $t
     /tmp/ccVmA0m0.s:6048   .text.HAL_MultiProcessor_Init:0000000000000000 HAL_MultiProcessor_Init
     /tmp/ccVmA0m0.s:6164   .text.HAL_MultiProcessor_EnableMuteMode:0000000000000000 $t
     /tmp/ccVmA0m0.s:6171   .text.HAL_MultiProcessor_EnableMuteMode:0000000000000000 HAL_MultiProcessor_EnableMuteMode
     /tmp/ccVmA0m0.s:6217   .text.HAL_MultiProcessor_DisableMuteMode:0000000000000000 $t
     /tmp/ccVmA0m0.s:6224   .text.HAL_MultiProcessor_DisableMuteMode:0000000000000000 HAL_MultiProcessor_DisableMuteMode
     /tmp/ccVmA0m0.s:6270   .text.UART_Start_Receive_IT:0000000000000000 $t
     /tmp/ccVmA0m0.s:6277   .text.UART_Start_Receive_IT:0000000000000000 UART_Start_Receive_IT
     /tmp/ccVmA0m0.s:6440   .text.UART_Start_Receive_IT:00000000000000e8 $d
     /tmp/ccVmA0m0.s:6448   .text.HAL_UART_Receive_IT:0000000000000000 $t
     /tmp/ccVmA0m0.s:6455   .text.HAL_UART_Receive_IT:0000000000000000 HAL_UART_Receive_IT
     /tmp/ccVmA0m0.s:6536   .text.HAL_UART_Receive_IT:0000000000000050 $d
     /tmp/ccVmA0m0.s:6541   .text.UART_Start_Receive_DMA:0000000000000000 $t
     /tmp/ccVmA0m0.s:6548   .text.UART_Start_Receive_DMA:0000000000000000 UART_Start_Receive_DMA
     /tmp/ccVmA0m0.s:6641   .text.UART_Start_Receive_DMA:000000000000007c $d
     /tmp/ccVmA0m0.s:6648   .text.HAL_UART_Receive_DMA:0000000000000000 $t
     /tmp/ccVmA0m0.s:6655   .text.HAL_UART_Receive_DMA:0000000000000000 HAL_UART_Receive_DMA
     /tmp/ccVmA0m0.s:6736   .text.HAL_UART_Receive_DMA:0000000000000050 $d
     /tmp/ccVmA0m0.s:6746   .rodata.UARTPrescTable:0000000000000000 UARTPrescTable
     /tmp/ccVmA0m0.s:6742   .rodata.UARTPrescTable:0000000000000000 $d
     /tmp/ccVmA0m0.s:4488   .text.UART_SetConfig:00000000000000f1 $d
     /tmp/ccVmA0m0.s:4488   .text.UART_SetConfig:00000000000000f2 $t
ARM GAS  /tmp/ccVmA0m0.s 			page 221


     /tmp/ccVmA0m0.s:4643   .text.UART_SetConfig:00000000000001b3 $d
     /tmp/ccVmA0m0.s:4643   .text.UART_SetConfig:00000000000001b4 $t
     /tmp/ccVmA0m0.s:4732   .text.UART_SetConfig:000000000000023b $d
     /tmp/ccVmA0m0.s:4732   .text.UART_SetConfig:000000000000023c $t

UNDEFINED SYMBOLS
HAL_DMA_Start_IT
HAL_DMA_Abort
HAL_DMA_GetError
HAL_DMA_Abort_IT
HAL_UARTEx_WakeupCallback
HAL_UARTEx_RxFifoFullCallback
HAL_UARTEx_TxFifoEmptyCallback
__aeabi_uldivmod
HAL_RCC_GetPCLK1Freq
HAL_RCC_GetSysClockFreq
HAL_RCC_GetPCLK2Freq
HAL_GetTick
