ARM GAS /tmp/cciGf5I5.s page 1 1 .cpu cortex-m4 2 .arch armv7e-m 3 .fpu fpv4-sp-d16 4 .eabi_attribute 27, 1 5 .eabi_attribute 28, 1 6 .eabi_attribute 20, 1 7 .eabi_attribute 21, 1 8 .eabi_attribute 23, 3 9 .eabi_attribute 24, 1 10 .eabi_attribute 25, 1 11 .eabi_attribute 26, 1 12 .eabi_attribute 30, 1 13 .eabi_attribute 34, 1 14 .eabi_attribute 18, 4 15 .file "stm32g4xx_hal_uart.c" 16 .text 17 .Ltext0: 18 .cfi_sections .debug_frame 19 .file 1 "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c" 20 .section .text.UART_EndTxTransfer,"ax",%progbits 21 .align 1 22 .syntax unified 23 .thumb 24 .thumb_func 26 UART_EndTxTransfer: 27 .LFB378: 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 **** ****************************************************************************** 14:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @attention 15:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * 16:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * Copyright (c) 2019 STMicroelectronics. 17:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * All rights reserved. 18:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * 19:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This software is licensed under terms that can be found in the LICENSE file 20:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * in the root directory of this software component. 21:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 22:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * 23:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ****************************************************************************** 24:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @verbatim 25:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** =============================================================================== 26:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ##### How to use this driver ##### 27:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** =============================================================================== 28:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** [..] 29:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** The UART HAL driver can be used as follows: 30:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 31:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) Declare a UART_HandleTypeDef handle structure (eg. UART_HandleTypeDef huart). ARM GAS /tmp/cciGf5I5.s page 2 32:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) Initialize the UART low level resources by implementing the HAL_UART_MspInit() API: 33:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (++) Enable the USARTx interface clock. 34:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (++) UART pins configuration: 35:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+++) Enable the clock for the UART GPIOs. 36:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+++) Configure these UART pins as alternate function pull-up. 37:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (++) NVIC configuration if you need to use interrupt process (HAL_UART_Transmit_IT() 38:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** and HAL_UART_Receive_IT() APIs): 39:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+++) Configure the USARTx interrupt priority. 40:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+++) Enable the NVIC USART IRQ handle. 41:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (++) UART interrupts handling: 42:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** -@@- The specific UART interrupts (Transmission complete interrupt, 43:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** RXNE interrupt, RX/TX FIFOs related interrupts and Error Interrupts) 44:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** are managed using the macros __HAL_UART_ENABLE_IT() and __HAL_UART_DISABLE_IT() 45:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** inside the transmit and receive processes. 46:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (++) DMA Configuration if you need to use DMA process (HAL_UART_Transmit_DMA() 47:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** and HAL_UART_Receive_DMA() APIs): 48:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+++) Declare a DMA handle structure for the Tx/Rx channel. 49:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+++) Enable the DMAx interface clock. 50:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+++) Configure the declared DMA handle structure with the required Tx/Rx parameters. 51:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+++) Configure the DMA Tx/Rx channel. 52:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+++) Associate the initialized DMA handle to the UART DMA Tx/Rx handle. 53:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+++) Configure the priority and enable the NVIC for the transfer complete 54:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** interrupt on the DMA Tx/Rx channel. 55:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 56:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) Program the Baud Rate, Word Length, Stop Bit, Parity, Prescaler value , Hardware 57:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** flow control and Mode (Receiver/Transmitter) in the huart handle Init structure. 58:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 59:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) If required, program UART advanced features (TX/RX pins swap, auto Baud rate detection,...) 60:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** in the huart handle AdvancedInit structure. 61:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 62:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) For the UART asynchronous mode, initialize the UART registers by calling 63:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UART_Init() API. 64:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 65:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) For the UART Half duplex mode, initialize the UART registers by calling 66:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_HalfDuplex_Init() API. 67:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 68:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) For the UART LIN (Local Interconnection Network) mode, initialize the UART registers 69:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** by calling the HAL_LIN_Init() API. 70:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 71:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) For the UART Multiprocessor mode, initialize the UART registers 72:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** by calling the HAL_MultiProcessor_Init() API. 73:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 74:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) For the UART RS485 Driver Enabled mode, initialize the UART registers 75:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** by calling the HAL_RS485Ex_Init() API. 76:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 77:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** [..] 78:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (@) These API's (HAL_UART_Init(), HAL_HalfDuplex_Init(), HAL_LIN_Init(), HAL_MultiProcessor_Ini 79:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** also configure the low level Hardware GPIO, CLOCK, CORTEX...etc) by 80:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** calling the customized HAL_UART_MspInit() API. 81:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 82:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ##### Callback registration ##### 83:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ================================== 84:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 85:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** [..] 86:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** The compilation define USE_HAL_UART_REGISTER_CALLBACKS when set to 1 87:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** allows the user to configure dynamically the driver callbacks. 88:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cciGf5I5.s page 3 89:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** [..] 90:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Use Function HAL_UART_RegisterCallback() to register a user callback. 91:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Function HAL_UART_RegisterCallback() allows to register following callbacks: 92:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) TxHalfCpltCallback : Tx Half Complete Callback. 93:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) TxCpltCallback : Tx Complete Callback. 94:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) RxHalfCpltCallback : Rx Half Complete Callback. 95:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) RxCpltCallback : Rx Complete Callback. 96:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) ErrorCallback : Error Callback. 97:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) AbortCpltCallback : Abort Complete Callback. 98:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback. 99:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) AbortReceiveCpltCallback : Abort Receive Complete Callback. 100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) WakeupCallback : Wakeup Callback. 101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) RxFifoFullCallback : Rx Fifo Full Callback. 102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) TxFifoEmptyCallback : Tx Fifo Empty Callback. 103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) MspInitCallback : UART MspInit. 104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) MspDeInitCallback : UART MspDeInit. 105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** This function takes as parameters the HAL peripheral handle, the Callback ID 106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** and a pointer to the user callback function. 107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** [..] 109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Use function HAL_UART_UnRegisterCallback() to reset a callback to the default 110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** weak function. 111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_UnRegisterCallback() takes as parameters the HAL peripheral handle, 112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** and the Callback ID. 113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** This function allows to reset following callbacks: 114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) TxHalfCpltCallback : Tx Half Complete Callback. 115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) TxCpltCallback : Tx Complete Callback. 116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) RxHalfCpltCallback : Rx Half Complete Callback. 117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) RxCpltCallback : Rx Complete Callback. 118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) ErrorCallback : Error Callback. 119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) AbortCpltCallback : Abort Complete Callback. 120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback. 121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) AbortReceiveCpltCallback : Abort Receive Complete Callback. 122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) WakeupCallback : Wakeup Callback. 123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) RxFifoFullCallback : Rx Fifo Full Callback. 124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) TxFifoEmptyCallback : Tx Fifo Empty Callback. 125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) MspInitCallback : UART MspInit. 126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) MspDeInitCallback : UART MspDeInit. 127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** [..] 129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** For specific callback RxEventCallback, use dedicated registration/reset functions: 130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** respectively HAL_UART_RegisterRxEventCallback() , HAL_UART_UnRegisterRxEventCallback(). 131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** [..] 133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** By default, after the HAL_UART_Init() and when the state is HAL_UART_STATE_RESET 134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** all callbacks are set to the corresponding weak functions: 135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** examples HAL_UART_TxCpltCallback(), HAL_UART_RxHalfCpltCallback(). 136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Exception done for MspInit and MspDeInit functions that are respectively 137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** reset to the legacy weak functions in the HAL_UART_Init() 138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** and HAL_UART_DeInit() only when these callbacks are null (not registered beforehand). 139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** If not, MspInit or MspDeInit are not null, the HAL_UART_Init() and HAL_UART_DeInit() 140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand). 141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** [..] 143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Callbacks can be registered/unregistered in HAL_UART_STATE_READY state only. 144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Exception done MspInit/MspDeInit that can be registered/unregistered 145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** in HAL_UART_STATE_READY or HAL_UART_STATE_RESET state, thus registered (user) ARM GAS /tmp/cciGf5I5.s page 4 146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MspInit/DeInit callbacks can be used during the Init/DeInit. 147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** In that case first register the MspInit/MspDeInit user callbacks 148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** using HAL_UART_RegisterCallback() before calling HAL_UART_DeInit() 149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** or HAL_UART_Init() function. 150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** [..] 152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** When The compilation define USE_HAL_UART_REGISTER_CALLBACKS is set to 0 or 153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** not defined, the callback registration feature is not available 154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** and weak callbacks are used. 155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @endverbatim 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 function prototypes -----------------------------------------------*/ 197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** @addtogroup UART_Private_Functions 198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @{ 199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart); 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_DMATransmitCplt(DMA_HandleTypeDef *hdma); ARM GAS /tmp/cciGf5I5.s page 5 203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma); 204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma); 205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma); 206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma); 207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma); 208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma); 209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma); 210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma); 211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma); 212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_TxISR_8BIT(UART_HandleTypeDef *huart); 213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_TxISR_16BIT(UART_HandleTypeDef *huart); 214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_TxISR_8BIT_FIFOEN(UART_HandleTypeDef *huart); 215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_TxISR_16BIT_FIFOEN(UART_HandleTypeDef *huart); 216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_EndTransmit_IT(UART_HandleTypeDef *huart); 217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_RxISR_8BIT(UART_HandleTypeDef *huart); 218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_RxISR_16BIT(UART_HandleTypeDef *huart); 219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_RxISR_8BIT_FIFOEN(UART_HandleTypeDef *huart); 220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_RxISR_16BIT_FIFOEN(UART_HandleTypeDef *huart); 221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 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 **** /* Private variables ---------------------------------------------------------*/ 226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** @addtogroup UART_Private_variables 227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @{ 228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 229: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}; 230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 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 **** /* Exported Constants --------------------------------------------------------*/ 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 ARM GAS /tmp/cciGf5I5.s page 6 260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (++) One-Bit Sampling Method 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 **** { ARM GAS /tmp/cciGf5I5.s page 7 317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the parameters */ 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 **** /* Perform advanced settings configuration */ 352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* For some items, configuration requires to be done prior TE and RE bits are set */ 353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT) 354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_AdvFeatureConfig(huart); 356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART Communication parameters */ 359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR) 360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* In asynchronous mode, the following bits must be kept cleared: 365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register, 366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register.*/ 367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN)); 368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); 369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_ENABLE(huart); 371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ 373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return (UART_CheckIdleState(huart)); ARM GAS /tmp/cciGf5I5.s page 8 374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Initialize the half-duplex mode according to the specified 378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * parameters in the UART_InitTypeDef and creates the associated handle. 379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_Init(UART_HandleTypeDef *huart) 383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */ 385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart == NULL) 386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check UART instance */ 391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_HALFDUPLEX_INSTANCE(huart->Instance)); 392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET) 394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Allocate lock resource and initialize it */ 396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED; 397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_InitCallbacksToDefault(huart); 400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->MspInitCallback == NULL) 402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Init the low level hardware */ 407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspInitCallback(huart); 408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */ 410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_MspInit(huart); 411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Perform advanced settings configuration */ 419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* For some items, configuration requires to be done prior TE and RE bits are set */ 420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT) 421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_AdvFeatureConfig(huart); 423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART Communication parameters */ 426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR) 427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cciGf5I5.s page 9 431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* In half-duplex mode, the following bits must be kept cleared: 432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register, 433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - SCEN and IREN bits in the USART_CR3 register.*/ 434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN)); 435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN)); 436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the Half-Duplex mode by setting the HDSEL bit in the CR3 register */ 438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_HDSEL); 439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_ENABLE(huart); 441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ 443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Initialize the LIN mode according to the specified 449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * parameters in the UART_InitTypeDef and creates the associated handle. 450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param BreakDetectLength Specifies the LIN break detection length. 452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This parameter can be one of the following values: 453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref UART_LINBREAKDETECTLENGTH_10B 10-bit break detection 454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref UART_LINBREAKDETECTLENGTH_11B 11-bit break detection 455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_Init(UART_HandleTypeDef *huart, uint32_t BreakDetectLength) 458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */ 460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart == NULL) 461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the LIN UART instance */ 466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_LIN_INSTANCE(huart->Instance)); 467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the Break detection length parameter */ 468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_LIN_BREAK_DETECT_LENGTH(BreakDetectLength)); 469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* LIN mode limited to 16-bit oversampling only */ 471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->Init.OverSampling == UART_OVERSAMPLING_8) 472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* LIN mode limited to 8-bit data length */ 476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->Init.WordLength != UART_WORDLENGTH_8B) 477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET) 482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Allocate lock resource and initialize it */ 484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED; 485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_InitCallbacksToDefault(huart); ARM GAS /tmp/cciGf5I5.s page 10 488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->MspInitCallback == NULL) 490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Init the low level hardware */ 495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspInitCallback(huart); 496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */ 498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_MspInit(huart); 499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Perform advanced settings configuration */ 507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* For some items, configuration requires to be done prior TE and RE bits are set */ 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 **** /* Set the UART Communication parameters */ 514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR) 515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* In LIN mode, the following bits must be kept cleared: 520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register, 521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - SCEN and IREN bits in the USART_CR3 register.*/ 522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_CLKEN); 523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN)); 524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the LIN mode by setting the LINEN bit in the CR2 register */ 526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, USART_CR2_LINEN); 527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the USART LIN Break detection length. */ 529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_LBDL, BreakDetectLength); 530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_ENABLE(huart); 532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ 534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Initialize the multiprocessor mode according to the specified 540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * parameters in the UART_InitTypeDef and initialize the associated handle. 541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Address UART node address (4-, 6-, 7- or 8-bit long). 543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param WakeUpMethod Specifies the UART wakeup method. 544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This parameter can be one of the following values: ARM GAS /tmp/cciGf5I5.s page 11 545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref UART_WAKEUPMETHOD_IDLELINE WakeUp by an idle line detection 546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref UART_WAKEUPMETHOD_ADDRESSMARK WakeUp by an address mark 547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note If the user resorts to idle line detection wake up, the Address parameter 548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * is useless and ignored by the initialization function. 549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note If the user resorts to address mark wake up, the address length detection 550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * is configured by default to 4 bits only. For the UART to be able to 551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * manage 6-, 7- or 8-bit long addresses detection, the API 552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * HAL_MultiProcessorEx_AddressLength_Set() must be called after 553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * HAL_MultiProcessor_Init(). 554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_Init(UART_HandleTypeDef *huart, uint8_t Address, uint32_t Wake 557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */ 559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart == NULL) 560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the wake up method parameter */ 565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_WAKEUPMETHOD(WakeUpMethod)); 566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET) 568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Allocate lock resource and initialize it */ 570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED; 571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_InitCallbacksToDefault(huart); 574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->MspInitCallback == NULL) 576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Init the low level hardware */ 581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspInitCallback(huart); 582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */ 584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_MspInit(huart); 585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Perform advanced settings configuration */ 593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* For some items, configuration requires to be done prior TE and RE bits are set */ 594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT) 595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_AdvFeatureConfig(huart); 597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART Communication parameters */ 600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR) 601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cciGf5I5.s page 12 602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* In multiprocessor mode, the following bits must be kept cleared: 606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register, 607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register. */ 608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN)); 609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); 610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (WakeUpMethod == UART_WAKEUPMETHOD_ADDRESSMARK) 612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If address mark wake up method is chosen, set the USART address node */ 614: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) 615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the wake up method by setting the WAKE bit in the CR1 register */ 618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_WAKE, WakeUpMethod); 619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_ENABLE(huart); 621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ 623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DeInitialize the UART peripheral. 629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DeInit(UART_HandleTypeDef *huart) 633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */ 635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart == NULL) 636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the parameters */ 641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param((IS_UART_INSTANCE(huart->Instance)) || (IS_LPUART_INSTANCE(huart->Instance))); 642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->CR1 = 0x0U; 648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->CR2 = 0x0U; 649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->CR3 = 0x0U; 650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->MspDeInitCallback == NULL) 653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; 655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* DeInit the low level hardware */ 657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspDeInitCallback(huart); 658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else ARM GAS /tmp/cciGf5I5.s page 13 659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* DeInit the low level hardware */ 660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_MspDeInit(huart); 661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET; 665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET; 666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Initialize the UART MSP. 676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_MspInit(UART_HandleTypeDef *huart) 680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart); 683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UART_MspInit can be implemented in the user file 686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 690:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DeInitialize the UART MSP. 691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_MspDeInit(UART_HandleTypeDef *huart) 695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart); 698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UART_MspDeInit can be implemented in the user file 701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Register a User UART Callback 707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * To be used to override the weak predefined callback 708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note The HAL_UART_RegisterCallback() may be called before HAL_UART_Init(), HAL_HalfDuplex_In 709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * HAL_LIN_Init(), HAL_MultiProcessor_Init() or HAL_RS485Ex_Init() in HAL_UART_STATE_RESET 710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * callbacks for HAL_UART_MSPINIT_CB_ID and HAL_UART_MSPDEINIT_CB_ID 711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart uart handle 712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param CallbackID ID of the callback to be registered 713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This parameter can be one of the following values: 714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID 715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID ARM GAS /tmp/cciGf5I5.s page 14 716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID 717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID 718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID 719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID 720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID 721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID 722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_WAKEUP_CB_ID Wakeup Callback ID 723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_FIFO_FULL_CB_ID Rx Fifo Full Callback ID 724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_FIFO_EMPTY_CB_ID Tx Fifo Empty Callback ID 725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID 726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID 727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param pCallback pointer to the Callback function 728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef C 731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pUART_CallbackTypeDef pCallback) 732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK; 734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (pCallback == NULL) 736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** switch (CallbackID) 745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID : 747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxHalfCpltCallback = pCallback; 748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID : 751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxCpltCallback = pCallback; 752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID : 755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxHalfCpltCallback = pCallback; 756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID : 759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxCpltCallback = pCallback; 760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID : 763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCallback = pCallback; 764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID : 767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortCpltCallback = pCallback; 768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID : 771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortTransmitCpltCallback = pCallback; 772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; ARM GAS /tmp/cciGf5I5.s page 15 773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID : 775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortReceiveCpltCallback = pCallback; 776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_WAKEUP_CB_ID : 779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->WakeupCallback = pCallback; 780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_RX_FIFO_FULL_CB_ID : 783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxFifoFullCallback = pCallback; 784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_TX_FIFO_EMPTY_CB_ID : 787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxFifoEmptyCallback = pCallback; 788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID : 791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspInitCallback = pCallback; 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 **** case HAL_UART_MSPDEINIT_CB_ID : 795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspDeInitCallback = pCallback; 796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** default : 799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** status = HAL_ERROR; 802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else if (huart->gState == HAL_UART_STATE_RESET) 806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** switch (CallbackID) 808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID : 810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspInitCallback = pCallback; 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 **** case HAL_UART_MSPDEINIT_CB_ID : 814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspDeInitCallback = pCallback; 815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** default : 818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** status = HAL_ERROR; 821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** status = HAL_ERROR; 829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cciGf5I5.s page 16 830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return status; 832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Unregister an UART Callback 836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * UART callaback is redirected to the weak predefined callback 837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note The HAL_UART_UnRegisterCallback() may be called before HAL_UART_Init(), HAL_HalfDuplex_ 838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * HAL_LIN_Init(), HAL_MultiProcessor_Init() or HAL_RS485Ex_Init() in HAL_UART_STATE_RESET 839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * callbacks for HAL_UART_MSPINIT_CB_ID and HAL_UART_MSPDEINIT_CB_ID 840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart uart handle 841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param CallbackID ID of the callback to be unregistered 842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This parameter can be one of the following values: 843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID 844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID 845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID 846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID 847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID 848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID 849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID 850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID 851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_WAKEUP_CB_ID Wakeup Callback ID 852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_FIFO_FULL_CB_ID Rx Fifo Full Callback ID 853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_FIFO_EMPTY_CB_ID Tx Fifo Empty Callback ID 854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID 855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID 856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef 859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK; 861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_UART_STATE_READY == huart->gState) 863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** switch (CallbackID) 865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID : 867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHa 868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID : 871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpl 872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID : 875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHal 876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID : 879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpl 880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID : 883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak Error 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_COMPLETE_CB_ID : ARM GAS /tmp/cciGf5I5.s page 17 887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak Abort 888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID : 891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak 892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** AbortTransmitCplt 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_ABORT_RECEIVE_COMPLETE_CB_ID : 896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak 897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** AbortReceiveCpltC 898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_WAKEUP_CB_ID : 901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->WakeupCallback = HAL_UARTEx_WakeupCallback; /* Legacy weak Wakeu 902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_RX_FIFO_FULL_CB_ID : 905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxFifoFullCallback = HAL_UARTEx_RxFifoFullCallback; /* Legacy weak RxFif 906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_TX_FIFO_EMPTY_CB_ID : 909:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxFifoEmptyCallback = HAL_UARTEx_TxFifoEmptyCallback; /* Legacy weak TxFif 910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID : 913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; /* Legacy weak MspIn 914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID : 917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; /* Legacy weak MspDe 918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** default : 921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** status = HAL_ERROR; 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 **** } 927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else if (HAL_UART_STATE_RESET == huart->gState) 928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** switch (CallbackID) 930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID : 932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID : 936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; 937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 938:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** default : 940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 942:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** status = HAL_ERROR; 943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; ARM GAS /tmp/cciGf5I5.s page 18 944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** status = HAL_ERROR; 951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return status; 954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Register a User UART Rx Event Callback 958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * To be used instead of the weak predefined callback 959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart Uart handle 960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param pCallback Pointer to the Rx Event Callback function 961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterRxEventCallback(UART_HandleTypeDef *huart, pUART_RxEventCallback 964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK; 966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (pCallback == NULL) 968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 973:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 974:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) 975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback = pCallback; 977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** status = HAL_ERROR; 983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return status; 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 **** /** 989:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief UnRegister the UART Rx Event Callback 990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * UART Rx Event Callback is redirected to the weak HAL_UARTEx_RxEventCallback() predefine 991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart Uart handle 992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterRxEventCallback(UART_HandleTypeDef *huart) 995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK; 997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) 999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback = HAL_UARTEx_RxEventCallback; /* Legacy weak UART Rx Event Callback */ ARM GAS /tmp/cciGf5I5.s page 19 1001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 1005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** status = HAL_ERROR; 1007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return status; 1010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 1013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 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 **** */ 1017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group2 IO operation functions 1019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief UART Transmit/Receive functions 1020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * 1021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @verbatim 1022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** =============================================================================== 1023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ##### IO operation functions ##### 1024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** =============================================================================== 1025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** This subsection provides a set of functions allowing to manage the UART asynchronous 1026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** and Half duplex data transfers. 1027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) There are two mode of transfer: 1029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) Blocking mode: The communication is performed in polling mode. 1030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** The HAL status of all data processing is returned by the same function 1031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** after finishing transfer. 1032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) Non-Blocking mode: The communication is performed using Interrupts 1033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** or DMA, These API's return the HAL status. 1034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** The end of the data processing will be indicated through the 1035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** dedicated UART IRQ when using Interrupt mode or the DMA IRQ when 1036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** using DMA mode. 1037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** The HAL_UART_TxCpltCallback(), HAL_UART_RxCpltCallback() user callbacks 1038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** will be executed respectively at the end of the transmit or Receive process 1039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** The HAL_UART_ErrorCallback()user callback will be executed when a communication error is 1040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) Blocking mode API's are : 1042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_Transmit() 1043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_Receive() 1044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) Non-Blocking mode API's with Interrupt are : 1046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_Transmit_IT() 1047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_Receive_IT() 1048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_IRQHandler() 1049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) Non-Blocking mode API's with DMA are : 1051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_Transmit_DMA() 1052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_Receive_DMA() 1053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_DMAPause() 1054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_DMAResume() 1055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_DMAStop() 1056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) A set of Transfer Complete Callbacks are provided in Non_Blocking mode: ARM GAS /tmp/cciGf5I5.s page 20 1058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_TxHalfCpltCallback() 1059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_TxCpltCallback() 1060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_RxHalfCpltCallback() 1061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_RxCpltCallback() 1062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_ErrorCallback() 1063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) Non-Blocking mode transfers could be aborted using Abort API's : 1065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_Abort() 1066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_AbortTransmit() 1067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_AbortReceive() 1068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_Abort_IT() 1069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_AbortTransmit_IT() 1070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_AbortReceive_IT() 1071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1072: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 1073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_AbortCpltCallback() 1074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_AbortTransmitCpltCallback() 1075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_AbortReceiveCpltCallback() 1076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) A Rx Event Reception Callback (Rx event notification) is available for Non_Blocking modes o 1078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** reception services: 1079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UARTEx_RxEventCallback() 1080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) In Non-Blocking mode transfers, possible errors are split into 2 categories. 1082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Errors are handled as follows : 1083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) Error is considered as Recoverable and non blocking : Transfer could go till end, but er 1084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** to be evaluated by user : this concerns Frame Error, Parity Error or Noise Error 1085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** in Interrupt mode reception . 1086: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 1087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** to identify error type, and HAL_UART_ErrorCallback() user callback is executed. 1088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Transfer is kept ongoing on UART side. 1089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** If user wants to abort it, Abort services should be called by user. 1090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) Error is considered as Blocking : Transfer could not be completed properly and is aborte 1091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** This concerns Overrun Error In Interrupt mode reception and all errors in DMA mode. 1092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Error code is set to allow user to identify error type, and HAL_UART_ErrorCallback() 1093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** user callback is executed. 1094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** -@- In the Half duplex communication, it is forbidden to run the transmit 1096: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. 1097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @endverbatim 1099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @{ 1100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 1101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 1103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Send an amount of data in blocking mode. 1104: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- 1105: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 1106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * of u16 provided through pData. 1107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note When FIFO mode is enabled, writing a data in the TDR register adds one 1108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * data to the TXFIFO. Write operations to the TDR register are performed 1109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * when TXFNF flag is set. From hardware perspective, TXFNF flag and 1110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * TXE are mapped on the same bit-field. 1111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 1112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent. 1114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Timeout Timeout duration. ARM GAS /tmp/cciGf5I5.s page 21 1115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 1116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 1117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Size, 1118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const uint8_t *pdata8bits; 1120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const uint16_t *pdata16bits; 1121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t tickstart; 1122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 1125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 1129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Init tickstart for timeout management */ 1135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tickstart = HAL_GetTick(); 1136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferSize = Size; 1138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = Size; 1139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1140: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 */ 1141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 1142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits = NULL; 1144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits = (const uint16_t *) pData; 1145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits = pData; 1149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits = NULL; 1150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** while (huart->TxXferCount > 0U) 1153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK) 1155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT; 1160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (pdata8bits == NULL) 1162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->TDR = (uint16_t)(*pdata16bits & 0x01FFU); 1164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits++; 1165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->TDR = (uint8_t)(*pdata8bits & 0xFFU); 1169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits++; 1170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; ARM GAS /tmp/cciGf5I5.s page 22 1172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TC, RESET, tickstart, Timeout) != HAL_OK) 1175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT; 1179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */ 1182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 1185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_BUSY; 1189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 1193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Receive an amount of data in blocking mode. 1194: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- 1195: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 1196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * of u16 available through pData. 1197: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 1198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * is not empty. Read operations from the RDR register are performed when 1199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * RXFNE flag is set. From hardware perspective, RXFNE flag and 1200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * RXNE are mapped on the same bit-field. 1201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 1202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 1204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Timeout Timeout duration. 1205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 1206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 1207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32 1208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint8_t *pdata8bits; 1210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t *pdata16bits; 1211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t uhMask; 1212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t tickstart; 1213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 1215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) 1216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 1220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 1224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Init tickstart for timeout management */ 1227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tickstart = HAL_GetTick(); 1228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cciGf5I5.s page 23 1229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferSize = Size; 1230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = Size; 1231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Computation of UART mask to apply to RDR register */ 1233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_MASK_COMPUTATION(huart); 1234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask; 1235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1236: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 */ 1237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits = NULL; 1240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 1241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits = pData; 1245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits = NULL; 1246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* as long as data have to be received */ 1249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** while (huart->RxXferCount > 0U) 1250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_RXNE, RESET, tickstart, Timeout) != HAL_OK) 1252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT; 1256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (pdata8bits == NULL) 1258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *pdata16bits = (uint16_t)(huart->Instance->RDR & uhMask); 1260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits++; 1261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->RDR & (uint8_t)uhMask); 1265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits++; 1266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 1268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 1271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 1274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_BUSY; 1278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 1282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Send an amount of data in interrupt mode. 1283: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- 1284: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 1285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * of u16 provided through pData. ARM GAS /tmp/cciGf5I5.s page 24 1286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 1287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent. 1289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 1290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 1291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Si 1292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 1295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 1299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr = pData; 1302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferSize = Size; 1303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = Size; 1304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL; 1305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Configure Tx interrupt processing */ 1310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->FifoMode == UART_FIFOMODE_ENABLE) 1311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the Tx ISR function pointer according to the data word length */ 1313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE 1314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = UART_TxISR_16BIT_FIFOEN; 1316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = UART_TxISR_8BIT_FIFOEN; 1320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the TX FIFO threshold interrupt */ 1323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 1324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the Tx ISR function pointer according to the data word length */ 1328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE 1329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = UART_TxISR_16BIT; 1331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = UART_TxISR_8BIT; 1335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the Transmit Data Register Empty interrupt */ 1338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TXEIE_TXFNFIE); 1339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 1342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cciGf5I5.s page 25 1343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_BUSY; 1346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 1350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Receive an amount of data in interrupt mode. 1351: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- 1352: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 1353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * of u16 available through pData. 1354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 1355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 1357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 1358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 1359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 1360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 1362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) 1363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 1367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set Reception type to Standard reception */ 1370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance))) 1373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that USART RTOEN bit is set */ 1375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U) 1376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */ 1378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RTOIE); 1379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return (UART_Start_Receive_IT(huart, pData, Size)); 1383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_BUSY; 1387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 1391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Send an amount of data in DMA mode. 1392: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- 1393: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 1394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * of u16 provided through pData. 1395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 1396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent. 1398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 1399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ ARM GAS /tmp/cciGf5I5.s page 26 1400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t S 1401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 1404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 1408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr = pData; 1411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferSize = Size; 1412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = Size; 1413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmatx != NULL) 1418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */ 1420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferCpltCallback = UART_DMATransmitCplt; 1421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */ 1423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferHalfCpltCallback = UART_DMATxHalfCplt; 1424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the DMA error callback */ 1426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferErrorCallback = UART_DMAError; 1427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the DMA abort callback */ 1429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART transmit DMA channel */ 1432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Start_IT(huart->hdmatx, (uint32_t)huart->pTxBuffPtr, (uint32_t)&huart->Instance-> 1433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set error code to DMA */ 1435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->gState to ready */ 1438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 1441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the TC flag in the ICR register */ 1444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_TCF); 1445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the DMA transfer for transmit request by setting the DMAT bit 1447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** in the UART CR3 register */ 1448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 1451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_BUSY; 1455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cciGf5I5.s page 27 1457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 1459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Receive an amount of data in DMA mode. 1460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note When the UART parity is enabled (PCE = 1), the received data contain 1461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the parity bit (MSB position). 1462: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- 1463: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 1464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * of u16 available through pData. 1465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 1466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 1468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 1469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 1470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 1471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 1473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) 1474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 1478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set Reception type to Standard reception */ 1481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance))) 1484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that USART RTOEN bit is set */ 1486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U) 1487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */ 1489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RTOIE); 1490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return (UART_Start_Receive_DMA(huart, pData, Size)); 1494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_BUSY; 1498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 1502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Pause the DMA Transfer. 1503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 1504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 1505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 1506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAPause(UART_HandleTypeDef *huart) 1507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; 1509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) && 1512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cciGf5I5.s page 28 1514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART DMA Tx request */ 1515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) && 1518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */ 1521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); 1522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART DMA Rx request */ 1525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 1529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 1532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Resume the DMA Transfer. 1533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 1534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 1535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 1536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAResume(UART_HandleTypeDef *huart) 1537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) 1539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART DMA Tx request */ 1541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX) 1544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the Overrun flag before resuming the Rx transfer */ 1546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF); 1547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Re-enable PE and ERR (Frame error, noise error, overrun error) interrupts */ 1549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE) 1550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE); 1552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE); 1554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART DMA Rx request */ 1556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 1560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 1563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Stop the DMA Transfer. 1564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 1565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 1566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 1567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAStop(UART_HandleTypeDef *huart) 1568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application 1570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** to call the HAL UART API under callbacks HAL_UART_TxCpltCallback() / HAL_UART_RxCpltCallback() ARM GAS /tmp/cciGf5I5.s page 29 1571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_TxHalfCpltCallback / HAL_UART_RxHalfCpltCallback: 1572: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 1573: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 1574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the stream and the corresponding call back is executed. */ 1575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; 1577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */ 1580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) && 1581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Tx channel */ 1586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmatx != NULL) 1587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK) 1589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT) 1591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set error code to DMA */ 1593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT; 1596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_EndTxTransfer(huart); 1601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */ 1604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) && 1605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Rx channel */ 1610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmarx != NULL) 1611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK) 1613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT) 1615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set error code to DMA */ 1617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT; 1620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 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 **** UART_EndRxTransfer(huart); 1625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; ARM GAS /tmp/cciGf5I5.s page 30 1628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 1631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Abort ongoing transfers (blocking mode). 1632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 1633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or 1634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This procedure performs following operations : 1635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx) 1636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) 1638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Set handle State to READY 1639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere 1640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 1641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 1642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort(UART_HandleTypeDef *huart) 1643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1644: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 1645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE | 1646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE | USART_CR1_TCIE)); 1647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE | USART_CR3_TXFTIE); 1648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */ 1650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 1651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE)); 1653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Tx channel if enabled */ 1656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 1657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */ 1659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use blocking DMA Abort API (no callback) */ 1662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmatx != NULL) 1663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null. 1665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** No call back execution at end of DMA abort procedure */ 1666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK) 1669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT) 1671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set error code to DMA */ 1673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT; 1676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 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 **** /* Abort the UART DMA Rx channel if enabled */ 1682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 1683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ ARM GAS /tmp/cciGf5I5.s page 31 1685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use blocking DMA Abort API (no callback) */ 1688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmarx != NULL) 1689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1690:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null. 1691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** No call back execution at end of DMA abort procedure */ 1692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 1693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK) 1695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT) 1697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set error code to DMA */ 1699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT; 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 **** 1707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */ 1708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U; 1709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 1710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 1712: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); 1713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Flush the whole TX FIFO (if needed) */ 1715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->FifoMode == UART_FIFOMODE_ENABLE) 1716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_TXDATA_FLUSH_REQUEST); 1718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Discard the received data */ 1721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 1722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */ 1724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 1731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 1734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (blocking mode). 1735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 1736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt 1737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This procedure performs following operations : 1738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable UART Interrupts (Tx) 1739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) 1741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Set handle State to READY ARM GAS /tmp/cciGf5I5.s page 32 1742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere 1743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 1744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 1745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit(UART_HandleTypeDef *huart) 1746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable TCIE, TXEIE and TXFTIE interrupts */ 1748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TCIE | USART_CR1_TXEIE_TXFNFIE)); 1749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 1750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Tx channel if enabled */ 1752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 1753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */ 1755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use blocking DMA Abort API (no callback) */ 1758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmatx != NULL) 1759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null. 1761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** No call back execution at end of DMA abort procedure */ 1762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK) 1765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT) 1767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set error code to DMA */ 1769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT; 1772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset Tx transfer counter */ 1778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U; 1779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Flush the whole TX FIFO (if needed) */ 1781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->FifoMode == UART_FIFOMODE_ENABLE) 1782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_TXDATA_FLUSH_REQUEST); 1784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->gState to Ready */ 1787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 1790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 1793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (blocking mode). 1794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 1795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt 1796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This procedure performs following operations : 1797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable UART Interrupts (Rx) 1798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) ARM GAS /tmp/cciGf5I5.s page 33 1799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) 1800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Set handle State to READY 1801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere 1802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 1803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 1804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive(UART_HandleTypeDef *huart) 1805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable PEIE, EIE, RXNEIE and RXFTIE interrupts */ 1807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_PEIE | USART_CR1_RXNEIE_RXFNEIE)); 1808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE); 1809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */ 1811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 1812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE)); 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 **** /* Abort the UART DMA Rx channel if enabled */ 1817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 1818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 1820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use blocking DMA Abort API (no callback) */ 1823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmarx != NULL) 1824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null. 1826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** No call back execution at end of DMA abort procedure */ 1827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 1828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK) 1830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT) 1832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set error code to DMA */ 1834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT; 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 **** } 1840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset Rx transfer counter */ 1843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 1844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 1846: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); 1847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Discard the received data */ 1849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 1850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->RxState to Ready */ 1852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; ARM GAS /tmp/cciGf5I5.s page 34 1856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 1859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Abort ongoing transfers (Interrupt mode). 1860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 1861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or 1862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This procedure performs following operations : 1863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx) 1864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1865: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) 1866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Set handle State to READY 1867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - At abort completion, call user abort complete callback 1868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be 1869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex 1870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 1871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 1872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort_IT(UART_HandleTypeDef *huart) 1873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t abortcplt = 1U; 1875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable interrupts */ 1877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_PEIE | USART_CR1_TCIE | USART_CR1_RXNEIE_RXFNEI 1878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 1879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE | USART_CR3_TXFTIE)); 1880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */ 1882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 1883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE)); 1885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1887: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 1888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** before any call to DMA Abort functions */ 1889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* DMA Tx Handle is valid */ 1890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmatx != NULL) 1891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Tx request if enabled. 1893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Otherwise, set it to NULL */ 1894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 1895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxAbortCallback; 1897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* DMA Rx Handle is valid */ 1904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmarx != NULL) 1905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Rx request if enabled. 1907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Otherwise, set it to NULL */ 1908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 1909:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxAbortCallback; 1911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else ARM GAS /tmp/cciGf5I5.s page 35 1913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 1915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Tx channel if enabled */ 1919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 1920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable DMA Tx at UART level */ 1922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */ 1925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmatx != NULL) 1926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART Tx DMA Abort callback has already been initialised : 1928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ 1929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort DMA TX */ 1931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK) 1932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** abortcplt = 0U; 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 **** } 1941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1942:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */ 1943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 1944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 1946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */ 1949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmarx != NULL) 1950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART Rx DMA Abort callback has already been initialised : 1952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ 1953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort DMA RX */ 1955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) 1956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 1958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** abortcplt = 1U; 1959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** abortcplt = 0U; 1963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* if no DMA abort complete callback execution is required => call user Abort Complete callback * 1968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (abortcplt == 1U) 1969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cciGf5I5.s page 36 1970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */ 1971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U; 1972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 1973:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1974:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear ISR function pointers */ 1975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL; 1976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL; 1977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset errorCode */ 1979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 1982: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 1983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Flush the whole TX FIFO (if needed) */ 1985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->FifoMode == UART_FIFOMODE_ENABLE) 1986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_TXDATA_FLUSH_REQUEST); 1988:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1989:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Discard the received data */ 1991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 1992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */ 1994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 1999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Abort complete callback */ 2001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortCpltCallback(huart); 2002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 2003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Abort complete callback */ 2004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart); 2005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 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 **** /** 2012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (Interrupt mode). 2013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt 2015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This procedure performs following operations : 2016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable UART Interrupts (Tx) 2017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 2018: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) 2019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Set handle State to READY 2020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - At abort completion, call user abort complete callback 2021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be 2022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex 2023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 2024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit_IT(UART_HandleTypeDef *huart) 2026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cciGf5I5.s page 37 2027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable interrupts */ 2028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TCIE | USART_CR1_TXEIE_TXFNFIE)); 2029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 2030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Tx channel if enabled */ 2032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 2033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */ 2035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 2036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */ 2038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmatx != NULL) 2039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA Abort callback : 2041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ 2042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxOnlyAbortCallback; 2043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort DMA TX */ 2045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK) 2046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call Directly huart->hdmatx->XferAbortCallback function in case of error */ 2048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback(huart->hdmatx); 2049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 2052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset Tx transfer counter */ 2054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U; 2055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear TxISR function pointers */ 2057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL; 2058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->gState to Ready */ 2060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 2063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */ 2065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart); 2066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 2067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */ 2068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart); 2069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 2073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset Tx transfer counter */ 2075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U; 2076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear TxISR function pointers */ 2078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL; 2079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Flush the whole TX FIFO (if needed) */ 2081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->FifoMode == UART_FIFOMODE_ENABLE) 2082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_TXDATA_FLUSH_REQUEST); ARM GAS /tmp/cciGf5I5.s page 38 2084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->gState to Ready */ 2087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 2090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */ 2092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart); 2093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 2094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */ 2095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart); 2096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 2100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (Interrupt mode). 2104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt 2106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This procedure performs following operations : 2107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable UART Interrupts (Rx) 2108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 2109: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) 2110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Set handle State to READY 2111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - At abort completion, call user abort complete callback 2112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be 2113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex 2114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 2115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive_IT(UART_HandleTypeDef *huart) 2117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 2119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_PEIE | USART_CR1_RXNEIE_RXFNEIE)); 2120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 2121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */ 2123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 2124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE)); 2126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */ 2129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 2130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 2132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 2133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */ 2135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmarx != NULL) 2136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA Abort callback : 2138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ 2139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxOnlyAbortCallback; 2140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cciGf5I5.s page 39 2141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort DMA RX */ 2142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) 2143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */ 2145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx); 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 **** else 2149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset Rx transfer counter */ 2151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 2152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear RxISR function pointer */ 2154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr = NULL; 2155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 2157: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 2158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Discard the received data */ 2160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 2161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->RxState to Ready */ 2163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 2167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */ 2169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart); 2170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 2171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */ 2172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart); 2173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 2177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset Rx transfer counter */ 2179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 2180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear RxISR function pointer */ 2182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr = NULL; 2183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 2185: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 2186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->RxState to Ready */ 2188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 2192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */ 2194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart); 2195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 2196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */ 2197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart); ARM GAS /tmp/cciGf5I5.s page 40 2198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 2202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Handle UART interrupt request. 2206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 2208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** void HAL_UART_IRQHandler(UART_HandleTypeDef *huart) 2210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR); 2212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 2213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3); 2214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t errorflags; 2216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t errorcode; 2217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If no error occurs */ 2219: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 | 2220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (errorflags == 0U) 2221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART in mode Receiver ---------------------------------------------------*/ 2223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_RXNE_RXFNE) != 0U) 2224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U) 2225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** || ((cr3its & USART_CR3_RXFTIE) != 0U))) 2226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxISR != NULL) 2228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR(huart); 2230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return; 2232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If some errors occur */ 2236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((errorflags != 0U) 2237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && ((((cr3its & (USART_CR3_RXFTIE | USART_CR3_EIE)) != 0U) 2238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U)))) 2239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART parity error interrupt occurred -------------------------------------*/ 2241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_PE) != 0U) && ((cr1its & USART_CR1_PEIE) != 0U)) 2242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_PEF); 2244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_PE; 2246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART frame error interrupt occurred --------------------------------------*/ 2249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_FE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U)) 2250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_FEF); 2252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_FE; 2254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cciGf5I5.s page 41 2255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART noise error interrupt occurred --------------------------------------*/ 2257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_NE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U)) 2258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_NEF); 2260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_NE; 2262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART Over-Run interrupt occurred -----------------------------------------*/ 2265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_ORE) != 0U) 2266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U) || 2267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ((cr3its & (USART_CR3_RXFTIE | USART_CR3_EIE)) != 0U))) 2268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF); 2270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_ORE; 2272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART Receiver Timeout interrupt occurred ---------------------------------*/ 2275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_RTOF) != 0U) && ((cr1its & USART_CR1_RTOIE) != 0U)) 2276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_RTOF); 2278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_RTO; 2280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call UART Error Call back function if need be ----------------------------*/ 2283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ErrorCode != HAL_UART_ERROR_NONE) 2284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART in mode Receiver --------------------------------------------------*/ 2286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_RXNE_RXFNE) != 0U) 2287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U) 2288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** || ((cr3its & USART_CR3_RXFTIE) != 0U))) 2289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxISR != NULL) 2291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR(huart); 2293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If Error is to be considered as blocking : 2297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - Receiver Timeout error in Reception 2298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - Overrun error in Reception 2299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - any error occurs in DMA mode reception 2300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** errorcode = huart->ErrorCode; 2302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) || 2303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 2304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Blocking error : transfer is aborted 2306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Set the UART state ready to be able to start again the process, 2307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Disable Rx Interrupts, and disable Rx DMA request, if ongoing */ 2308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_EndRxTransfer(huart); 2309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */ 2311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) ARM GAS /tmp/cciGf5I5.s page 42 2312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 2314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 2315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Rx channel */ 2317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmarx != NULL) 2318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA Abort callback : 2320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** will lead to call HAL_UART_ErrorCallback() at end of DMA abort procedure */ 2321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMAAbortOnError; 2322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort DMA RX */ 2324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) 2325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */ 2327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx); 2328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 2331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call user error callback */ 2333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered error callback*/ 2335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCallback(huart); 2336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 2337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak error callback*/ 2338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 2339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 2344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call user error callback */ 2346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered error callback*/ 2348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCallback(huart); 2349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 2350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak error callback*/ 2351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 2352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 2356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Non Blocking error : transfer could go on. 2358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Error is notified to user through user error callback */ 2359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered error callback*/ 2361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCallback(huart); 2362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 2363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak error callback*/ 2364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 2365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 2367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cciGf5I5.s page 43 2369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return; 2370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } /* End if some error occurs */ 2372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check current reception Mode : 2374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** If Reception till IDLE event has been selected : */ 2375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 2376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U) 2377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && ((cr1its & USART_ISR_IDLE) != 0U)) 2378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF); 2380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check if DMA mode is enabled in UART */ 2382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 2383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* DMA mode enabled */ 2385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check received length : If all expected data are received, do nothing, 2386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (DMA cplt callback will be called). 2387: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 2388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t nb_remaining_rx_data = (uint16_t) __HAL_DMA_GET_COUNTER(huart->hdmarx); 2389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U) 2390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize)) 2391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reception is not complete */ 2393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = nb_remaining_rx_data; 2394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* In Normal mode, end DMA xfer and HAL UART Rx process*/ 2396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_CLR(huart->hdmarx->Instance->CCR, DMA_CCR_CIRC)) 2397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */ 2399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); 2400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by resetting the DMAR bit 2403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** in the UART CR3 register */ 2404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 2405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 2407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 2411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Last bytes received, so no need as the abort is immediate */ 2413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (void)HAL_DMA_Abort(huart->hdmarx); 2414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution; 2417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** In this case, Rx Event type is Idle Event */ 2418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_IDLE; 2419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx Event callback*/ 2422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount)); 2423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 2424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 2425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount)); ARM GAS /tmp/cciGf5I5.s page 44 2426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 2427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 2429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If DMA is in Circular mode, Idle event is to be reported to user 2431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** even if occurring after a Transfer Complete event from DMA */ 2432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (nb_remaining_rx_data == huart->RxXferSize) 2433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->hdmarx->Instance->CCR, DMA_CCR_CIRC)) 2435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution; 2437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** In this case, Rx Event type is Idle Event */ 2438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_IDLE; 2439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx Event callback*/ 2442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize); 2443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 2444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 2445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize); 2446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 2447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return; 2451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 2453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* DMA mode not enabled */ 2455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check received length : If all expected data are received, do nothing. 2456: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 2457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t nb_rx_data = huart->RxXferSize - huart->RxXferCount; 2458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 2459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (nb_rx_data > 0U)) 2460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupts */ 2462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE)); 2463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Error Interrupt:(Frame error, noise error, overrun error) and RX FIFO T 2465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 2466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */ 2468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear RxISR function pointer */ 2472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL; 2473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 2475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution; 2477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** In this case, Rx Event type is Idle Event */ 2478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_IDLE; 2479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx complete callback*/ 2482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback(huart, nb_rx_data); ARM GAS /tmp/cciGf5I5.s page 45 2483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 2484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 2485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, nb_rx_data); 2486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 2487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return; 2489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART wakeup from Stop mode interrupt occurred ---------------------------*/ 2493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_WUF) != 0U) && ((cr3its & USART_CR3_WUFIE) != 0U)) 2494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_WUF); 2496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART Rx state is not reset as a reception process might be ongoing. 2498: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 2499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Wakeup Callback */ 2502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->WakeupCallback(huart); 2503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 2504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Wakeup Callback */ 2505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_WakeupCallback(huart); 2506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return; 2508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART in mode Transmitter ------------------------------------------------*/ 2511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_TXE_TXFNF) != 0U) 2512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (((cr1its & USART_CR1_TXEIE_TXFNFIE) != 0U) 2513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** || ((cr3its & USART_CR3_TXFTIE) != 0U))) 2514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->TxISR != NULL) 2516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR(huart); 2518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return; 2520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART in mode Transmitter (transmission end) -----------------------------*/ 2523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_TC) != 0U) && ((cr1its & USART_CR1_TCIE) != 0U)) 2524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_EndTransmit_IT(huart); 2526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return; 2527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART TX Fifo Empty occurred ----------------------------------------------*/ 2530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_TXFE) != 0U) && ((cr1its & USART_CR1_TXFEIE) != 0U)) 2531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Tx Fifo Empty Callback */ 2534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxFifoEmptyCallback(huart); 2535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 2536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Tx Fifo Empty Callback */ 2537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_TxFifoEmptyCallback(huart); 2538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return; ARM GAS /tmp/cciGf5I5.s page 46 2540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART RX Fifo Full occurred ----------------------------------------------*/ 2543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_RXFF) != 0U) && ((cr1its & USART_CR1_RXFFIE) != 0U)) 2544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Rx Fifo Full Callback */ 2547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxFifoFullCallback(huart); 2548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 2549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Rx Fifo Full Callback */ 2550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_RxFifoFullCallback(huart); 2551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return; 2553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 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 **** * @brief Tx Transfer completed callback. 2558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 2560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart) 2562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart); 2565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UART_TxCpltCallback can be implemented in the user file. 2568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 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 **** * @brief Tx Half Transfer completed callback. 2573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 2575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart) 2577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart); 2580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed, 2582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UART_TxHalfCpltCallback can be implemented in the user file. 2583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 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 **** * @brief Rx Transfer completed callback. 2588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 2590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) 2592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart); 2595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, ARM GAS /tmp/cciGf5I5.s page 47 2597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UART_RxCpltCallback can be implemented in the user file. 2598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 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 **** * @brief Rx Half Transfer completed callback. 2603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 2605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart) 2607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart); 2610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed, 2612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UART_RxHalfCpltCallback can be implemented in the user file. 2613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 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 **** * @brief UART error callback. 2618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 2620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart) 2622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart); 2625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UART_ErrorCallback can be implemented in the user file. 2628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 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 **** * @brief UART Abort Complete callback. 2633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 2635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_AbortCpltCallback(UART_HandleTypeDef *huart) 2637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart); 2640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UART_AbortCpltCallback can be implemented in the user file. 2643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 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 **** * @brief UART Abort Complete callback. 2648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 2650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_AbortTransmitCpltCallback(UART_HandleTypeDef *huart) 2652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ ARM GAS /tmp/cciGf5I5.s page 48 2654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart); 2655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UART_AbortTransmitCpltCallback can be implemented in the user file. 2658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 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 **** * @brief UART Abort Receive Complete callback. 2663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 2665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_AbortReceiveCpltCallback(UART_HandleTypeDef *huart) 2667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart); 2670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UART_AbortReceiveCpltCallback can be implemented in the user file. 2673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Reception Event Callback (Rx event notification called after use of advanced reception 2678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle 2679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Size Number of data available in application reception buffer (indicates a position in 2680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * reception buffer until which, data are available) 2681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 2682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size) 2684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart); 2687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(Size); 2688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2690:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UARTEx_RxEventCallback can be implemented in the user file. 2691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @} 2696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group3 Peripheral Control functions 2699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief UART control functions 2700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * 2701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @verbatim 2702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** =============================================================================== 2703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ##### Peripheral Control functions ##### 2704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** =============================================================================== 2705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** [..] 2706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** This subsection provides a set of functions allowing to control the UART. 2707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_ReceiverTimeout_Config() API allows to configure the receiver timeout value on th 2708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_EnableReceiverTimeout() API enables the receiver timeout feature 2709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_DisableReceiverTimeout() API disables the receiver timeout feature 2710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_MultiProcessor_EnableMuteMode() API enables mute mode ARM GAS /tmp/cciGf5I5.s page 49 2711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_MultiProcessor_DisableMuteMode() API disables mute mode 2712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_MultiProcessor_EnterMuteMode() API enters mute mode 2713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) UART_SetConfig() API configures the UART peripheral 2714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) UART_AdvFeatureConfig() API optionally configures the UART advanced features 2715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) UART_CheckIdleState() API ensures that TEACK and/or REACK are set after initialization 2716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableTransmitter() API disables receiver and enables transmitter 2717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableReceiver() API disables transmitter and enables receiver 2718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_LIN_SendBreak() API transmits the break characters 2719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @endverbatim 2720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @{ 2721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Update on the fly the receiver timeout value in RTOR register. 2725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the configuration information for the specified UART module. 2727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param TimeoutValue receiver timeout value in number of baud blocks. The timeout 2728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * value must be less or equal to 0x0FFFFFFFF. 2729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 2730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** void HAL_UART_ReceiverTimeout_Config(UART_HandleTypeDef *huart, uint32_t TimeoutValue) 2732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance))) 2734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_RECEIVER_TIMEOUT_VALUE(TimeoutValue)); 2736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->RTOR, USART_RTOR_RTO, TimeoutValue); 2737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Enable the UART receiver timeout feature. 2742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the configuration information for the specified UART module. 2744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 2745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_EnableReceiverTimeout(UART_HandleTypeDef *huart) 2747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance))) 2749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 2751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Process Locked */ 2753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 2754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the USART RTOEN bit */ 2758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, USART_CR2_RTOEN); 2759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Process Unlocked */ 2763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 2764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 2766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else ARM GAS /tmp/cciGf5I5.s page 50 2768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_BUSY; 2770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 2773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 2775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Disable the UART receiver timeout feature. 2780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the configuration information for the specified UART module. 2782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 2783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DisableReceiverTimeout(UART_HandleTypeDef *huart) 2785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance))) 2787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 2789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Process Locked */ 2791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 2792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the USART RTOEN bit */ 2796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_RTOEN); 2797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Process Unlocked */ 2801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 2802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 2804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 2806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_BUSY; 2808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 2811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 2813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Enable UART in mute mode (does not mean UART enters mute mode; 2818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * to enter mute mode, HAL_MultiProcessor_EnterMuteMode() API must be called). 2819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 2821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_EnableMuteMode(UART_HandleTypeDef *huart) 2823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); ARM GAS /tmp/cciGf5I5.s page 51 2825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable USART mute mode by setting the MME bit in the CR1 register */ 2829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_MME); 2830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 2834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Disable UART mute mode (does not mean the UART actually exits mute mode 2838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * as it may not have been in mute mode at this very moment). 2839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 2841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_DisableMuteMode(UART_HandleTypeDef *huart) 2843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 2845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable USART mute mode by clearing the MME bit in the CR1 register */ 2849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_MME); 2850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 2854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Enter UART mute mode (means UART actually enters mute mode). 2858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note To exit from mute mode, HAL_MultiProcessor_DisableMuteMode() API must be called. 2859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 2861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** void HAL_MultiProcessor_EnterMuteMode(UART_HandleTypeDef *huart) 2863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_MUTE_MODE_REQUEST); 2865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Enable the UART transmitter and disable the UART receiver. 2869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 2871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableTransmitter(UART_HandleTypeDef *huart) 2873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 2875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear TE and RE bits */ 2878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TE | USART_CR1_RE)); 2879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2880: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 */ 2881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TE); ARM GAS /tmp/cciGf5I5.s page 52 2882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 2886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 2888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Enable the UART receiver and disable the UART transmitter. 2892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status. 2894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableReceiver(UART_HandleTypeDef *huart) 2896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 2898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear TE and RE bits */ 2901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TE | USART_CR1_RE)); 2902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2903: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 */ 2904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RE); 2905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 2909:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 2911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Transmit break characters. 2916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 2918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_SendBreak(UART_HandleTypeDef *huart) 2920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the parameters */ 2922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_LIN_INSTANCE(huart->Instance)); 2923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 2925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Send break characters */ 2929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_SENDBREAK_REQUEST); 2930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 2934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 2936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2938:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** ARM GAS /tmp/cciGf5I5.s page 53 2939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @} 2940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2942:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group4 Peripheral State and Error functions 2943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief UART Peripheral State functions 2944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * 2945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @verbatim 2946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ============================================================================== 2947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ##### Peripheral State and Error functions ##### 2948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ============================================================================== 2949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** [..] 2950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** This subsection provides functions allowing to : 2951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) Return the UART handle state. 2952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) Return the UART handle error code 2953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @endverbatim 2955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @{ 2956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Return the UART handle state. 2960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the configuration information for the specified UART. 2962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL state 2963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_StateTypeDef HAL_UART_GetState(const UART_HandleTypeDef *huart) 2965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t temp1; 2967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t temp2; 2968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** temp1 = huart->gState; 2969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** temp2 = huart->RxState; 2970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return (HAL_UART_StateTypeDef)(temp1 | temp2); 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 **** * @brief Return the UART handle error code. 2976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the configuration information for the specified UART. 2978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval UART Error Code 2979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t HAL_UART_GetError(const UART_HandleTypeDef *huart) 2981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return huart->ErrorCode; 2983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @} 2986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2988:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2989:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @} 2990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** @defgroup UART_Private_Functions UART Private Functions 2993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @{ 2994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cciGf5I5.s page 54 2996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Initialize the callbacks to their default values. 2998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval none 3000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** void UART_InitCallbacksToDefault(UART_HandleTypeDef *huart) 3003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Init the UART Callback settings */ 3005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHalfCpltC 3006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpltCallb 3007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHalfCpltC 3008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpltCallb 3009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak ErrorCallba 3010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak AbortCpltCa 3011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak AbortTransm 3012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak AbortReceiv 3013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->WakeupCallback = HAL_UARTEx_WakeupCallback; /* Legacy weak WakeupCallb 3014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxFifoFullCallback = HAL_UARTEx_RxFifoFullCallback; /* Legacy weak RxFifoFullC 3015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxFifoEmptyCallback = HAL_UARTEx_TxFifoEmptyCallback; /* Legacy weak TxFifoEmpty 3016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback = HAL_UARTEx_RxEventCallback; /* Legacy weak RxEventCall 3017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Configure the UART peripheral. 3023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 3024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 3025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef UART_SetConfig(UART_HandleTypeDef *huart) 3027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t tmpreg; 3029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t brrtemp; 3030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_ClockSourceTypeDef clocksource; 3031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t usartdiv; 3032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef ret = HAL_OK; 3033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t lpuart_ker_ck_pres; 3034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t pclk; 3035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the parameters */ 3037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_BAUDRATE(huart->Init.BaudRate)); 3038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength)); 3039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_INSTANCE_LOWPOWER(huart)) 3040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_LPUART_STOPBITS(huart->Init.StopBits)); 3042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 3044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_STOPBITS(huart->Init.StopBits)); 3046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_ONE_BIT_SAMPLE(huart->Init.OneBitSampling)); 3047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_PARITY(huart->Init.Parity)); 3050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode)); 3051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl)); 3052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling)); ARM GAS /tmp/cciGf5I5.s page 55 3053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_PRESCALER(huart->Init.ClockPrescaler)); 3054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*-------------------------- USART CR1 Configuration -----------------------*/ 3056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear M, PCE, PS, TE, RE and OVER8 bits and configure 3057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the UART Word Length, Parity, Mode and oversampling: 3058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * set the M bits according to huart->Init.WordLength value 3059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * set PCE and PS bits according to huart->Init.Parity value 3060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * set TE and RE bits according to huart->Init.Mode value 3061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * set OVER8 bit according to huart->Init.OverSampling value */ 3062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.WordLength | huart->Init.Parity | huart->Init.Mode | huart->Init.O 3063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 3064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*-------------------------- USART CR2 Configuration -----------------------*/ 3066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Configure the UART Stop Bits: Set STOP[13:12] bits according 3067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * to huart->Init.StopBits value */ 3068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_STOP, huart->Init.StopBits); 3069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*-------------------------- USART CR3 Configuration -----------------------*/ 3071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Configure 3072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - UART HardWare Flow Control: set CTSE and RTSE bits according 3073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * to huart->Init.HwFlowCtl value 3074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - one-bit sampling method versus three samples' majority rule according 3075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * to huart->Init.OneBitSampling (not applicable to LPUART) */ 3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.HwFlowCtl; 3077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(UART_INSTANCE_LOWPOWER(huart))) 3079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tmpreg |= huart->Init.OneBitSampling; 3081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg); 3083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*-------------------------- USART PRESC Configuration -----------------------*/ 3085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Configure 3086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - UART Clock Prescaler : set PRESCALER according to huart->Init.ClockPrescaler value */ 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->PRESC, USART_PRESC_PRESCALER, huart->Init.ClockPrescaler); 3088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*-------------------------- USART BRR Configuration -----------------------*/ 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_GETCLOCKSOURCE(huart, clocksource); 3091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check LPUART instance */ 3093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_INSTANCE_LOWPOWER(huart)) 3094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Retrieve frequency clock */ 3096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** switch (clocksource) 3097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK1: 3099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq(); 3100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 3101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 3102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = (uint32_t) HSI_VALUE; 3103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 3104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_SYSCLK: 3105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = HAL_RCC_GetSysClockFreq(); 3106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 3107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE: 3108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = (uint32_t) LSE_VALUE; 3109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; ARM GAS /tmp/cciGf5I5.s page 56 3110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** default: 3111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = 0U; 3112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ret = HAL_ERROR; 3113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 3114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If proper clock source reported */ 3117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (pclk != 0U) 3118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Compute clock after Prescaler */ 3120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** lpuart_ker_ck_pres = (pclk / UARTPrescTable[huart->Init.ClockPrescaler]); 3121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Ensure that Frequency clock is in the range [3 * baudrate, 4096 * baudrate] */ 3123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((lpuart_ker_ck_pres < (3U * huart->Init.BaudRate)) || 3124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate))) 3125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ret = HAL_ERROR; 3127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 3129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check computed UsartDiv value is in allocated range 3131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (it is forbidden to write values lower than 0x300 in the LPUART_BRR register) */ 3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** usartdiv = (uint32_t)(UART_DIV_LPUART(pclk, huart->Init.BaudRate, huart->Init.ClockPrescale 3133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= LPUART_BRR_MIN) && (usartdiv <= LPUART_BRR_MAX)) 3134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->BRR = usartdiv; 3136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 3138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ret = HAL_ERROR; 3140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } /* if ( (lpuart_ker_ck_pres < (3 * huart->Init.BaudRate) ) || 3142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096 * huart->Init.BaudRate) )) */ 3143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } /* if (pclk != 0) */ 3144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check UART Over Sampling to set Baud Rate Register */ 3146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else if (huart->Init.OverSampling == UART_OVERSAMPLING_8) 3147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** switch (clocksource) 3149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK1: 3151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq(); 3152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 3153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2: 3154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq(); 3155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 3156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 3157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = (uint32_t) HSI_VALUE; 3158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 3159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_SYSCLK: 3160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = HAL_RCC_GetSysClockFreq(); 3161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 3162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE: 3163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = (uint32_t) LSE_VALUE; 3164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 3165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** default: 3166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = 0U; ARM GAS /tmp/cciGf5I5.s page 57 3167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ret = HAL_ERROR; 3168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 3169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* USARTDIV must be greater than or equal to 0d16 */ 3172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (pclk != 0U) 3173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** usartdiv = (uint32_t)(UART_DIV_SAMPLING8(pclk, huart->Init.BaudRate, huart->Init.ClockPrescal 3175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 3176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** brrtemp = (uint16_t)(usartdiv & 0xFFF0U); 3178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U); 3179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->BRR = brrtemp; 3180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 3182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ret = HAL_ERROR; 3184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 3188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** switch (clocksource) 3190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK1: 3192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq(); 3193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 3194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2: 3195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq(); 3196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 3197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 3198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = (uint32_t) HSI_VALUE; 3199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 3200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_SYSCLK: 3201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = HAL_RCC_GetSysClockFreq(); 3202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 3203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE: 3204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = (uint32_t) LSE_VALUE; 3205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 3206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** default: 3207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = 0U; 3208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ret = HAL_ERROR; 3209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 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 **** if (pclk != 0U) 3213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* USARTDIV must be greater than or equal to 0d16 */ 3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** usartdiv = (uint32_t)(UART_DIV_SAMPLING16(pclk, huart->Init.BaudRate, huart->Init.ClockPresca 3216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 3217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->BRR = (uint16_t)usartdiv; 3219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 3221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ret = HAL_ERROR; 3223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cciGf5I5.s page 58 3224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Initialize the number of data to process during RX/TX ISR execution */ 3228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->NbTxDataToProcess = 1; 3229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->NbRxDataToProcess = 1; 3230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear ISR function pointers */ 3232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL; 3233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL; 3234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return ret; 3236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Configure the UART peripheral advanced features. 3240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 3241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 3242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** void UART_AdvFeatureConfig(UART_HandleTypeDef *huart) 3244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check whether the set of advanced features to configure is properly set */ 3246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_INIT(huart->AdvancedInit.AdvFeatureInit)); 3247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* if required, configure RX/TX pins swap */ 3249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_SWAP_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_SWAP(huart->AdvancedInit.Swap)); 3252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_SWAP, huart->AdvancedInit.Swap); 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 TX pin active level inversion */ 3256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_TXINVERT_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_TXINV(huart->AdvancedInit.TxPinLevelInvert)); 3259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_TXINV, huart->AdvancedInit.TxPinLevelInvert); 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 pin active level inversion */ 3263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXINVERT_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_ADVFEATURE_RXINV(huart->AdvancedInit.RxPinLevelInvert)); 3266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_RXINV, huart->AdvancedInit.RxPinLevelInvert); 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 data inversion */ 3270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DATAINVERT_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_DATAINV(huart->AdvancedInit.DataInvert)); 3273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_DATAINV, huart->AdvancedInit.DataInvert); 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 RX overrun detection disabling */ 3277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXOVERRUNDISABLE_INIT)) 3278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_OVERRUN(huart->AdvancedInit.OverrunDisable)); 3280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_OVRDIS, huart->AdvancedInit.OverrunDisable); ARM GAS /tmp/cciGf5I5.s page 59 3281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* if required, configure DMA disabling on reception error */ 3284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DMADISABLEONERROR_INIT)) 3285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_DMAONRXERROR(huart->AdvancedInit.DMADisableonRxError)); 3287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_DDRE, huart->AdvancedInit.DMADisableonRxError); 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 auto Baud rate detection scheme */ 3291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_AUTOBAUDRATE_INIT)) 3292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_USART_AUTOBAUDRATE_DETECTION_INSTANCE(huart->Instance)); 3294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATE(huart->AdvancedInit.AutoBaudRateEnable)); 3295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABREN, huart->AdvancedInit.AutoBaudRateEnable); 3296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* set auto Baudrate detection parameters if detection is enabled */ 3297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->AdvancedInit.AutoBaudRateEnable == UART_ADVFEATURE_AUTOBAUDRATE_ENABLE) 3298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATEMODE(huart->AdvancedInit.AutoBaudRateMode)); 3300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABRMODE, huart->AdvancedInit.AutoBaudRateMode); 3301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* if required, configure MSB first on communication line */ 3305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_MSBFIRST_INIT)) 3306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_MSBFIRST(huart->AdvancedInit.MSBFirst)); 3308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_MSBFIRST, huart->AdvancedInit.MSBFirst); 3309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Check the UART Idle State. 3314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 3315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 3316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef UART_CheckIdleState(UART_HandleTypeDef *huart) 3318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t tickstart; 3320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Initialize the UART ErrorCode */ 3322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Init tickstart for timeout management */ 3325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tickstart = HAL_GetTick(); 3326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check if the Transmitter is enabled */ 3328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->Instance->CR1 & USART_CR1_TE) == USART_CR1_TE) 3329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Wait until TEACK flag is set */ 3331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_TEACK, RESET, tickstart, HAL_UART_TIMEOUT_VALU 3332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable TXE interrupt for the interrupt process */ 3334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE_TXFNFIE)); 3335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 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 **** ARM GAS /tmp/cciGf5I5.s page 60 3338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 3339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Timeout occurred */ 3341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT; 3342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 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 **** /* Check if the Receiver is enabled */ 3346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->Instance->CR1 & USART_CR1_RE) == USART_CR1_RE) 3347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Wait until REACK flag is set */ 3349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_REACK, RESET, tickstart, HAL_UART_TIMEOUT_VALU 3350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) 3352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** interrupts for the interrupt process */ 3353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE)); 3354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 3359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Timeout occurred */ 3361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT; 3362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Initialize the UART State */ 3366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 3370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 3372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 3374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief This function handles UART Communication Timeout. It waits 3378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * until a flag is no longer in the specified status. 3379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 3380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Flag Specifies the UART flag to check 3381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Status The actual Flag status (SET or RESET) 3382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Tickstart Tick start value 3383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Timeout Timeout duration 3384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 3385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, FlagStatus 3387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t Tickstart, uint32_t Timeout) 3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Wait until flag is set */ 3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** while ((__HAL_UART_GET_FLAG(huart, Flag) ? SET : RESET) == Status) 3391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check for the Timeout */ 3393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (Timeout != HAL_MAX_DELAY) 3394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cciGf5I5.s page 61 3395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U)) 3396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT; 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 **** if ((READ_BIT(huart->Instance->CR1, USART_CR1_RE) != 0U) && (Flag != UART_FLAG_TXE) && (Flag 3402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_ORE) == SET) 3404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear Overrun Error flag*/ 3406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF); 3407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Blocking error : transfer is aborted 3409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Set the UART state ready to be able to start again the process, 3410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Disable Rx Interrupts if ongoing */ 3411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_EndRxTransfer(huart); 3412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_ORE; 3414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Process Unlocked */ 3416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 3417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 3419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_RTOF) == SET) 3421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear Receiver Timeout flag*/ 3423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_RTOF); 3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Blocking error : transfer is aborted 3426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Set the UART state ready to be able to start again the process, 3427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Disable Rx Interrupts if ongoing */ 3428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_EndRxTransfer(huart); 3429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_RTO; 3431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Process Unlocked */ 3433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 3434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT; 3436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 3441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Start Receive operation in interrupt mode. 3445: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 3446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note When calling this function, parameters validity is considered as already checked, 3447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * i.e. Rx State, buffer address, ... 3448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * UART Handle is assumed as Locked. 3449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 3450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 3451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. ARM GAS /tmp/cciGf5I5.s page 62 3452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 3453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef UART_Start_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 3455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr = pData; 3457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferSize = Size; 3458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = Size; 3459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL; 3460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Computation of UART mask to apply to RDR register */ 3462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_MASK_COMPUTATION(huart); 3463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 3466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 3468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE); 3469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Configure Rx interrupt processing */ 3471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->FifoMode == UART_FIFOMODE_ENABLE) && (Size >= huart->NbRxDataToProcess)) 3472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the Rx ISR function pointer according to the data word length */ 3474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 3475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = UART_RxISR_16BIT_FIFOEN; 3477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 3479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = UART_RxISR_8BIT_FIFOEN; 3481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Parity Error interrupt and RX FIFO Threshold interrupt */ 3484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE) 3485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE); 3487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_RXFTIE); 3489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 3491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the Rx ISR function pointer according to the data word length */ 3493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 3494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = UART_RxISR_16BIT; 3496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 3498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = UART_RxISR_8BIT; 3500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Parity Error interrupt and Data Register Not Empty interrupt */ 3503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE) 3504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE | USART_CR1_RXNEIE_RXFNEIE); 3506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 3508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cciGf5I5.s page 63 3509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RXNEIE_RXFNEIE); 3510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 3513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Start Receive operation in DMA mode. 3517: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. 3518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note When calling this function, parameters validity is considered as already checked, 3519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * i.e. Rx State, buffer address, ... 3520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * UART Handle is assumed as Locked. 3521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 3522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 3523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 3524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 3525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef UART_Start_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 3527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr = pData; 3529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferSize = Size; 3530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 3533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmarx != NULL) 3535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */ 3537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferCpltCallback = UART_DMAReceiveCplt; 3538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */ 3540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferHalfCpltCallback = UART_DMARxHalfCplt; 3541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the DMA error callback */ 3543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferErrorCallback = UART_DMAError; 3544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the DMA abort callback */ 3546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 3547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the DMA channel */ 3549: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 3550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set error code to DMA */ 3552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 3553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->RxState to ready */ 3555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 3558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Parity Error Interrupt */ 3562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE) 3563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE); 3565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cciGf5I5.s page 64 3566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 3568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE); 3569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the DMA transfer for the receiver request by setting the DMAR bit 3571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** in the UART CR3 register */ 3572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAR); 3573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 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 **** 3578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief End ongoing Tx transfer on UART peripheral (following error detection or Transmit compl 3580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 3581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 3582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart) 3584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 28 .loc 1 3584 1 view -0 29 .cfi_startproc 30 @ args = 0, pretend = 0, frame = 0 31 @ frame_needed = 0, uses_anonymous_args = 0 32 @ link register save eliminated. 33 .LVL0: 34 .L2: 3585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable TXEIE, TCIE, TXFT interrupts */ 3586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE_TXFNFIE | USART_CR1_TCIE)); 35 .loc 1 3586 3 discriminator 1 view .LVU1 36 .LBB524: 37 .loc 1 3586 3 discriminator 1 view .LVU2 38 .loc 1 3586 3 discriminator 1 view .LVU3 39 .loc 1 3586 3 discriminator 1 view .LVU4 40 0000 0268 ldr r2, [r0] 41 .LVL1: 42 .LBB525: 43 .LBI525: 44 .file 2 "Drivers/CMSIS/Include/cmsis_gcc.h" 1:Drivers/CMSIS/Include/cmsis_gcc.h **** /**************************************************************************//** 2:Drivers/CMSIS/Include/cmsis_gcc.h **** * @file cmsis_gcc.h 3:Drivers/CMSIS/Include/cmsis_gcc.h **** * @brief CMSIS compiler GCC header file 4:Drivers/CMSIS/Include/cmsis_gcc.h **** * @version V5.2.0 5:Drivers/CMSIS/Include/cmsis_gcc.h **** * @date 08. May 2019 6:Drivers/CMSIS/Include/cmsis_gcc.h **** ******************************************************************************/ 7:Drivers/CMSIS/Include/cmsis_gcc.h **** /* 8:Drivers/CMSIS/Include/cmsis_gcc.h **** * Copyright (c) 2009-2019 Arm Limited. All rights reserved. 9:Drivers/CMSIS/Include/cmsis_gcc.h **** * 10:Drivers/CMSIS/Include/cmsis_gcc.h **** * SPDX-License-Identifier: Apache-2.0 11:Drivers/CMSIS/Include/cmsis_gcc.h **** * 12:Drivers/CMSIS/Include/cmsis_gcc.h **** * Licensed under the Apache License, Version 2.0 (the License); you may 13:Drivers/CMSIS/Include/cmsis_gcc.h **** * not use this file except in compliance with the License. 14:Drivers/CMSIS/Include/cmsis_gcc.h **** * You may obtain a copy of the License at 15:Drivers/CMSIS/Include/cmsis_gcc.h **** * 16:Drivers/CMSIS/Include/cmsis_gcc.h **** * www.apache.org/licenses/LICENSE-2.0 17:Drivers/CMSIS/Include/cmsis_gcc.h **** * 18:Drivers/CMSIS/Include/cmsis_gcc.h **** * Unless required by applicable law or agreed to in writing, software 19:Drivers/CMSIS/Include/cmsis_gcc.h **** * distributed under the License is distributed on an AS IS BASIS, WITHOUT ARM GAS /tmp/cciGf5I5.s page 65 20:Drivers/CMSIS/Include/cmsis_gcc.h **** * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 21:Drivers/CMSIS/Include/cmsis_gcc.h **** * See the License for the specific language governing permissions and 22:Drivers/CMSIS/Include/cmsis_gcc.h **** * limitations under the License. 23:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 24:Drivers/CMSIS/Include/cmsis_gcc.h **** 25:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __CMSIS_GCC_H 26:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_H 27:Drivers/CMSIS/Include/cmsis_gcc.h **** 28:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ignore some GCC warnings */ 29:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 30:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wsign-conversion" 31:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wconversion" 32:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wunused-parameter" 33:Drivers/CMSIS/Include/cmsis_gcc.h **** 34:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Fallback for __has_builtin */ 35:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __has_builtin 36:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __has_builtin(x) (0) 37:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 38:Drivers/CMSIS/Include/cmsis_gcc.h **** 39:Drivers/CMSIS/Include/cmsis_gcc.h **** /* CMSIS compiler specific defines */ 40:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ASM 41:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ASM __asm 42:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 43:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __INLINE 44:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __INLINE inline 45:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 46:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_INLINE 47:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_INLINE static inline 48:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 49:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_FORCEINLINE 50:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline 51:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 52:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __NO_RETURN 53:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NO_RETURN __attribute__((__noreturn__)) 54:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 55:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __USED 56:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __USED __attribute__((used)) 57:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 58:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __WEAK 59:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WEAK __attribute__((weak)) 60:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 61:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED 62:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED __attribute__((packed, aligned(1))) 63:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 64:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_STRUCT 65:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_STRUCT struct __attribute__((packed, aligned(1))) 66:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 67:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_UNION 68:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_UNION union __attribute__((packed, aligned(1))) 69:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 70:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32 /* deprecated */ 71:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 72:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 73:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" 74:Drivers/CMSIS/Include/cmsis_gcc.h **** struct __attribute__((packed)) T_UINT32 { uint32_t v; }; 75:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 76:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v) ARM GAS /tmp/cciGf5I5.s page 66 77:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 78:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_WRITE 79:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 80:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 81:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" 82:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }; 83:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 84:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))- 85:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 86:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_READ 87:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 88:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 89:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" 90:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_READ { uint16_t v; }; 91:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 92:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(add 93:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 94:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_WRITE 95:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 96:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 97:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" 98:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }; 99:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 100:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))- 101:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 102:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_READ 103:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 104:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 105:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" 106:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_READ { uint32_t v; }; 107:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 108:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(add 109:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 110:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ALIGNED 111:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ALIGNED(x) __attribute__((aligned(x))) 112:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 113:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __RESTRICT 114:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __RESTRICT __restrict 115:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 116:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __COMPILER_BARRIER 117:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __COMPILER_BARRIER() __ASM volatile("":::"memory") 118:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 119:Drivers/CMSIS/Include/cmsis_gcc.h **** 120:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ######################### Startup and Lowlevel Init ######################## */ 121:Drivers/CMSIS/Include/cmsis_gcc.h **** 122:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PROGRAM_START 123:Drivers/CMSIS/Include/cmsis_gcc.h **** 124:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 125:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Initializes data and bss sections 126:Drivers/CMSIS/Include/cmsis_gcc.h **** \details This default implementations initialized all data and additional bss 127:Drivers/CMSIS/Include/cmsis_gcc.h **** sections relying on .copy.table and .zero.table specified properly 128:Drivers/CMSIS/Include/cmsis_gcc.h **** in the used linker script. 129:Drivers/CMSIS/Include/cmsis_gcc.h **** 130:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 131:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE __NO_RETURN void __cmsis_start(void) 132:Drivers/CMSIS/Include/cmsis_gcc.h **** { 133:Drivers/CMSIS/Include/cmsis_gcc.h **** extern void _start(void) __NO_RETURN; ARM GAS /tmp/cciGf5I5.s page 67 134:Drivers/CMSIS/Include/cmsis_gcc.h **** 135:Drivers/CMSIS/Include/cmsis_gcc.h **** typedef struct { 136:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t const* src; 137:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t* dest; 138:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t wlen; 139:Drivers/CMSIS/Include/cmsis_gcc.h **** } __copy_table_t; 140:Drivers/CMSIS/Include/cmsis_gcc.h **** 141:Drivers/CMSIS/Include/cmsis_gcc.h **** typedef struct { 142:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t* dest; 143:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t wlen; 144:Drivers/CMSIS/Include/cmsis_gcc.h **** } __zero_table_t; 145:Drivers/CMSIS/Include/cmsis_gcc.h **** 146:Drivers/CMSIS/Include/cmsis_gcc.h **** extern const __copy_table_t __copy_table_start__; 147:Drivers/CMSIS/Include/cmsis_gcc.h **** extern const __copy_table_t __copy_table_end__; 148:Drivers/CMSIS/Include/cmsis_gcc.h **** extern const __zero_table_t __zero_table_start__; 149:Drivers/CMSIS/Include/cmsis_gcc.h **** extern const __zero_table_t __zero_table_end__; 150:Drivers/CMSIS/Include/cmsis_gcc.h **** 151:Drivers/CMSIS/Include/cmsis_gcc.h **** for (__copy_table_t const* pTable = &__copy_table_start__; pTable < &__copy_table_end__; ++pTable 152:Drivers/CMSIS/Include/cmsis_gcc.h **** for(uint32_t i=0u; iwlen; ++i) { 153:Drivers/CMSIS/Include/cmsis_gcc.h **** pTable->dest[i] = pTable->src[i]; 154:Drivers/CMSIS/Include/cmsis_gcc.h **** } 155:Drivers/CMSIS/Include/cmsis_gcc.h **** } 156:Drivers/CMSIS/Include/cmsis_gcc.h **** 157:Drivers/CMSIS/Include/cmsis_gcc.h **** for (__zero_table_t const* pTable = &__zero_table_start__; pTable < &__zero_table_end__; ++pTable 158:Drivers/CMSIS/Include/cmsis_gcc.h **** for(uint32_t i=0u; iwlen; ++i) { 159:Drivers/CMSIS/Include/cmsis_gcc.h **** pTable->dest[i] = 0u; 160:Drivers/CMSIS/Include/cmsis_gcc.h **** } 161:Drivers/CMSIS/Include/cmsis_gcc.h **** } 162:Drivers/CMSIS/Include/cmsis_gcc.h **** 163:Drivers/CMSIS/Include/cmsis_gcc.h **** _start(); 164:Drivers/CMSIS/Include/cmsis_gcc.h **** } 165:Drivers/CMSIS/Include/cmsis_gcc.h **** 166:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PROGRAM_START __cmsis_start 167:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 168:Drivers/CMSIS/Include/cmsis_gcc.h **** 169:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __INITIAL_SP 170:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __INITIAL_SP __StackTop 171:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 172:Drivers/CMSIS/Include/cmsis_gcc.h **** 173:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STACK_LIMIT 174:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STACK_LIMIT __StackLimit 175:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 176:Drivers/CMSIS/Include/cmsis_gcc.h **** 177:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __VECTOR_TABLE 178:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __VECTOR_TABLE __Vectors 179:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 180:Drivers/CMSIS/Include/cmsis_gcc.h **** 181:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __VECTOR_TABLE_ATTRIBUTE 182:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __VECTOR_TABLE_ATTRIBUTE __attribute((used, section(".vectors"))) 183:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 184:Drivers/CMSIS/Include/cmsis_gcc.h **** 185:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################### Core Function Access ########################### */ 186:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \ingroup CMSIS_Core_FunctionInterface 187:Drivers/CMSIS/Include/cmsis_gcc.h **** \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions 188:Drivers/CMSIS/Include/cmsis_gcc.h **** @{ 189:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 190:Drivers/CMSIS/Include/cmsis_gcc.h **** ARM GAS /tmp/cciGf5I5.s page 68 191:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 192:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable IRQ Interrupts 193:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables IRQ interrupts by clearing the I-bit in the CPSR. 194:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes. 195:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 196:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_irq(void) 197:Drivers/CMSIS/Include/cmsis_gcc.h **** { 198:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie i" : : : "memory"); 199:Drivers/CMSIS/Include/cmsis_gcc.h **** } 200:Drivers/CMSIS/Include/cmsis_gcc.h **** 201:Drivers/CMSIS/Include/cmsis_gcc.h **** 202:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 203:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable IRQ Interrupts 204:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables IRQ interrupts by setting the I-bit in the CPSR. 205:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes. 206:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 207:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_irq(void) 208:Drivers/CMSIS/Include/cmsis_gcc.h **** { 209:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid i" : : : "memory"); 210:Drivers/CMSIS/Include/cmsis_gcc.h **** } 211:Drivers/CMSIS/Include/cmsis_gcc.h **** 212:Drivers/CMSIS/Include/cmsis_gcc.h **** 213:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 214:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register 215:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the Control Register. 216:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Control Register value 217:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 218:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_CONTROL(void) 219:Drivers/CMSIS/Include/cmsis_gcc.h **** { 220:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 221:Drivers/CMSIS/Include/cmsis_gcc.h **** 222:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control" : "=r" (result) ); 223:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 224:Drivers/CMSIS/Include/cmsis_gcc.h **** } 225:Drivers/CMSIS/Include/cmsis_gcc.h **** 226:Drivers/CMSIS/Include/cmsis_gcc.h **** 227:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 228:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 229:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register (non-secure) 230:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the non-secure Control Register when in secure mode. 231:Drivers/CMSIS/Include/cmsis_gcc.h **** \return non-secure Control Register value 232:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 233:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void) 234:Drivers/CMSIS/Include/cmsis_gcc.h **** { 235:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 236:Drivers/CMSIS/Include/cmsis_gcc.h **** 237:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control_ns" : "=r" (result) ); 238:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 239:Drivers/CMSIS/Include/cmsis_gcc.h **** } 240:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 241:Drivers/CMSIS/Include/cmsis_gcc.h **** 242:Drivers/CMSIS/Include/cmsis_gcc.h **** 243:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 244:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register 245:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the Control Register. 246:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set 247:Drivers/CMSIS/Include/cmsis_gcc.h **** */ ARM GAS /tmp/cciGf5I5.s page 69 248:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_CONTROL(uint32_t control) 249:Drivers/CMSIS/Include/cmsis_gcc.h **** { 250:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control, %0" : : "r" (control) : "memory"); 251:Drivers/CMSIS/Include/cmsis_gcc.h **** } 252:Drivers/CMSIS/Include/cmsis_gcc.h **** 253:Drivers/CMSIS/Include/cmsis_gcc.h **** 254:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 255:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 256:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register (non-secure) 257:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the non-secure Control Register when in secure state. 258:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set 259:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 260:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control) 261:Drivers/CMSIS/Include/cmsis_gcc.h **** { 262:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control_ns, %0" : : "r" (control) : "memory"); 263:Drivers/CMSIS/Include/cmsis_gcc.h **** } 264:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 265:Drivers/CMSIS/Include/cmsis_gcc.h **** 266:Drivers/CMSIS/Include/cmsis_gcc.h **** 267:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 268:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get IPSR Register 269:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the IPSR Register. 270:Drivers/CMSIS/Include/cmsis_gcc.h **** \return IPSR Register value 271:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 272:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_IPSR(void) 273:Drivers/CMSIS/Include/cmsis_gcc.h **** { 274:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 275:Drivers/CMSIS/Include/cmsis_gcc.h **** 276:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, ipsr" : "=r" (result) ); 277:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 278:Drivers/CMSIS/Include/cmsis_gcc.h **** } 279:Drivers/CMSIS/Include/cmsis_gcc.h **** 280:Drivers/CMSIS/Include/cmsis_gcc.h **** 281:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 282:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get APSR Register 283:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the APSR Register. 284:Drivers/CMSIS/Include/cmsis_gcc.h **** \return APSR Register value 285:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 286:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_APSR(void) 287:Drivers/CMSIS/Include/cmsis_gcc.h **** { 288:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 289:Drivers/CMSIS/Include/cmsis_gcc.h **** 290:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, apsr" : "=r" (result) ); 291:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 292:Drivers/CMSIS/Include/cmsis_gcc.h **** } 293:Drivers/CMSIS/Include/cmsis_gcc.h **** 294:Drivers/CMSIS/Include/cmsis_gcc.h **** 295:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 296:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get xPSR Register 297:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the xPSR Register. 298:Drivers/CMSIS/Include/cmsis_gcc.h **** \return xPSR Register value 299:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 300:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_xPSR(void) 301:Drivers/CMSIS/Include/cmsis_gcc.h **** { 302:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 303:Drivers/CMSIS/Include/cmsis_gcc.h **** 304:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, xpsr" : "=r" (result) ); ARM GAS /tmp/cciGf5I5.s page 70 305:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 306:Drivers/CMSIS/Include/cmsis_gcc.h **** } 307:Drivers/CMSIS/Include/cmsis_gcc.h **** 308:Drivers/CMSIS/Include/cmsis_gcc.h **** 309:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 310:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer 311:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer (PSP). 312:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value 313:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 314:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSP(void) 315:Drivers/CMSIS/Include/cmsis_gcc.h **** { 316:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 317:Drivers/CMSIS/Include/cmsis_gcc.h **** 318:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp" : "=r" (result) ); 319:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 320:Drivers/CMSIS/Include/cmsis_gcc.h **** } 321:Drivers/CMSIS/Include/cmsis_gcc.h **** 322:Drivers/CMSIS/Include/cmsis_gcc.h **** 323:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 324:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 325:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer (non-secure) 326:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure s 327:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value 328:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 329:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void) 330:Drivers/CMSIS/Include/cmsis_gcc.h **** { 331:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 332:Drivers/CMSIS/Include/cmsis_gcc.h **** 333:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp_ns" : "=r" (result) ); 334:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 335:Drivers/CMSIS/Include/cmsis_gcc.h **** } 336:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 337:Drivers/CMSIS/Include/cmsis_gcc.h **** 338:Drivers/CMSIS/Include/cmsis_gcc.h **** 339:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 340:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer 341:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer (PSP). 342:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set 343:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 344:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack) 345:Drivers/CMSIS/Include/cmsis_gcc.h **** { 346:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp, %0" : : "r" (topOfProcStack) : ); 347:Drivers/CMSIS/Include/cmsis_gcc.h **** } 348:Drivers/CMSIS/Include/cmsis_gcc.h **** 349:Drivers/CMSIS/Include/cmsis_gcc.h **** 350:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 351:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 352:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure) 353:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer (PSP) when in secure sta 354:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set 355:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 356:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack) 357:Drivers/CMSIS/Include/cmsis_gcc.h **** { 358:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp_ns, %0" : : "r" (topOfProcStack) : ); 359:Drivers/CMSIS/Include/cmsis_gcc.h **** } 360:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 361:Drivers/CMSIS/Include/cmsis_gcc.h **** ARM GAS /tmp/cciGf5I5.s page 71 362:Drivers/CMSIS/Include/cmsis_gcc.h **** 363:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 364:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer 365:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer (MSP). 366:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value 367:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 368:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSP(void) 369:Drivers/CMSIS/Include/cmsis_gcc.h **** { 370:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 371:Drivers/CMSIS/Include/cmsis_gcc.h **** 372:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp" : "=r" (result) ); 373:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 374:Drivers/CMSIS/Include/cmsis_gcc.h **** } 375:Drivers/CMSIS/Include/cmsis_gcc.h **** 376:Drivers/CMSIS/Include/cmsis_gcc.h **** 377:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 378:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 379:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer (non-secure) 380:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure stat 381:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value 382:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 383:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void) 384:Drivers/CMSIS/Include/cmsis_gcc.h **** { 385:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 386:Drivers/CMSIS/Include/cmsis_gcc.h **** 387:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp_ns" : "=r" (result) ); 388:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 389:Drivers/CMSIS/Include/cmsis_gcc.h **** } 390:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 391:Drivers/CMSIS/Include/cmsis_gcc.h **** 392:Drivers/CMSIS/Include/cmsis_gcc.h **** 393:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 394:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer 395:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer (MSP). 396:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set 397:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 398:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack) 399:Drivers/CMSIS/Include/cmsis_gcc.h **** { 400:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp, %0" : : "r" (topOfMainStack) : ); 401:Drivers/CMSIS/Include/cmsis_gcc.h **** } 402:Drivers/CMSIS/Include/cmsis_gcc.h **** 403:Drivers/CMSIS/Include/cmsis_gcc.h **** 404:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 405:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 406:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer (non-secure) 407:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer (MSP) when in secure state. 408:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set 409:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 410:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack) 411:Drivers/CMSIS/Include/cmsis_gcc.h **** { 412:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp_ns, %0" : : "r" (topOfMainStack) : ); 413:Drivers/CMSIS/Include/cmsis_gcc.h **** } 414:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 415:Drivers/CMSIS/Include/cmsis_gcc.h **** 416:Drivers/CMSIS/Include/cmsis_gcc.h **** 417:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 418:Drivers/CMSIS/Include/cmsis_gcc.h **** /** ARM GAS /tmp/cciGf5I5.s page 72 419:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Stack Pointer (non-secure) 420:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Stack Pointer (SP) when in secure state. 421:Drivers/CMSIS/Include/cmsis_gcc.h **** \return SP Register value 422:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 423:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void) 424:Drivers/CMSIS/Include/cmsis_gcc.h **** { 425:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 426:Drivers/CMSIS/Include/cmsis_gcc.h **** 427:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, sp_ns" : "=r" (result) ); 428:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 429:Drivers/CMSIS/Include/cmsis_gcc.h **** } 430:Drivers/CMSIS/Include/cmsis_gcc.h **** 431:Drivers/CMSIS/Include/cmsis_gcc.h **** 432:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 433:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Stack Pointer (non-secure) 434:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Stack Pointer (SP) when in secure state. 435:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfStack Stack Pointer value to set 436:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 437:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack) 438:Drivers/CMSIS/Include/cmsis_gcc.h **** { 439:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR sp_ns, %0" : : "r" (topOfStack) : ); 440:Drivers/CMSIS/Include/cmsis_gcc.h **** } 441:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 442:Drivers/CMSIS/Include/cmsis_gcc.h **** 443:Drivers/CMSIS/Include/cmsis_gcc.h **** 444:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 445:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask 446:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the priority mask bit from the Priority Mask Register. 447:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value 448:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 449:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PRIMASK(void) 450:Drivers/CMSIS/Include/cmsis_gcc.h **** { 451:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 452:Drivers/CMSIS/Include/cmsis_gcc.h **** 453:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory"); 454:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 455:Drivers/CMSIS/Include/cmsis_gcc.h **** } 456:Drivers/CMSIS/Include/cmsis_gcc.h **** 457:Drivers/CMSIS/Include/cmsis_gcc.h **** 458:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 459:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 460:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask (non-secure) 461:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the non-secure priority mask bit from the Priority Mask Reg 462:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value 463:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 464:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void) 465:Drivers/CMSIS/Include/cmsis_gcc.h **** { 466:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 467:Drivers/CMSIS/Include/cmsis_gcc.h **** 468:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask_ns" : "=r" (result) :: "memory"); 469:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 470:Drivers/CMSIS/Include/cmsis_gcc.h **** } 471:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 472:Drivers/CMSIS/Include/cmsis_gcc.h **** 473:Drivers/CMSIS/Include/cmsis_gcc.h **** 474:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 475:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask ARM GAS /tmp/cciGf5I5.s page 73 476:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Priority Mask Register. 477:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask 478:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 479:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask) 480:Drivers/CMSIS/Include/cmsis_gcc.h **** { 481:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); 482:Drivers/CMSIS/Include/cmsis_gcc.h **** } 483:Drivers/CMSIS/Include/cmsis_gcc.h **** 484:Drivers/CMSIS/Include/cmsis_gcc.h **** 485:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 486:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 487:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask (non-secure) 488:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Priority Mask Register when in secure state. 489:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask 490:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 491:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask) 492:Drivers/CMSIS/Include/cmsis_gcc.h **** { 493:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask_ns, %0" : : "r" (priMask) : "memory"); 494:Drivers/CMSIS/Include/cmsis_gcc.h **** } 495:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 496:Drivers/CMSIS/Include/cmsis_gcc.h **** 497:Drivers/CMSIS/Include/cmsis_gcc.h **** 498:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ 499:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ 500:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) 501:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 502:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable FIQ 503:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables FIQ interrupts by clearing the F-bit in the CPSR. 504:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes. 505:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 506:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_fault_irq(void) 507:Drivers/CMSIS/Include/cmsis_gcc.h **** { 508:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie f" : : : "memory"); 509:Drivers/CMSIS/Include/cmsis_gcc.h **** } 510:Drivers/CMSIS/Include/cmsis_gcc.h **** 511:Drivers/CMSIS/Include/cmsis_gcc.h **** 512:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 513:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable FIQ 514:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables FIQ interrupts by setting the F-bit in the CPSR. 515:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes. 516:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 517:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_fault_irq(void) 518:Drivers/CMSIS/Include/cmsis_gcc.h **** { 519:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid f" : : : "memory"); 520:Drivers/CMSIS/Include/cmsis_gcc.h **** } 521:Drivers/CMSIS/Include/cmsis_gcc.h **** 522:Drivers/CMSIS/Include/cmsis_gcc.h **** 523:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 524:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Base Priority 525:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Base Priority register. 526:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Base Priority register value 527:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 528:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_BASEPRI(void) 529:Drivers/CMSIS/Include/cmsis_gcc.h **** { 530:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 531:Drivers/CMSIS/Include/cmsis_gcc.h **** 532:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, basepri" : "=r" (result) ); ARM GAS /tmp/cciGf5I5.s page 74 533:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 534:Drivers/CMSIS/Include/cmsis_gcc.h **** } 535:Drivers/CMSIS/Include/cmsis_gcc.h **** 536:Drivers/CMSIS/Include/cmsis_gcc.h **** 537:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 538:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 539:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Base Priority (non-secure) 540:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Base Priority register when in secure state. 541:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Base Priority register value 542:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 543:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void) 544:Drivers/CMSIS/Include/cmsis_gcc.h **** { 545:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 546:Drivers/CMSIS/Include/cmsis_gcc.h **** 547:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, basepri_ns" : "=r" (result) ); 548:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 549:Drivers/CMSIS/Include/cmsis_gcc.h **** } 550:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 551:Drivers/CMSIS/Include/cmsis_gcc.h **** 552:Drivers/CMSIS/Include/cmsis_gcc.h **** 553:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 554:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority 555:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Base Priority register. 556:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set 557:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 558:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri) 559:Drivers/CMSIS/Include/cmsis_gcc.h **** { 560:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri, %0" : : "r" (basePri) : "memory"); 561:Drivers/CMSIS/Include/cmsis_gcc.h **** } 562:Drivers/CMSIS/Include/cmsis_gcc.h **** 563:Drivers/CMSIS/Include/cmsis_gcc.h **** 564:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 565:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 566:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority (non-secure) 567:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Base Priority register when in secure state. 568:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set 569:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 570:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri) 571:Drivers/CMSIS/Include/cmsis_gcc.h **** { 572:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri_ns, %0" : : "r" (basePri) : "memory"); 573:Drivers/CMSIS/Include/cmsis_gcc.h **** } 574:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 575:Drivers/CMSIS/Include/cmsis_gcc.h **** 576:Drivers/CMSIS/Include/cmsis_gcc.h **** 577:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 578:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority with condition 579:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Base Priority register only if BASEPRI masking is disable 580:Drivers/CMSIS/Include/cmsis_gcc.h **** or the new value increases the BASEPRI priority level. 581:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set 582:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 583:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri) 584:Drivers/CMSIS/Include/cmsis_gcc.h **** { 585:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri_max, %0" : : "r" (basePri) : "memory"); 586:Drivers/CMSIS/Include/cmsis_gcc.h **** } 587:Drivers/CMSIS/Include/cmsis_gcc.h **** 588:Drivers/CMSIS/Include/cmsis_gcc.h **** 589:Drivers/CMSIS/Include/cmsis_gcc.h **** /** ARM GAS /tmp/cciGf5I5.s page 75 590:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Fault Mask 591:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Fault Mask register. 592:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value 593:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 594:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void) 595:Drivers/CMSIS/Include/cmsis_gcc.h **** { 596:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 597:Drivers/CMSIS/Include/cmsis_gcc.h **** 598:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, faultmask" : "=r" (result) ); 599:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 600:Drivers/CMSIS/Include/cmsis_gcc.h **** } 601:Drivers/CMSIS/Include/cmsis_gcc.h **** 602:Drivers/CMSIS/Include/cmsis_gcc.h **** 603:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 604:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 605:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Fault Mask (non-secure) 606:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Fault Mask register when in secure state. 607:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value 608:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 609:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void) 610:Drivers/CMSIS/Include/cmsis_gcc.h **** { 611:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 612:Drivers/CMSIS/Include/cmsis_gcc.h **** 613:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, faultmask_ns" : "=r" (result) ); 614:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 615:Drivers/CMSIS/Include/cmsis_gcc.h **** } 616:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 617:Drivers/CMSIS/Include/cmsis_gcc.h **** 618:Drivers/CMSIS/Include/cmsis_gcc.h **** 619:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 620:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Fault Mask 621:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Fault Mask register. 622:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] faultMask Fault Mask value to set 623:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 624:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask) 625:Drivers/CMSIS/Include/cmsis_gcc.h **** { 626:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) : "memory"); 627:Drivers/CMSIS/Include/cmsis_gcc.h **** } 628:Drivers/CMSIS/Include/cmsis_gcc.h **** 629:Drivers/CMSIS/Include/cmsis_gcc.h **** 630:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 631:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 632:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Fault Mask (non-secure) 633:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Fault Mask register when in secure state. 634:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] faultMask Fault Mask value to set 635:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 636:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask) 637:Drivers/CMSIS/Include/cmsis_gcc.h **** { 638:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR faultmask_ns, %0" : : "r" (faultMask) : "memory"); 639:Drivers/CMSIS/Include/cmsis_gcc.h **** } 640:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 641:Drivers/CMSIS/Include/cmsis_gcc.h **** 642:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ 643:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ 644:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) */ 645:Drivers/CMSIS/Include/cmsis_gcc.h **** 646:Drivers/CMSIS/Include/cmsis_gcc.h **** ARM GAS /tmp/cciGf5I5.s page 76 647:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ 648:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) 649:Drivers/CMSIS/Include/cmsis_gcc.h **** 650:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 651:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer Limit 652:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure 653:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always in non-secure 654:Drivers/CMSIS/Include/cmsis_gcc.h **** mode. 655:Drivers/CMSIS/Include/cmsis_gcc.h **** 656:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer Limit (PSPLIM). 657:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSPLIM Register value 658:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 659:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSPLIM(void) 660:Drivers/CMSIS/Include/cmsis_gcc.h **** { 661:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ 662:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) 663:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI 664:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U; 665:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 666:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 667:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim" : "=r" (result) ); 668:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 669:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 670:Drivers/CMSIS/Include/cmsis_gcc.h **** } 671:Drivers/CMSIS/Include/cmsis_gcc.h **** 672:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3)) 673:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 674:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer Limit (non-secure) 675:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure 676:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always. 677:Drivers/CMSIS/Include/cmsis_gcc.h **** 678:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer Limit (PSPLIM) when in 679:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSPLIM Register value 680:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 681:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void) 682:Drivers/CMSIS/Include/cmsis_gcc.h **** { 683:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) 684:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI 685:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U; 686:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 687:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 688:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim_ns" : "=r" (result) ); 689:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 690:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 691:Drivers/CMSIS/Include/cmsis_gcc.h **** } 692:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 693:Drivers/CMSIS/Include/cmsis_gcc.h **** 694:Drivers/CMSIS/Include/cmsis_gcc.h **** 695:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 696:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer Limit 697:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure 698:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored in non-secure 699:Drivers/CMSIS/Include/cmsis_gcc.h **** mode. 700:Drivers/CMSIS/Include/cmsis_gcc.h **** 701:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer Limit (PSPLIM). 702:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set 703:Drivers/CMSIS/Include/cmsis_gcc.h **** */ ARM GAS /tmp/cciGf5I5.s page 77 704:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit) 705:Drivers/CMSIS/Include/cmsis_gcc.h **** { 706:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ 707:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) 708:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI 709:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)ProcStackPtrLimit; 710:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 711:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psplim, %0" : : "r" (ProcStackPtrLimit)); 712:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 713:Drivers/CMSIS/Include/cmsis_gcc.h **** } 714:Drivers/CMSIS/Include/cmsis_gcc.h **** 715:Drivers/CMSIS/Include/cmsis_gcc.h **** 716:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 717:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 718:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure) 719:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure 720:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored. 721:Drivers/CMSIS/Include/cmsis_gcc.h **** 722:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer Limit (PSPLIM) when in s 723:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set 724:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 725:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit) 726:Drivers/CMSIS/Include/cmsis_gcc.h **** { 727:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) 728:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI 729:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)ProcStackPtrLimit; 730:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 731:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psplim_ns, %0\n" : : "r" (ProcStackPtrLimit)); 732:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 733:Drivers/CMSIS/Include/cmsis_gcc.h **** } 734:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 735:Drivers/CMSIS/Include/cmsis_gcc.h **** 736:Drivers/CMSIS/Include/cmsis_gcc.h **** 737:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 738:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer Limit 739:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure 740:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always in non-secure 741:Drivers/CMSIS/Include/cmsis_gcc.h **** mode. 742:Drivers/CMSIS/Include/cmsis_gcc.h **** 743:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer Limit (MSPLIM). 744:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSPLIM Register value 745:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 746:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSPLIM(void) 747:Drivers/CMSIS/Include/cmsis_gcc.h **** { 748:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ 749:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) 750:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI 751:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U; 752:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 753:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 754:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msplim" : "=r" (result) ); 755:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 756:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 757:Drivers/CMSIS/Include/cmsis_gcc.h **** } 758:Drivers/CMSIS/Include/cmsis_gcc.h **** 759:Drivers/CMSIS/Include/cmsis_gcc.h **** 760:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) ARM GAS /tmp/cciGf5I5.s page 78 761:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 762:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer Limit (non-secure) 763:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure 764:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always. 765:Drivers/CMSIS/Include/cmsis_gcc.h **** 766:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer Limit(MSPLIM) when in sec 767:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSPLIM Register value 768:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 769:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void) 770:Drivers/CMSIS/Include/cmsis_gcc.h **** { 771:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) 772:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI 773:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U; 774:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 775:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 776:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msplim_ns" : "=r" (result) ); 777:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 778:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 779:Drivers/CMSIS/Include/cmsis_gcc.h **** } 780:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 781:Drivers/CMSIS/Include/cmsis_gcc.h **** 782:Drivers/CMSIS/Include/cmsis_gcc.h **** 783:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 784:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer Limit 785:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure 786:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored in non-secure 787:Drivers/CMSIS/Include/cmsis_gcc.h **** mode. 788:Drivers/CMSIS/Include/cmsis_gcc.h **** 789:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer Limit (MSPLIM). 790:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] MainStackPtrLimit Main Stack Pointer Limit value to set 791:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 792:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit) 793:Drivers/CMSIS/Include/cmsis_gcc.h **** { 794:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ 795:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) 796:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI 797:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)MainStackPtrLimit; 798:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 799:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msplim, %0" : : "r" (MainStackPtrLimit)); 800:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 801:Drivers/CMSIS/Include/cmsis_gcc.h **** } 802:Drivers/CMSIS/Include/cmsis_gcc.h **** 803:Drivers/CMSIS/Include/cmsis_gcc.h **** 804:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 805:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 806:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer Limit (non-secure) 807:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure 808:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored. 809:Drivers/CMSIS/Include/cmsis_gcc.h **** 810:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer Limit (MSPLIM) when in secu 811:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] MainStackPtrLimit Main Stack Pointer value to set 812:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 813:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit) 814:Drivers/CMSIS/Include/cmsis_gcc.h **** { 815:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) 816:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI 817:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)MainStackPtrLimit; ARM GAS /tmp/cciGf5I5.s page 79 818:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 819:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msplim_ns, %0" : : "r" (MainStackPtrLimit)); 820:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 821:Drivers/CMSIS/Include/cmsis_gcc.h **** } 822:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 823:Drivers/CMSIS/Include/cmsis_gcc.h **** 824:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ 825:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) */ 826:Drivers/CMSIS/Include/cmsis_gcc.h **** 827:Drivers/CMSIS/Include/cmsis_gcc.h **** 828:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 829:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get FPSCR 830:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Floating Point Status/Control register. 831:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Floating Point Status/Control register value 832:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 833:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FPSCR(void) 834:Drivers/CMSIS/Include/cmsis_gcc.h **** { 835:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ 836:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) 837:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_get_fpscr) 838:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed 839:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2) 840:Drivers/CMSIS/Include/cmsis_gcc.h **** /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */ 841:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_arm_get_fpscr(); 842:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 843:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 844:Drivers/CMSIS/Include/cmsis_gcc.h **** 845:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("VMRS %0, fpscr" : "=r" (result) ); 846:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 847:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 848:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 849:Drivers/CMSIS/Include/cmsis_gcc.h **** return(0U); 850:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 851:Drivers/CMSIS/Include/cmsis_gcc.h **** } 852:Drivers/CMSIS/Include/cmsis_gcc.h **** 853:Drivers/CMSIS/Include/cmsis_gcc.h **** 854:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 855:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set FPSCR 856:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Floating Point Status/Control register. 857:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] fpscr Floating Point Status/Control value to set 858:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 859:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FPSCR(uint32_t fpscr) 860:Drivers/CMSIS/Include/cmsis_gcc.h **** { 861:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ 862:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) 863:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_set_fpscr) 864:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed 865:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2) 866:Drivers/CMSIS/Include/cmsis_gcc.h **** /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */ 867:Drivers/CMSIS/Include/cmsis_gcc.h **** __builtin_arm_set_fpscr(fpscr); 868:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 869:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("VMSR fpscr, %0" : : "r" (fpscr) : "vfpcc", "memory"); 870:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 871:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 872:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)fpscr; 873:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 874:Drivers/CMSIS/Include/cmsis_gcc.h **** } ARM GAS /tmp/cciGf5I5.s page 80 875:Drivers/CMSIS/Include/cmsis_gcc.h **** 876:Drivers/CMSIS/Include/cmsis_gcc.h **** 877:Drivers/CMSIS/Include/cmsis_gcc.h **** /*@} end of CMSIS_Core_RegAccFunctions */ 878:Drivers/CMSIS/Include/cmsis_gcc.h **** 879:Drivers/CMSIS/Include/cmsis_gcc.h **** 880:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################## Core Instruction Access ######################### */ 881:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface 882:Drivers/CMSIS/Include/cmsis_gcc.h **** Access to dedicated instructions 883:Drivers/CMSIS/Include/cmsis_gcc.h **** @{ 884:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 885:Drivers/CMSIS/Include/cmsis_gcc.h **** 886:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Define macros for porting to both thumb1 and thumb2. 887:Drivers/CMSIS/Include/cmsis_gcc.h **** * For thumb1, use low register (r0-r7), specified by constraint "l" 888:Drivers/CMSIS/Include/cmsis_gcc.h **** * Otherwise, use general registers, specified by constraint "r" */ 889:Drivers/CMSIS/Include/cmsis_gcc.h **** #if defined (__thumb__) && !defined (__thumb2__) 890:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=l" (r) 891:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+l" (r) 892:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "l" (r) 893:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 894:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=r" (r) 895:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+r" (r) 896:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "r" (r) 897:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 898:Drivers/CMSIS/Include/cmsis_gcc.h **** 899:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 900:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief No Operation 901:Drivers/CMSIS/Include/cmsis_gcc.h **** \details No Operation does nothing. This instruction can be used for code alignment purposes. 902:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 903:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NOP() __ASM volatile ("nop") 904:Drivers/CMSIS/Include/cmsis_gcc.h **** 905:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 906:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Interrupt 907:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Interrupt is a hint instruction that suspends execution until one of a number o 908:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 909:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFI() __ASM volatile ("wfi") 910:Drivers/CMSIS/Include/cmsis_gcc.h **** 911:Drivers/CMSIS/Include/cmsis_gcc.h **** 912:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 913:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Event 914:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Event is a hint instruction that permits the processor to enter 915:Drivers/CMSIS/Include/cmsis_gcc.h **** a low-power state until one of a number of events occurs. 916:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 917:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFE() __ASM volatile ("wfe") 918:Drivers/CMSIS/Include/cmsis_gcc.h **** 919:Drivers/CMSIS/Include/cmsis_gcc.h **** 920:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 921:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Send Event 922:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Send Event is a hint instruction. It causes an event to be signaled to the CPU. 923:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 924:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __SEV() __ASM volatile ("sev") 925:Drivers/CMSIS/Include/cmsis_gcc.h **** 926:Drivers/CMSIS/Include/cmsis_gcc.h **** 927:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 928:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Instruction Synchronization Barrier 929:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Instruction Synchronization Barrier flushes the pipeline in the processor, 930:Drivers/CMSIS/Include/cmsis_gcc.h **** so that all instructions following the ISB are fetched from cache or memory, 931:Drivers/CMSIS/Include/cmsis_gcc.h **** after the instruction has been completed. ARM GAS /tmp/cciGf5I5.s page 81 932:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 933:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __ISB(void) 934:Drivers/CMSIS/Include/cmsis_gcc.h **** { 935:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("isb 0xF":::"memory"); 936:Drivers/CMSIS/Include/cmsis_gcc.h **** } 937:Drivers/CMSIS/Include/cmsis_gcc.h **** 938:Drivers/CMSIS/Include/cmsis_gcc.h **** 939:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 940:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Synchronization Barrier 941:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Acts as a special kind of Data Memory Barrier. 942:Drivers/CMSIS/Include/cmsis_gcc.h **** It completes when all explicit memory accesses before this instruction complete. 943:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 944:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DSB(void) 945:Drivers/CMSIS/Include/cmsis_gcc.h **** { 946:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dsb 0xF":::"memory"); 947:Drivers/CMSIS/Include/cmsis_gcc.h **** } 948:Drivers/CMSIS/Include/cmsis_gcc.h **** 949:Drivers/CMSIS/Include/cmsis_gcc.h **** 950:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 951:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Memory Barrier 952:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Ensures the apparent order of the explicit memory operations before 953:Drivers/CMSIS/Include/cmsis_gcc.h **** and after the instruction, without ensuring their completion. 954:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 955:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DMB(void) 956:Drivers/CMSIS/Include/cmsis_gcc.h **** { 957:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dmb 0xF":::"memory"); 958:Drivers/CMSIS/Include/cmsis_gcc.h **** } 959:Drivers/CMSIS/Include/cmsis_gcc.h **** 960:Drivers/CMSIS/Include/cmsis_gcc.h **** 961:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 962:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (32 bit) 963:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x785 964:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse 965:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value 966:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 967:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV(uint32_t value) 968:Drivers/CMSIS/Include/cmsis_gcc.h **** { 969:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) 970:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_bswap32(value); 971:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 972:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 973:Drivers/CMSIS/Include/cmsis_gcc.h **** 974:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rev %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) ); 975:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 976:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 977:Drivers/CMSIS/Include/cmsis_gcc.h **** } 978:Drivers/CMSIS/Include/cmsis_gcc.h **** 979:Drivers/CMSIS/Include/cmsis_gcc.h **** 980:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 981:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (16 bit) 982:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes 983:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse 984:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value 985:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 986:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV16(uint32_t value) 987:Drivers/CMSIS/Include/cmsis_gcc.h **** { 988:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; ARM GAS /tmp/cciGf5I5.s page 82 989:Drivers/CMSIS/Include/cmsis_gcc.h **** 990:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rev16 %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) ); 991:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 992:Drivers/CMSIS/Include/cmsis_gcc.h **** } 993:Drivers/CMSIS/Include/cmsis_gcc.h **** 994:Drivers/CMSIS/Include/cmsis_gcc.h **** 995:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 996:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (16 bit) 997:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order in a 16-bit value and returns the signed 16-bit result. For exam 998:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse 999:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value 1000:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 1001:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE int16_t __REVSH(int16_t value) 1002:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1003:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) 1004:Drivers/CMSIS/Include/cmsis_gcc.h **** return (int16_t)__builtin_bswap16(value); 1005:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 1006:Drivers/CMSIS/Include/cmsis_gcc.h **** int16_t result; 1007:Drivers/CMSIS/Include/cmsis_gcc.h **** 1008:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("revsh %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) ); 1009:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 1010:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 1011:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1012:Drivers/CMSIS/Include/cmsis_gcc.h **** 1013:Drivers/CMSIS/Include/cmsis_gcc.h **** 1014:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 1015:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Rotate Right in unsigned value (32 bit) 1016:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Rotate Right (immediate) provides the value of the contents of a register rotated by a v 1017:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] op1 Value to rotate 1018:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] op2 Number of Bits to rotate 1019:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Rotated value 1020:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 1021:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __ROR(uint32_t op1, uint32_t op2) 1022:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1023:Drivers/CMSIS/Include/cmsis_gcc.h **** op2 %= 32U; 1024:Drivers/CMSIS/Include/cmsis_gcc.h **** if (op2 == 0U) 1025:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1026:Drivers/CMSIS/Include/cmsis_gcc.h **** return op1; 1027:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1028:Drivers/CMSIS/Include/cmsis_gcc.h **** return (op1 >> op2) | (op1 << (32U - op2)); 1029:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1030:Drivers/CMSIS/Include/cmsis_gcc.h **** 1031:Drivers/CMSIS/Include/cmsis_gcc.h **** 1032:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 1033:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Breakpoint 1034:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Causes the processor to enter Debug state. 1035:Drivers/CMSIS/Include/cmsis_gcc.h **** Debug tools can use this to investigate system state when the instruction at a particula 1036:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value is ignored by the processor. 1037:Drivers/CMSIS/Include/cmsis_gcc.h **** If required, a debugger can use it to store additional information about the break 1038:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 1039:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __BKPT(value) __ASM volatile ("bkpt "#value) 1040:Drivers/CMSIS/Include/cmsis_gcc.h **** 1041:Drivers/CMSIS/Include/cmsis_gcc.h **** 1042:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 1043:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse bit order of value 1044:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the bit order of the given value. 1045:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse ARM GAS /tmp/cciGf5I5.s page 83 1046:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value 1047:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 1048:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __RBIT(uint32_t value) 1049:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1050:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 1051:Drivers/CMSIS/Include/cmsis_gcc.h **** 1052:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ 1053:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ 1054:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) 1055:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rbit %0, %1" : "=r" (result) : "r" (value) ); 1056:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 1057:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t s = (4U /*sizeof(v)*/ * 8U) - 1U; /* extra shift needed at end */ 1058:Drivers/CMSIS/Include/cmsis_gcc.h **** 1059:Drivers/CMSIS/Include/cmsis_gcc.h **** result = value; /* r will be reversed bits of v; first get LSB of v */ 1060:Drivers/CMSIS/Include/cmsis_gcc.h **** for (value >>= 1U; value != 0U; value >>= 1U) 1061:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1062:Drivers/CMSIS/Include/cmsis_gcc.h **** result <<= 1U; 1063:Drivers/CMSIS/Include/cmsis_gcc.h **** result |= value & 1U; 1064:Drivers/CMSIS/Include/cmsis_gcc.h **** s--; 1065:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1066:Drivers/CMSIS/Include/cmsis_gcc.h **** result <<= s; /* shift when v's highest bits are zero */ 1067:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 1069:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1071:Drivers/CMSIS/Include/cmsis_gcc.h **** 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Count leading zeros 1074:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Counts the number of leading zeros of a data value. 1075:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to count the leading zeros 1076:Drivers/CMSIS/Include/cmsis_gcc.h **** \return number of leading zeros in value 1077:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 1078:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint8_t __CLZ(uint32_t value) 1079:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1080:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Even though __builtin_clz produces a CLZ instruction on ARM, formally 1081:Drivers/CMSIS/Include/cmsis_gcc.h **** __builtin_clz(0) is undefined behaviour, so handle this case specially. 1082:Drivers/CMSIS/Include/cmsis_gcc.h **** This guarantees ARM-compatible results if happening to compile on a non-ARM 1083:Drivers/CMSIS/Include/cmsis_gcc.h **** target, and ensures the compiler doesn't decide to activate any 1084:Drivers/CMSIS/Include/cmsis_gcc.h **** optimisations using the logic "value was passed to __builtin_clz, so it 1085:Drivers/CMSIS/Include/cmsis_gcc.h **** is non-zero". 1086:Drivers/CMSIS/Include/cmsis_gcc.h **** ARM GCC 7.3 and possibly earlier will optimise this test away, leaving a 1087:Drivers/CMSIS/Include/cmsis_gcc.h **** single CLZ instruction. 1088:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 1089:Drivers/CMSIS/Include/cmsis_gcc.h **** if (value == 0U) 1090:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1091:Drivers/CMSIS/Include/cmsis_gcc.h **** return 32U; 1092:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1093:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_clz(value); 1094:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1095:Drivers/CMSIS/Include/cmsis_gcc.h **** 1096:Drivers/CMSIS/Include/cmsis_gcc.h **** 1097:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ 1098:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ 1099:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ 1100:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) 1101:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 1102:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief LDR Exclusive (8 bit) ARM GAS /tmp/cciGf5I5.s page 84 1103:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive LDR instruction for 8 bit value. 1104:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to data 1105:Drivers/CMSIS/Include/cmsis_gcc.h **** \return value of type uint8_t at (*ptr) 1106:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 1107:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint8_t __LDREXB(volatile uint8_t *addr) 1108:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1109:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 1110:Drivers/CMSIS/Include/cmsis_gcc.h **** 1111:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) 1112:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexb %0, %1" : "=r" (result) : "Q" (*addr) ); 1113:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 1114:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not 1115:Drivers/CMSIS/Include/cmsis_gcc.h **** accepted by assembler. So has to use following less efficient pattern. 1116:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 1117:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexb %0, [%1]" : "=r" (result) : "r" (addr) : "memory" ); 1118:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** return ((uint8_t) result); /* Add explicit type cast here */ 1120:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1122:Drivers/CMSIS/Include/cmsis_gcc.h **** 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 1124:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief LDR Exclusive (16 bit) 1125:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive LDR instruction for 16 bit values. 1126:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to data 1127:Drivers/CMSIS/Include/cmsis_gcc.h **** \return value of type uint16_t at (*ptr) 1128:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 1129:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint16_t __LDREXH(volatile uint16_t *addr) 1130:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1131:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 1132:Drivers/CMSIS/Include/cmsis_gcc.h **** 1133:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) 1134:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexh %0, %1" : "=r" (result) : "Q" (*addr) ); 1135:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 1136:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not 1137:Drivers/CMSIS/Include/cmsis_gcc.h **** accepted by assembler. So has to use following less efficient pattern. 1138:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 1139:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexh %0, [%1]" : "=r" (result) : "r" (addr) : "memory" ); 1140:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 1141:Drivers/CMSIS/Include/cmsis_gcc.h **** return ((uint16_t) result); /* Add explicit type cast here */ 1142:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1143:Drivers/CMSIS/Include/cmsis_gcc.h **** 1144:Drivers/CMSIS/Include/cmsis_gcc.h **** 1145:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 1146:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief LDR Exclusive (32 bit) 1147:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive LDR instruction for 32 bit values. 1148:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to data 1149:Drivers/CMSIS/Include/cmsis_gcc.h **** \return value of type uint32_t at (*ptr) 1150:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __LDREXW(volatile uint32_t *addr) 45 .loc 2 1151 31 view .LVU5 46 .LBB526: 1152:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 47 .loc 2 1153 5 view .LVU6 1154:Drivers/CMSIS/Include/cmsis_gcc.h **** 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 48 .loc 2 1155 4 view .LVU7 ARM GAS /tmp/cciGf5I5.s page 85 49 .syntax unified 50 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 51 0002 52E8003F ldrex r3, [r2] 52 @ 0 "" 2 53 .LVL2: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 54 .loc 2 1156 4 view .LVU8 55 .loc 2 1156 4 is_stmt 0 view .LVU9 56 .thumb 57 .syntax unified 58 .LBE526: 59 .LBE525: 60 .loc 1 3586 3 discriminator 1 view .LVU10 61 0006 23F0C003 bic r3, r3, #192 62 .LVL3: 63 .loc 1 3586 3 is_stmt 1 discriminator 1 view .LVU11 64 .LBB527: 65 .LBI527: 1157:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1158:Drivers/CMSIS/Include/cmsis_gcc.h **** 1159:Drivers/CMSIS/Include/cmsis_gcc.h **** 1160:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 1161:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief STR Exclusive (8 bit) 1162:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive STR instruction for 8 bit values. 1163:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to store 1164:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to location 1165:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 0 Function succeeded 1166:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 1 Function failed 1167:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 1168:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STREXB(uint8_t value, volatile uint8_t *addr) 1169:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1170:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 1171:Drivers/CMSIS/Include/cmsis_gcc.h **** 1172:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("strexb %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" ((uint32_t)value) ); 1173:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1174:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1175:Drivers/CMSIS/Include/cmsis_gcc.h **** 1176:Drivers/CMSIS/Include/cmsis_gcc.h **** 1177:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 1178:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief STR Exclusive (16 bit) 1179:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive STR instruction for 16 bit values. 1180:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to store 1181:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to location 1182:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 0 Function succeeded 1183:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 1 Function failed 1184:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 1185:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STREXH(uint16_t value, volatile uint16_t *addr) 1186:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1187:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 1188:Drivers/CMSIS/Include/cmsis_gcc.h **** 1189:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("strexh %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" ((uint32_t)value) ); 1190:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1191:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1192:Drivers/CMSIS/Include/cmsis_gcc.h **** 1193:Drivers/CMSIS/Include/cmsis_gcc.h **** 1194:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 1195:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief STR Exclusive (32 bit) ARM GAS /tmp/cciGf5I5.s page 86 1196:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive STR instruction for 32 bit values. 1197:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to store 1198:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to location 1199:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 0 Function succeeded 1200:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 1 Function failed 1201:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STREXW(uint32_t value, volatile uint32_t *addr) 66 .loc 2 1202 31 view .LVU12 67 .LBB528: 1203:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 68 .loc 2 1204 4 view .LVU13 1205:Drivers/CMSIS/Include/cmsis_gcc.h **** 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 69 .loc 2 1206 4 view .LVU14 70 .syntax unified 71 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 72 000a 42E80031 strex r1, r3, [r2] 73 @ 0 "" 2 74 .LVL4: 1207:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 75 .loc 2 1207 4 view .LVU15 76 .loc 2 1207 4 is_stmt 0 view .LVU16 77 .thumb 78 .syntax unified 79 .LBE528: 80 .LBE527: 81 .loc 1 3586 3 discriminator 1 view .LVU17 82 000e 0029 cmp r1, #0 83 0010 F6D1 bne .L2 84 .LVL5: 85 .L3: 86 .loc 1 3586 3 discriminator 1 view .LVU18 87 .LBE524: 88 .loc 1 3586 3 is_stmt 1 discriminator 2 view .LVU19 3587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, (USART_CR3_TXFTIE)); 89 .loc 1 3587 3 discriminator 1 view .LVU20 90 .LBB529: 91 .loc 1 3587 3 discriminator 1 view .LVU21 92 .loc 1 3587 3 discriminator 1 view .LVU22 93 .loc 1 3587 3 discriminator 1 view .LVU23 94 0012 0268 ldr r2, [r0] 95 .LVL6: 96 .LBB530: 97 .LBI530: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 98 .loc 2 1151 31 view .LVU24 99 .LBB531: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 100 .loc 2 1153 5 view .LVU25 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 101 .loc 2 1155 4 view .LVU26 102 0014 02F10803 add r3, r2, #8 103 .LVL7: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 104 .loc 2 1155 4 is_stmt 0 view .LVU27 105 .syntax unified ARM GAS /tmp/cciGf5I5.s page 87 106 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 107 0018 53E8003F ldrex r3, [r3] 108 @ 0 "" 2 109 .LVL8: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 110 .loc 2 1156 4 is_stmt 1 view .LVU28 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 111 .loc 2 1156 4 is_stmt 0 view .LVU29 112 .thumb 113 .syntax unified 114 .LBE531: 115 .LBE530: 116 .loc 1 3587 3 discriminator 1 view .LVU30 117 001c 23F40003 bic r3, r3, #8388608 118 .LVL9: 119 .loc 1 3587 3 is_stmt 1 discriminator 1 view .LVU31 120 .LBB532: 121 .LBI532: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 122 .loc 2 1202 31 view .LVU32 123 .LBB533: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 124 .loc 2 1204 4 view .LVU33 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 125 .loc 2 1206 4 view .LVU34 126 0020 0832 adds r2, r2, #8 127 .LVL10: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 128 .loc 2 1206 4 is_stmt 0 view .LVU35 129 .syntax unified 130 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 131 0022 42E80031 strex r1, r3, [r2] 132 @ 0 "" 2 133 .LVL11: 134 .loc 2 1207 4 is_stmt 1 view .LVU36 135 .loc 2 1207 4 is_stmt 0 view .LVU37 136 .thumb 137 .syntax unified 138 .LBE533: 139 .LBE532: 140 .loc 1 3587 3 discriminator 1 view .LVU38 141 0026 0029 cmp r1, #0 142 0028 F3D1 bne .L3 143 .LBE529: 144 .loc 1 3587 3 is_stmt 1 discriminator 2 view .LVU39 3588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */ 3590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 145 .loc 1 3590 3 view .LVU40 146 .loc 1 3590 17 is_stmt 0 view .LVU41 147 002a 2023 movs r3, #32 148 .LVL12: 149 .loc 1 3590 17 view .LVU42 150 002c C0F88830 str r3, [r0, #136] 3591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 151 .loc 1 3591 1 view .LVU43 152 0030 7047 bx lr ARM GAS /tmp/cciGf5I5.s page 88 153 .cfi_endproc 154 .LFE378: 156 .section .text.UART_EndRxTransfer,"ax",%progbits 157 .align 1 158 .syntax unified 159 .thumb 160 .thumb_func 162 UART_EndRxTransfer: 163 .LFB379: 3592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief End ongoing Rx transfer on UART peripheral (following error detection or Reception comp 3596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 3597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 3598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart) 3600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 164 .loc 1 3600 1 is_stmt 1 view -0 165 .cfi_startproc 166 @ args = 0, pretend = 0, frame = 0 167 @ frame_needed = 0, uses_anonymous_args = 0 168 @ link register save eliminated. 169 .LVL13: 170 .L5: 3601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 3602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE)); 171 .loc 1 3602 3 discriminator 1 view .LVU45 172 .LBB534: 173 .loc 1 3602 3 discriminator 1 view .LVU46 174 .loc 1 3602 3 discriminator 1 view .LVU47 175 .loc 1 3602 3 discriminator 1 view .LVU48 176 0000 0268 ldr r2, [r0] 177 .LVL14: 178 .LBB535: 179 .LBI535: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 180 .loc 2 1151 31 view .LVU49 181 .LBB536: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 182 .loc 2 1153 5 view .LVU50 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 183 .loc 2 1155 4 view .LVU51 184 .syntax unified 185 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 186 0002 52E8003F ldrex r3, [r2] 187 @ 0 "" 2 188 .LVL15: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 189 .loc 2 1156 4 view .LVU52 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 190 .loc 2 1156 4 is_stmt 0 view .LVU53 191 .thumb 192 .syntax unified 193 .LBE536: 194 .LBE535: 195 .loc 1 3602 3 discriminator 1 view .LVU54 ARM GAS /tmp/cciGf5I5.s page 89 196 0006 23F49073 bic r3, r3, #288 197 .LVL16: 198 .loc 1 3602 3 is_stmt 1 discriminator 1 view .LVU55 199 .LBB537: 200 .LBI537: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 201 .loc 2 1202 31 view .LVU56 202 .LBB538: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 203 .loc 2 1204 4 view .LVU57 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 204 .loc 2 1206 4 view .LVU58 205 .syntax unified 206 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 207 000a 42E80031 strex r1, r3, [r2] 208 @ 0 "" 2 209 .LVL17: 210 .loc 2 1207 4 view .LVU59 211 .loc 2 1207 4 is_stmt 0 view .LVU60 212 .thumb 213 .syntax unified 214 .LBE538: 215 .LBE537: 216 .loc 1 3602 3 discriminator 1 view .LVU61 217 000e 0029 cmp r1, #0 218 0010 F6D1 bne .L5 219 .LVL18: 220 .L6: 221 .loc 1 3602 3 discriminator 1 view .LVU62 222 .LBE534: 223 .loc 1 3602 3 is_stmt 1 discriminator 2 view .LVU63 3603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 224 .loc 1 3603 3 discriminator 1 view .LVU64 225 .LBB539: 226 .loc 1 3603 3 discriminator 1 view .LVU65 227 .loc 1 3603 3 discriminator 1 view .LVU66 228 .loc 1 3603 3 discriminator 1 view .LVU67 229 0012 0268 ldr r2, [r0] 230 .LVL19: 231 .LBB540: 232 .LBI540: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 233 .loc 2 1151 31 view .LVU68 234 .LBB541: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 235 .loc 2 1153 5 view .LVU69 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 236 .loc 2 1155 4 view .LVU70 237 0014 02F10803 add r3, r2, #8 238 .LVL20: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 239 .loc 2 1155 4 is_stmt 0 view .LVU71 240 .syntax unified 241 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 242 0018 53E8003F ldrex r3, [r3] 243 @ 0 "" 2 244 .LVL21: ARM GAS /tmp/cciGf5I5.s page 90 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 245 .loc 2 1156 4 is_stmt 1 view .LVU72 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 246 .loc 2 1156 4 is_stmt 0 view .LVU73 247 .thumb 248 .syntax unified 249 .LBE541: 250 .LBE540: 251 .loc 1 3603 3 discriminator 1 view .LVU74 252 001c 23F08053 bic r3, r3, #268435456 253 0020 23F00103 bic r3, r3, #1 254 .LVL22: 255 .loc 1 3603 3 is_stmt 1 discriminator 1 view .LVU75 256 .LBB542: 257 .LBI542: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 258 .loc 2 1202 31 view .LVU76 259 .LBB543: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 260 .loc 2 1204 4 view .LVU77 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 261 .loc 2 1206 4 view .LVU78 262 0024 0832 adds r2, r2, #8 263 .LVL23: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 264 .loc 2 1206 4 is_stmt 0 view .LVU79 265 .syntax unified 266 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 267 0026 42E80031 strex r1, r3, [r2] 268 @ 0 "" 2 269 .LVL24: 270 .loc 2 1207 4 is_stmt 1 view .LVU80 271 .loc 2 1207 4 is_stmt 0 view .LVU81 272 .thumb 273 .syntax unified 274 .LBE543: 275 .LBE542: 276 .loc 1 3603 3 discriminator 1 view .LVU82 277 002a 0029 cmp r1, #0 278 002c F1D1 bne .L6 279 .LBE539: 280 .loc 1 3603 3 is_stmt 1 discriminator 2 view .LVU83 3604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* In case of reception waiting for IDLE event, disable also the IDLE IE interrupt source */ 3606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 281 .loc 1 3606 3 view .LVU84 282 .loc 1 3606 12 is_stmt 0 view .LVU85 283 002e C36E ldr r3, [r0, #108] 284 .LVL25: 285 .loc 1 3606 6 view .LVU86 286 0030 012B cmp r3, #1 287 0032 06D0 beq .L8 288 .L7: 3607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 289 .loc 1 3608 5 is_stmt 1 discriminator 2 view .LVU87 3609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cciGf5I5.s page 91 3610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 3612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 290 .loc 1 3612 3 view .LVU88 291 .loc 1 3612 18 is_stmt 0 view .LVU89 292 0034 2023 movs r3, #32 293 0036 C0F88C30 str r3, [r0, #140] 3613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 294 .loc 1 3613 3 is_stmt 1 view .LVU90 295 .loc 1 3613 24 is_stmt 0 view .LVU91 296 003a 0023 movs r3, #0 297 003c C366 str r3, [r0, #108] 3614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset RxIsr function pointer */ 3616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL; 298 .loc 1 3616 3 is_stmt 1 view .LVU92 299 .loc 1 3616 16 is_stmt 0 view .LVU93 300 003e 4367 str r3, [r0, #116] 3617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 301 .loc 1 3617 1 view .LVU94 302 0040 7047 bx lr 303 .L8: 3608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 304 .loc 1 3608 5 is_stmt 1 discriminator 1 view .LVU95 305 .LBB544: 3608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 306 .loc 1 3608 5 discriminator 1 view .LVU96 3608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 307 .loc 1 3608 5 discriminator 1 view .LVU97 3608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 308 .loc 1 3608 5 discriminator 1 view .LVU98 309 0042 0268 ldr r2, [r0] 310 .LVL26: 311 .LBB545: 312 .LBI545: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 313 .loc 2 1151 31 view .LVU99 314 .LBB546: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 315 .loc 2 1153 5 view .LVU100 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 316 .loc 2 1155 4 view .LVU101 317 .syntax unified 318 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 319 0044 52E8003F ldrex r3, [r2] 320 @ 0 "" 2 321 .LVL27: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 322 .loc 2 1156 4 view .LVU102 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 323 .loc 2 1156 4 is_stmt 0 view .LVU103 324 .thumb 325 .syntax unified 326 .LBE546: 327 .LBE545: 3608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 328 .loc 1 3608 5 discriminator 1 view .LVU104 ARM GAS /tmp/cciGf5I5.s page 92 329 0048 23F01003 bic r3, r3, #16 330 .LVL28: 3608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 331 .loc 1 3608 5 is_stmt 1 discriminator 1 view .LVU105 332 .LBB547: 333 .LBI547: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 334 .loc 2 1202 31 view .LVU106 335 .LBB548: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 336 .loc 2 1204 4 view .LVU107 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 337 .loc 2 1206 4 view .LVU108 338 .syntax unified 339 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 340 004c 42E80031 strex r1, r3, [r2] 341 @ 0 "" 2 342 .LVL29: 343 .loc 2 1207 4 view .LVU109 344 .loc 2 1207 4 is_stmt 0 view .LVU110 345 .thumb 346 .syntax unified 347 .LBE548: 348 .LBE547: 3608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 349 .loc 1 3608 5 discriminator 1 view .LVU111 350 0050 0029 cmp r1, #0 351 0052 F6D1 bne .L8 352 0054 EEE7 b .L7 353 .LBE544: 354 .cfi_endproc 355 .LFE379: 357 .section .text.UART_TxISR_8BIT,"ax",%progbits 358 .align 1 359 .syntax unified 360 .thumb 361 .thumb_func 363 UART_TxISR_8BIT: 364 .LVL30: 365 .LFB390: 3618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DMA UART transmit process complete callback. 3622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param hdma DMA handle. 3623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 3624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma) 3626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* DMA Normal mode */ 3630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_CLR(hdma->Instance->CCR, DMA_CCR_CIRC)) 3631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U; 3633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the DMA transfer for transmit request by resetting the DMAT bit ARM GAS /tmp/cciGf5I5.s page 93 3635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** in the UART CR3 register */ 3636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 3637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */ 3639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE); 3640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* DMA Circular mode */ 3642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 3643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Tx complete callback*/ 3646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxCpltCallback(huart); 3647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 3648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/ 3649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart); 3650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DMA UART transmit process half complete callback. 3656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param hdma DMA handle. 3657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 3658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma) 3660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Tx Half complete callback*/ 3665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxHalfCpltCallback(huart); 3666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 3667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Tx Half complete callback*/ 3668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_TxHalfCpltCallback(huart); 3669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DMA UART receive process complete callback. 3674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param hdma DMA handle. 3675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 3676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma) 3678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* DMA Normal mode */ 3682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_CLR(hdma->Instance->CCR, DMA_CCR_CIRC)) 3683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 3685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */ 3687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); 3688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3690:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by resetting the DMAR bit 3691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** in the UART CR3 register */ ARM GAS /tmp/cciGf5I5.s page 94 3692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 3693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 3695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If Reception till IDLE event has been selected, Disable IDLE Interrupt */ 3698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 3699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 3701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution; 3705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** In this case, Rx Event type is Transfer Complete */ 3706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 3707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check current reception Mode : 3709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** If Reception till IDLE event has been selected : use Rx Event callback */ 3710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 3711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx Event callback*/ 3714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize); 3715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 3716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 3717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize); 3718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 3721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* In other cases : use Rx Complete callback */ 3723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx complete callback*/ 3725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxCpltCallback(huart); 3726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 3727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/ 3728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart); 3729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DMA UART receive process half complete callback. 3735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param hdma DMA handle. 3736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 3737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma) 3739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution; 3743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** In this case, Rx Event type is Half Transfer */ 3744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_HT; 3745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check current reception Mode : 3747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** If Reception till IDLE event has been selected : use Rx Event callback */ 3748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) ARM GAS /tmp/cciGf5I5.s page 95 3749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx Event callback*/ 3752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize / 2U); 3753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 3754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 3755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize / 2U); 3756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 3759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* In other cases : use Rx Half Complete callback */ 3761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx Half complete callback*/ 3763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxHalfCpltCallback(huart); 3764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 3765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx Half complete callback*/ 3766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_RxHalfCpltCallback(huart); 3767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DMA UART communication error callback. 3773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param hdma DMA handle. 3774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 3775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma) 3777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; 3781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 3782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */ 3784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) && 3785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 3786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U; 3788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_EndTxTransfer(huart); 3789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */ 3792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) && 3793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 3794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 3796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_EndRxTransfer(huart); 3797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_DMA; 3800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered error callback*/ 3803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCallback(huart); 3804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 3805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak error callback*/ ARM GAS /tmp/cciGf5I5.s page 96 3806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 3807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DMA UART communication abort callback, when initiated by HAL services on Error 3812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * (To be called at end of DMA Abort procedure following error occurrence). 3813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param hdma DMA handle. 3814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 3815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma) 3817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 3820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered error callback*/ 3823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCallback(huart); 3824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 3825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak error callback*/ 3826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 3827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user 3832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * (To be called at end of DMA Tx Abort procedure following user abort request). 3833: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 3834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * Abort still ongoing for Rx DMA Handle. 3835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param hdma DMA handle. 3836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 3837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma) 3839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 3843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check if an Abort process is still ongoing */ 3845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmarx != NULL) 3846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmarx->XferAbortCallback != NULL) 3848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return; 3850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba 3854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U; 3855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 3856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset errorCode */ 3858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 3861: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); 3862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cciGf5I5.s page 97 3863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Flush the whole TX FIFO (if needed) */ 3864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->FifoMode == UART_FIFOMODE_ENABLE) 3865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_TXDATA_FLUSH_REQUEST); 3867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */ 3870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call user Abort complete callback */ 3875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Abort complete callback */ 3877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortCpltCallback(huart); 3878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 3879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Abort complete callback */ 3880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart); 3881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user 3887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * (To be called at end of DMA Rx Abort procedure following user abort request). 3888: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 3889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * Abort still ongoing for Tx DMA Handle. 3890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param hdma DMA handle. 3891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 3892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma) 3894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 3898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check if an Abort process is still ongoing */ 3900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmatx != NULL) 3901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmatx->XferAbortCallback != NULL) 3903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return; 3905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba 3909:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U; 3910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 3911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset errorCode */ 3913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 3916: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); 3917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Discard the received data */ 3919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); ARM GAS /tmp/cciGf5I5.s page 98 3920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */ 3922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call user Abort complete callback */ 3927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Abort complete callback */ 3929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortCpltCallback(huart); 3930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 3931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Abort complete callback */ 3932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart); 3933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3938:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user by a call to 3939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * HAL_UART_AbortTransmit_IT API (Abort only Tx transfer) 3940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * (This callback is executed at end of DMA Tx Abort procedure following user abort reques 3941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * and leads to user Tx Abort Complete callback execution). 3942:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param hdma DMA handle. 3943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 3944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma) 3946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U; 3950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Flush the whole TX FIFO (if needed) */ 3952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->FifoMode == UART_FIFOMODE_ENABLE) 3953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_TXDATA_FLUSH_REQUEST); 3955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->gState to Ready */ 3958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call user Abort complete callback */ 3961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */ 3963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart); 3964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 3965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */ 3966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart); 3967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user by a call to 3972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * HAL_UART_AbortReceive_IT API (Abort only Rx transfer) 3973:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * (This callback is executed at end of DMA Rx Abort procedure following user abort reques 3974:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * and leads to user Rx Abort Complete callback execution). 3975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param hdma DMA handle. 3976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None ARM GAS /tmp/cciGf5I5.s page 99 3977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma) 3979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 3981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 3983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 3985: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); 3986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Discard the received data */ 3988:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 3989:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->RxState to Ready */ 3991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call user Abort complete callback */ 3995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */ 3997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart); 3998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 3999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */ 4000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart); 4001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 4005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief TX interrupt handler for 7 or 8 bits data word length . 4006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note Function is called under interruption only, once 4007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT(). 4008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 4009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 4010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 4011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_TxISR_8BIT(UART_HandleTypeDef *huart) 4012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 366 .loc 1 4012 1 is_stmt 1 view -0 367 .cfi_startproc 368 @ args = 0, pretend = 0, frame = 0 369 @ frame_needed = 0, uses_anonymous_args = 0 370 @ link register save eliminated. 4013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is ongoing */ 4014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) 371 .loc 1 4014 3 view .LVU113 372 .loc 1 4014 12 is_stmt 0 view .LVU114 373 0000 D0F88830 ldr r3, [r0, #136] 374 .loc 1 4014 6 view .LVU115 375 0004 212B cmp r3, #33 376 0006 00D0 beq .L14 377 .L9: 4015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->TxXferCount == 0U) 4017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Transmit Data Register Empty Interrupt */ 4019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TXEIE_TXFNFIE); 4020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */ ARM GAS /tmp/cciGf5I5.s page 100 4022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE); 4023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 4025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->TDR = (uint8_t)(*huart->pTxBuffPtr & (uint8_t)0xFF); 4027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr++; 4028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; 4029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 378 .loc 1 4031 1 view .LVU116 379 0008 7047 bx lr 380 .L14: 4016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 381 .loc 1 4016 5 is_stmt 1 view .LVU117 4016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 382 .loc 1 4016 14 is_stmt 0 view .LVU118 383 000a B0F85630 ldrh r3, [r0, #86] 384 000e 9BB2 uxth r3, r3 4016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 385 .loc 1 4016 8 view .LVU119 386 0010 93B9 cbnz r3, .L11 387 .L12: 4019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 388 .loc 1 4019 7 is_stmt 1 discriminator 1 view .LVU120 389 .LBB549: 4019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 390 .loc 1 4019 7 discriminator 1 view .LVU121 4019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 391 .loc 1 4019 7 discriminator 1 view .LVU122 4019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 392 .loc 1 4019 7 discriminator 1 view .LVU123 393 0012 0268 ldr r2, [r0] 394 .LVL31: 395 .LBB550: 396 .LBI550: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 397 .loc 2 1151 31 view .LVU124 398 .LBB551: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 399 .loc 2 1153 5 view .LVU125 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 400 .loc 2 1155 4 view .LVU126 401 .syntax unified 402 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 403 0014 52E8003F ldrex r3, [r2] 404 @ 0 "" 2 405 .LVL32: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 406 .loc 2 1156 4 view .LVU127 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 407 .loc 2 1156 4 is_stmt 0 view .LVU128 408 .thumb 409 .syntax unified 410 .LBE551: 411 .LBE550: 4019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cciGf5I5.s page 101 412 .loc 1 4019 7 discriminator 1 view .LVU129 413 0018 23F08003 bic r3, r3, #128 414 .LVL33: 4019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 415 .loc 1 4019 7 is_stmt 1 discriminator 1 view .LVU130 416 .LBB552: 417 .LBI552: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 418 .loc 2 1202 31 view .LVU131 419 .LBB553: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 420 .loc 2 1204 4 view .LVU132 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 421 .loc 2 1206 4 view .LVU133 422 .syntax unified 423 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 424 001c 42E80031 strex r1, r3, [r2] 425 @ 0 "" 2 426 .LVL34: 427 .loc 2 1207 4 view .LVU134 428 .loc 2 1207 4 is_stmt 0 view .LVU135 429 .thumb 430 .syntax unified 431 .LBE553: 432 .LBE552: 4019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 433 .loc 1 4019 7 discriminator 1 view .LVU136 434 0020 0029 cmp r1, #0 435 0022 F6D1 bne .L12 436 .LVL35: 437 .L13: 4019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 438 .loc 1 4019 7 discriminator 1 view .LVU137 439 .LBE549: 4019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 440 .loc 1 4019 7 is_stmt 1 discriminator 2 view .LVU138 4022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 441 .loc 1 4022 7 discriminator 1 view .LVU139 442 .LBB554: 4022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 443 .loc 1 4022 7 discriminator 1 view .LVU140 4022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 444 .loc 1 4022 7 discriminator 1 view .LVU141 4022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 445 .loc 1 4022 7 discriminator 1 view .LVU142 446 0024 0268 ldr r2, [r0] 447 .LVL36: 448 .LBB555: 449 .LBI555: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 450 .loc 2 1151 31 view .LVU143 451 .LBB556: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 452 .loc 2 1153 5 view .LVU144 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 453 .loc 2 1155 4 view .LVU145 454 .syntax unified ARM GAS /tmp/cciGf5I5.s page 102 455 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 456 0026 52E8003F ldrex r3, [r2] 457 @ 0 "" 2 458 .LVL37: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 459 .loc 2 1156 4 view .LVU146 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 460 .loc 2 1156 4 is_stmt 0 view .LVU147 461 .thumb 462 .syntax unified 463 .LBE556: 464 .LBE555: 4022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 465 .loc 1 4022 7 discriminator 1 view .LVU148 466 002a 43F04003 orr r3, r3, #64 467 .LVL38: 4022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 468 .loc 1 4022 7 is_stmt 1 discriminator 1 view .LVU149 469 .LBB557: 470 .LBI557: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 471 .loc 2 1202 31 view .LVU150 472 .LBB558: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 473 .loc 2 1204 4 view .LVU151 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 474 .loc 2 1206 4 view .LVU152 475 .syntax unified 476 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 477 002e 42E80031 strex r1, r3, [r2] 478 @ 0 "" 2 479 .LVL39: 480 .loc 2 1207 4 view .LVU153 481 .loc 2 1207 4 is_stmt 0 view .LVU154 482 .thumb 483 .syntax unified 484 .LBE558: 485 .LBE557: 4022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 486 .loc 1 4022 7 discriminator 1 view .LVU155 487 0032 0029 cmp r1, #0 488 0034 F6D1 bne .L13 489 0036 7047 bx lr 490 .LVL40: 491 .L11: 4022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 492 .loc 1 4022 7 discriminator 1 view .LVU156 493 .LBE554: 4026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr++; 494 .loc 1 4026 7 is_stmt 1 view .LVU157 4026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr++; 495 .loc 1 4026 46 is_stmt 0 view .LVU158 496 0038 036D ldr r3, [r0, #80] 4026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr++; 497 .loc 1 4026 40 view .LVU159 498 003a 1A78 ldrb r2, [r3] @ zero_extendqisi2 4026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr++; ARM GAS /tmp/cciGf5I5.s page 103 499 .loc 1 4026 12 view .LVU160 500 003c 0368 ldr r3, [r0] 4026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr++; 501 .loc 1 4026 28 view .LVU161 502 003e 9A62 str r2, [r3, #40] 4027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; 503 .loc 1 4027 7 is_stmt 1 view .LVU162 4027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; 504 .loc 1 4027 12 is_stmt 0 view .LVU163 505 0040 036D ldr r3, [r0, #80] 4027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; 506 .loc 1 4027 24 view .LVU164 507 0042 0133 adds r3, r3, #1 508 0044 0365 str r3, [r0, #80] 4028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 509 .loc 1 4028 7 is_stmt 1 view .LVU165 4028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 510 .loc 1 4028 12 is_stmt 0 view .LVU166 511 0046 B0F85630 ldrh r3, [r0, #86] 512 004a 9BB2 uxth r3, r3 4028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 513 .loc 1 4028 25 view .LVU167 514 004c 013B subs r3, r3, #1 515 004e 9BB2 uxth r3, r3 516 0050 A0F85630 strh r3, [r0, #86] @ movhi 517 .loc 1 4031 1 view .LVU168 518 0054 D8E7 b .L9 519 .cfi_endproc 520 .LFE390: 522 .section .text.UART_TxISR_16BIT,"ax",%progbits 523 .align 1 524 .syntax unified 525 .thumb 526 .thumb_func 528 UART_TxISR_16BIT: 529 .LVL41: 530 .LFB391: 4032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 4034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief TX interrupt handler for 9 bits data word length. 4035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note Function is called under interruption only, once 4036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT(). 4037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 4038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 4039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 4040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_TxISR_16BIT(UART_HandleTypeDef *huart) 4041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 531 .loc 1 4041 1 is_stmt 1 view -0 532 .cfi_startproc 533 @ args = 0, pretend = 0, frame = 0 534 @ frame_needed = 0, uses_anonymous_args = 0 535 @ link register save eliminated. 4042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const uint16_t *tmp; 536 .loc 1 4042 3 view .LVU170 4043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is ongoing */ 4045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) ARM GAS /tmp/cciGf5I5.s page 104 537 .loc 1 4045 3 view .LVU171 538 .loc 1 4045 12 is_stmt 0 view .LVU172 539 0000 D0F88830 ldr r3, [r0, #136] 540 .loc 1 4045 6 view .LVU173 541 0004 212B cmp r3, #33 542 0006 00D0 beq .L20 543 .L15: 4046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->TxXferCount == 0U) 4048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Transmit Data Register Empty Interrupt */ 4050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TXEIE_TXFNFIE); 4051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */ 4053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE); 4054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 4056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tmp = (const uint16_t *) huart->pTxBuffPtr; 4058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL); 4059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 4060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; 4061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 544 .loc 1 4063 1 view .LVU174 545 0008 7047 bx lr 546 .L20: 4047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 547 .loc 1 4047 5 is_stmt 1 view .LVU175 4047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 548 .loc 1 4047 14 is_stmt 0 view .LVU176 549 000a B0F85630 ldrh r3, [r0, #86] 550 000e 9BB2 uxth r3, r3 4047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 551 .loc 1 4047 8 view .LVU177 552 0010 93B9 cbnz r3, .L17 553 .L18: 4050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 554 .loc 1 4050 7 is_stmt 1 discriminator 1 view .LVU178 555 .LBB559: 4050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 556 .loc 1 4050 7 discriminator 1 view .LVU179 4050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 557 .loc 1 4050 7 discriminator 1 view .LVU180 4050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 558 .loc 1 4050 7 discriminator 1 view .LVU181 559 0012 0268 ldr r2, [r0] 560 .LVL42: 561 .LBB560: 562 .LBI560: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 563 .loc 2 1151 31 view .LVU182 564 .LBB561: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 565 .loc 2 1153 5 view .LVU183 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS /tmp/cciGf5I5.s page 105 566 .loc 2 1155 4 view .LVU184 567 .syntax unified 568 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 569 0014 52E8003F ldrex r3, [r2] 570 @ 0 "" 2 571 .LVL43: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 572 .loc 2 1156 4 view .LVU185 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 573 .loc 2 1156 4 is_stmt 0 view .LVU186 574 .thumb 575 .syntax unified 576 .LBE561: 577 .LBE560: 4050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 578 .loc 1 4050 7 discriminator 1 view .LVU187 579 0018 23F08003 bic r3, r3, #128 580 .LVL44: 4050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 581 .loc 1 4050 7 is_stmt 1 discriminator 1 view .LVU188 582 .LBB562: 583 .LBI562: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 584 .loc 2 1202 31 view .LVU189 585 .LBB563: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 586 .loc 2 1204 4 view .LVU190 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 587 .loc 2 1206 4 view .LVU191 588 .syntax unified 589 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 590 001c 42E80031 strex r1, r3, [r2] 591 @ 0 "" 2 592 .LVL45: 593 .loc 2 1207 4 view .LVU192 594 .loc 2 1207 4 is_stmt 0 view .LVU193 595 .thumb 596 .syntax unified 597 .LBE563: 598 .LBE562: 4050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 599 .loc 1 4050 7 discriminator 1 view .LVU194 600 0020 0029 cmp r1, #0 601 0022 F6D1 bne .L18 602 .LVL46: 603 .L19: 4050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 604 .loc 1 4050 7 discriminator 1 view .LVU195 605 .LBE559: 4050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 606 .loc 1 4050 7 is_stmt 1 discriminator 2 view .LVU196 4053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 607 .loc 1 4053 7 discriminator 1 view .LVU197 608 .LBB564: 4053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 609 .loc 1 4053 7 discriminator 1 view .LVU198 4053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cciGf5I5.s page 106 610 .loc 1 4053 7 discriminator 1 view .LVU199 4053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 611 .loc 1 4053 7 discriminator 1 view .LVU200 612 0024 0268 ldr r2, [r0] 613 .LVL47: 614 .LBB565: 615 .LBI565: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 616 .loc 2 1151 31 view .LVU201 617 .LBB566: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 618 .loc 2 1153 5 view .LVU202 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 619 .loc 2 1155 4 view .LVU203 620 .syntax unified 621 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 622 0026 52E8003F ldrex r3, [r2] 623 @ 0 "" 2 624 .LVL48: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 625 .loc 2 1156 4 view .LVU204 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 626 .loc 2 1156 4 is_stmt 0 view .LVU205 627 .thumb 628 .syntax unified 629 .LBE566: 630 .LBE565: 4053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 631 .loc 1 4053 7 discriminator 1 view .LVU206 632 002a 43F04003 orr r3, r3, #64 633 .LVL49: 4053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 634 .loc 1 4053 7 is_stmt 1 discriminator 1 view .LVU207 635 .LBB567: 636 .LBI567: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 637 .loc 2 1202 31 view .LVU208 638 .LBB568: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 639 .loc 2 1204 4 view .LVU209 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 640 .loc 2 1206 4 view .LVU210 641 .syntax unified 642 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 643 002e 42E80031 strex r1, r3, [r2] 644 @ 0 "" 2 645 .LVL50: 646 .loc 2 1207 4 view .LVU211 647 .loc 2 1207 4 is_stmt 0 view .LVU212 648 .thumb 649 .syntax unified 650 .LBE568: 651 .LBE567: 4053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 652 .loc 1 4053 7 discriminator 1 view .LVU213 653 0032 0029 cmp r1, #0 654 0034 F6D1 bne .L19 ARM GAS /tmp/cciGf5I5.s page 107 655 0036 7047 bx lr 656 .LVL51: 657 .L17: 4053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 658 .loc 1 4053 7 discriminator 1 view .LVU214 659 .LBE564: 4057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL); 660 .loc 1 4057 7 is_stmt 1 view .LVU215 4057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL); 661 .loc 1 4057 11 is_stmt 0 view .LVU216 662 0038 036D ldr r3, [r0, #80] 663 .LVL52: 4058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 664 .loc 1 4058 7 is_stmt 1 view .LVU217 4058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 665 .loc 1 4058 43 is_stmt 0 view .LVU218 666 003a 1B88 ldrh r3, [r3] 667 .LVL53: 4058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 668 .loc 1 4058 12 view .LVU219 669 003c 0268 ldr r2, [r0] 4058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 670 .loc 1 4058 50 view .LVU220 671 003e C3F30803 ubfx r3, r3, #0, #9 4058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 672 .loc 1 4058 28 view .LVU221 673 0042 9362 str r3, [r2, #40] 674 .LVL54: 4059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; 675 .loc 1 4059 7 is_stmt 1 view .LVU222 4059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; 676 .loc 1 4059 12 is_stmt 0 view .LVU223 677 0044 036D ldr r3, [r0, #80] 4059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; 678 .loc 1 4059 25 view .LVU224 679 0046 0233 adds r3, r3, #2 680 0048 0365 str r3, [r0, #80] 4060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 681 .loc 1 4060 7 is_stmt 1 view .LVU225 4060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 682 .loc 1 4060 12 is_stmt 0 view .LVU226 683 004a B0F85630 ldrh r3, [r0, #86] 684 004e 9BB2 uxth r3, r3 4060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 685 .loc 1 4060 25 view .LVU227 686 0050 013B subs r3, r3, #1 687 0052 9BB2 uxth r3, r3 688 0054 A0F85630 strh r3, [r0, #86] @ movhi 689 .loc 1 4063 1 view .LVU228 690 0058 D6E7 b .L15 691 .cfi_endproc 692 .LFE391: 694 .section .text.UART_TxISR_8BIT_FIFOEN,"ax",%progbits 695 .align 1 696 .syntax unified 697 .thumb 698 .thumb_func ARM GAS /tmp/cciGf5I5.s page 108 700 UART_TxISR_8BIT_FIFOEN: 701 .LVL55: 702 .LFB392: 4064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 4066: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. 4067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note Function is called under interruption only, once 4068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT(). 4069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 4070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 4071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 4072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_TxISR_8BIT_FIFOEN(UART_HandleTypeDef *huart) 4073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 703 .loc 1 4073 1 is_stmt 1 view -0 704 .cfi_startproc 705 @ args = 0, pretend = 0, frame = 0 706 @ frame_needed = 0, uses_anonymous_args = 0 707 @ link register save eliminated. 4074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t nb_tx_data; 708 .loc 1 4074 3 view .LVU230 4075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is ongoing */ 4077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) 709 .loc 1 4077 3 view .LVU231 710 .loc 1 4077 12 is_stmt 0 view .LVU232 711 0000 D0F88830 ldr r3, [r0, #136] 712 .loc 1 4077 6 view .LVU233 713 0004 212B cmp r3, #33 714 0006 00D0 beq .L29 715 .L21: 4078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** for (nb_tx_data = huart->NbTxDataToProcess ; nb_tx_data > 0U ; nb_tx_data--) 4080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->TxXferCount == 0U) 4082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the TX FIFO threshold interrupt */ 4084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 4085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */ 4087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE); 4088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; /* force exit loop */ 4090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else if (READ_BIT(huart->Instance->ISR, USART_ISR_TXE_TXFNF) != 0U) 4092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->TDR = (uint8_t)(*huart->pTxBuffPtr & (uint8_t)0xFF); 4094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr++; 4095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; 4096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 4098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Nothing to do */ 4100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 716 .loc 1 4103 1 view .LVU234 ARM GAS /tmp/cciGf5I5.s page 109 717 0008 7047 bx lr 718 .L29: 4079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 719 .loc 1 4079 5 is_stmt 1 view .LVU235 4079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 720 .loc 1 4079 21 is_stmt 0 view .LVU236 721 000a B0F86A30 ldrh r3, [r0, #106] 722 .LVL56: 4079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 723 .loc 1 4079 5 view .LVU237 724 000e 17E0 b .L23 725 .LVL57: 726 .L25: 4084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 727 .loc 1 4084 9 is_stmt 1 discriminator 1 view .LVU238 728 .LBB569: 4084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 729 .loc 1 4084 9 discriminator 1 view .LVU239 4084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 730 .loc 1 4084 9 discriminator 1 view .LVU240 4084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 731 .loc 1 4084 9 discriminator 1 view .LVU241 732 0010 0268 ldr r2, [r0] 733 .LVL58: 734 .LBB570: 735 .LBI570: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 736 .loc 2 1151 31 view .LVU242 737 .LBB571: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 738 .loc 2 1153 5 view .LVU243 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 739 .loc 2 1155 4 view .LVU244 740 0012 02F10803 add r3, r2, #8 741 .LVL59: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 742 .loc 2 1155 4 is_stmt 0 view .LVU245 743 .syntax unified 744 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 745 0016 53E8003F ldrex r3, [r3] 746 @ 0 "" 2 747 .LVL60: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 748 .loc 2 1156 4 is_stmt 1 view .LVU246 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 749 .loc 2 1156 4 is_stmt 0 view .LVU247 750 .thumb 751 .syntax unified 752 .LBE571: 753 .LBE570: 4084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 754 .loc 1 4084 9 discriminator 1 view .LVU248 755 001a 23F40003 bic r3, r3, #8388608 756 .LVL61: 4084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 757 .loc 1 4084 9 is_stmt 1 discriminator 1 view .LVU249 758 .LBB572: ARM GAS /tmp/cciGf5I5.s page 110 759 .LBI572: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 760 .loc 2 1202 31 view .LVU250 761 .LBB573: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 762 .loc 2 1204 4 view .LVU251 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 763 .loc 2 1206 4 view .LVU252 764 001e 0832 adds r2, r2, #8 765 .LVL62: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 766 .loc 2 1206 4 is_stmt 0 view .LVU253 767 .syntax unified 768 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 769 0020 42E80031 strex r1, r3, [r2] 770 @ 0 "" 2 771 .LVL63: 772 .loc 2 1207 4 is_stmt 1 view .LVU254 773 .loc 2 1207 4 is_stmt 0 view .LVU255 774 .thumb 775 .syntax unified 776 .LBE573: 777 .LBE572: 4084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 778 .loc 1 4084 9 discriminator 1 view .LVU256 779 0024 0029 cmp r1, #0 780 0026 F3D1 bne .L25 781 .LVL64: 782 .L26: 4084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 783 .loc 1 4084 9 discriminator 1 view .LVU257 784 .LBE569: 4084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 785 .loc 1 4084 9 is_stmt 1 discriminator 2 view .LVU258 4087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 786 .loc 1 4087 9 discriminator 1 view .LVU259 787 .LBB574: 4087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 788 .loc 1 4087 9 discriminator 1 view .LVU260 4087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 789 .loc 1 4087 9 discriminator 1 view .LVU261 4087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 790 .loc 1 4087 9 discriminator 1 view .LVU262 791 0028 0268 ldr r2, [r0] 792 .LVL65: 793 .LBB575: 794 .LBI575: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 795 .loc 2 1151 31 view .LVU263 796 .LBB576: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 797 .loc 2 1153 5 view .LVU264 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 798 .loc 2 1155 4 view .LVU265 799 .syntax unified 800 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 801 002a 52E8003F ldrex r3, [r2] ARM GAS /tmp/cciGf5I5.s page 111 802 @ 0 "" 2 803 .LVL66: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 804 .loc 2 1156 4 view .LVU266 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 805 .loc 2 1156 4 is_stmt 0 view .LVU267 806 .thumb 807 .syntax unified 808 .LBE576: 809 .LBE575: 4087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 810 .loc 1 4087 9 discriminator 1 view .LVU268 811 002e 43F04003 orr r3, r3, #64 812 .LVL67: 4087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 813 .loc 1 4087 9 is_stmt 1 discriminator 1 view .LVU269 814 .LBB577: 815 .LBI577: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 816 .loc 2 1202 31 view .LVU270 817 .LBB578: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 818 .loc 2 1204 4 view .LVU271 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 819 .loc 2 1206 4 view .LVU272 820 .syntax unified 821 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 822 0032 42E80031 strex r1, r3, [r2] 823 @ 0 "" 2 824 .LVL68: 825 .loc 2 1207 4 view .LVU273 826 .loc 2 1207 4 is_stmt 0 view .LVU274 827 .thumb 828 .syntax unified 829 .LBE578: 830 .LBE577: 4087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 831 .loc 1 4087 9 discriminator 1 view .LVU275 832 0036 0029 cmp r1, #0 833 0038 F6D1 bne .L26 834 003a 7047 bx lr 835 .LVL69: 836 .L27: 4087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 837 .loc 1 4087 9 discriminator 1 view .LVU276 838 .LBE574: 4100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 839 .loc 1 4100 7 is_stmt 1 view .LVU277 4079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 840 .loc 1 4079 78 discriminator 2 view .LVU278 841 003c 013B subs r3, r3, #1 842 .LVL70: 4079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 843 .loc 1 4079 78 is_stmt 0 discriminator 2 view .LVU279 844 003e 9BB2 uxth r3, r3 845 .LVL71: 846 .L23: ARM GAS /tmp/cciGf5I5.s page 112 4079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 847 .loc 1 4079 61 is_stmt 1 discriminator 1 view .LVU280 848 0040 002B cmp r3, #0 849 0042 E1D0 beq .L21 4081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 850 .loc 1 4081 7 view .LVU281 4081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 851 .loc 1 4081 16 is_stmt 0 view .LVU282 852 0044 B0F85620 ldrh r2, [r0, #86] 853 0048 92B2 uxth r2, r2 4081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 854 .loc 1 4081 10 view .LVU283 855 004a 002A cmp r2, #0 856 004c E0D0 beq .L25 4091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 857 .loc 1 4091 12 is_stmt 1 view .LVU284 4091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 858 .loc 1 4091 16 is_stmt 0 view .LVU285 859 004e 0268 ldr r2, [r0] 860 0050 D169 ldr r1, [r2, #28] 4091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 861 .loc 1 4091 15 view .LVU286 862 0052 11F0800F tst r1, #128 863 0056 F1D0 beq .L27 4093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr++; 864 .loc 1 4093 9 is_stmt 1 view .LVU287 4093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr++; 865 .loc 1 4093 48 is_stmt 0 view .LVU288 866 0058 016D ldr r1, [r0, #80] 4093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr++; 867 .loc 1 4093 42 view .LVU289 868 005a 0978 ldrb r1, [r1] @ zero_extendqisi2 4093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr++; 869 .loc 1 4093 30 view .LVU290 870 005c 9162 str r1, [r2, #40] 4094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; 871 .loc 1 4094 9 is_stmt 1 view .LVU291 4094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; 872 .loc 1 4094 14 is_stmt 0 view .LVU292 873 005e 026D ldr r2, [r0, #80] 4094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; 874 .loc 1 4094 26 view .LVU293 875 0060 0132 adds r2, r2, #1 876 0062 0265 str r2, [r0, #80] 4095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 877 .loc 1 4095 9 is_stmt 1 view .LVU294 4095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 878 .loc 1 4095 14 is_stmt 0 view .LVU295 879 0064 B0F85620 ldrh r2, [r0, #86] 880 0068 92B2 uxth r2, r2 4095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 881 .loc 1 4095 27 view .LVU296 882 006a 013A subs r2, r2, #1 883 006c 92B2 uxth r2, r2 884 006e A0F85620 strh r2, [r0, #86] @ movhi 885 0072 E3E7 b .L27 886 .cfi_endproc ARM GAS /tmp/cciGf5I5.s page 113 887 .LFE392: 889 .section .text.UART_TxISR_16BIT_FIFOEN,"ax",%progbits 890 .align 1 891 .syntax unified 892 .thumb 893 .thumb_func 895 UART_TxISR_16BIT_FIFOEN: 896 .LVL72: 897 .LFB393: 4104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 4106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief TX interrupt handler for 9 bits data word length and FIFO mode is enabled. 4107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note Function is called under interruption only, once 4108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT(). 4109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 4110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 4111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 4112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_TxISR_16BIT_FIFOEN(UART_HandleTypeDef *huart) 4113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 898 .loc 1 4113 1 is_stmt 1 view -0 899 .cfi_startproc 900 @ args = 0, pretend = 0, frame = 0 901 @ frame_needed = 0, uses_anonymous_args = 0 902 @ link register save eliminated. 4114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const uint16_t *tmp; 903 .loc 1 4114 3 view .LVU298 4115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t nb_tx_data; 904 .loc 1 4115 3 view .LVU299 4116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is ongoing */ 4118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) 905 .loc 1 4118 3 view .LVU300 906 .loc 1 4118 12 is_stmt 0 view .LVU301 907 0000 D0F88830 ldr r3, [r0, #136] 908 .loc 1 4118 6 view .LVU302 909 0004 212B cmp r3, #33 910 0006 00D0 beq .L38 911 .L30: 4119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** for (nb_tx_data = huart->NbTxDataToProcess ; nb_tx_data > 0U ; nb_tx_data--) 4121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->TxXferCount == 0U) 4123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the TX FIFO threshold interrupt */ 4125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 4126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */ 4128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE); 4129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; /* force exit loop */ 4131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else if (READ_BIT(huart->Instance->ISR, USART_ISR_TXE_TXFNF) != 0U) 4133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tmp = (const uint16_t *) huart->pTxBuffPtr; 4135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL); 4136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 4137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; ARM GAS /tmp/cciGf5I5.s page 114 4138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 4140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Nothing to do */ 4142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 912 .loc 1 4145 1 view .LVU303 913 0008 7047 bx lr 914 .L38: 4120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 915 .loc 1 4120 5 is_stmt 1 view .LVU304 4120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 916 .loc 1 4120 21 is_stmt 0 view .LVU305 917 000a B0F86A30 ldrh r3, [r0, #106] 918 .LVL73: 4120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 919 .loc 1 4120 5 view .LVU306 920 000e 17E0 b .L32 921 .LVL74: 922 .L34: 4125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 923 .loc 1 4125 9 is_stmt 1 discriminator 1 view .LVU307 924 .LBB579: 4125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 925 .loc 1 4125 9 discriminator 1 view .LVU308 4125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 926 .loc 1 4125 9 discriminator 1 view .LVU309 4125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 927 .loc 1 4125 9 discriminator 1 view .LVU310 928 0010 0268 ldr r2, [r0] 929 .LVL75: 930 .LBB580: 931 .LBI580: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 932 .loc 2 1151 31 view .LVU311 933 .LBB581: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 934 .loc 2 1153 5 view .LVU312 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 935 .loc 2 1155 4 view .LVU313 936 0012 02F10803 add r3, r2, #8 937 .LVL76: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 938 .loc 2 1155 4 is_stmt 0 view .LVU314 939 .syntax unified 940 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 941 0016 53E8003F ldrex r3, [r3] 942 @ 0 "" 2 943 .LVL77: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 944 .loc 2 1156 4 is_stmt 1 view .LVU315 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 945 .loc 2 1156 4 is_stmt 0 view .LVU316 946 .thumb 947 .syntax unified ARM GAS /tmp/cciGf5I5.s page 115 948 .LBE581: 949 .LBE580: 4125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 950 .loc 1 4125 9 discriminator 1 view .LVU317 951 001a 23F40003 bic r3, r3, #8388608 952 .LVL78: 4125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 953 .loc 1 4125 9 is_stmt 1 discriminator 1 view .LVU318 954 .LBB582: 955 .LBI582: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 956 .loc 2 1202 31 view .LVU319 957 .LBB583: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 958 .loc 2 1204 4 view .LVU320 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 959 .loc 2 1206 4 view .LVU321 960 001e 0832 adds r2, r2, #8 961 .LVL79: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 962 .loc 2 1206 4 is_stmt 0 view .LVU322 963 .syntax unified 964 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 965 0020 42E80031 strex r1, r3, [r2] 966 @ 0 "" 2 967 .LVL80: 968 .loc 2 1207 4 is_stmt 1 view .LVU323 969 .loc 2 1207 4 is_stmt 0 view .LVU324 970 .thumb 971 .syntax unified 972 .LBE583: 973 .LBE582: 4125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 974 .loc 1 4125 9 discriminator 1 view .LVU325 975 0024 0029 cmp r1, #0 976 0026 F3D1 bne .L34 977 .LVL81: 978 .L35: 4125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 979 .loc 1 4125 9 discriminator 1 view .LVU326 980 .LBE579: 4125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 981 .loc 1 4125 9 is_stmt 1 discriminator 2 view .LVU327 4128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 982 .loc 1 4128 9 discriminator 1 view .LVU328 983 .LBB584: 4128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 984 .loc 1 4128 9 discriminator 1 view .LVU329 4128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 985 .loc 1 4128 9 discriminator 1 view .LVU330 4128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 986 .loc 1 4128 9 discriminator 1 view .LVU331 987 0028 0268 ldr r2, [r0] 988 .LVL82: 989 .LBB585: 990 .LBI585: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { ARM GAS /tmp/cciGf5I5.s page 116 991 .loc 2 1151 31 view .LVU332 992 .LBB586: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 993 .loc 2 1153 5 view .LVU333 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 994 .loc 2 1155 4 view .LVU334 995 .syntax unified 996 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 997 002a 52E8003F ldrex r3, [r2] 998 @ 0 "" 2 999 .LVL83: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1000 .loc 2 1156 4 view .LVU335 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1001 .loc 2 1156 4 is_stmt 0 view .LVU336 1002 .thumb 1003 .syntax unified 1004 .LBE586: 1005 .LBE585: 4128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1006 .loc 1 4128 9 discriminator 1 view .LVU337 1007 002e 43F04003 orr r3, r3, #64 1008 .LVL84: 4128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1009 .loc 1 4128 9 is_stmt 1 discriminator 1 view .LVU338 1010 .LBB587: 1011 .LBI587: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1012 .loc 2 1202 31 view .LVU339 1013 .LBB588: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 1014 .loc 2 1204 4 view .LVU340 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1015 .loc 2 1206 4 view .LVU341 1016 .syntax unified 1017 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1018 0032 42E80031 strex r1, r3, [r2] 1019 @ 0 "" 2 1020 .LVL85: 1021 .loc 2 1207 4 view .LVU342 1022 .loc 2 1207 4 is_stmt 0 view .LVU343 1023 .thumb 1024 .syntax unified 1025 .LBE588: 1026 .LBE587: 4128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1027 .loc 1 4128 9 discriminator 1 view .LVU344 1028 0036 0029 cmp r1, #0 1029 0038 F6D1 bne .L35 1030 003a 7047 bx lr 1031 .LVL86: 1032 .L36: 4128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1033 .loc 1 4128 9 discriminator 1 view .LVU345 1034 .LBE584: 4142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1035 .loc 1 4142 7 is_stmt 1 view .LVU346 ARM GAS /tmp/cciGf5I5.s page 117 4120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1036 .loc 1 4120 78 discriminator 2 view .LVU347 1037 003c 013B subs r3, r3, #1 1038 .LVL87: 4120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1039 .loc 1 4120 78 is_stmt 0 discriminator 2 view .LVU348 1040 003e 9BB2 uxth r3, r3 1041 .LVL88: 1042 .L32: 4120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1043 .loc 1 4120 61 is_stmt 1 discriminator 1 view .LVU349 1044 0040 002B cmp r3, #0 1045 0042 E1D0 beq .L30 4122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1046 .loc 1 4122 7 view .LVU350 4122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1047 .loc 1 4122 16 is_stmt 0 view .LVU351 1048 0044 B0F85620 ldrh r2, [r0, #86] 1049 0048 92B2 uxth r2, r2 4122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1050 .loc 1 4122 10 view .LVU352 1051 004a 002A cmp r2, #0 1052 004c E0D0 beq .L34 4132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1053 .loc 1 4132 12 is_stmt 1 view .LVU353 4132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1054 .loc 1 4132 16 is_stmt 0 view .LVU354 1055 004e 0268 ldr r2, [r0] 1056 0050 D169 ldr r1, [r2, #28] 4132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1057 .loc 1 4132 15 view .LVU355 1058 0052 11F0800F tst r1, #128 1059 0056 F1D0 beq .L36 4134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL); 1060 .loc 1 4134 9 is_stmt 1 view .LVU356 4134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL); 1061 .loc 1 4134 13 is_stmt 0 view .LVU357 1062 0058 016D ldr r1, [r0, #80] 1063 .LVL89: 4135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 1064 .loc 1 4135 9 is_stmt 1 view .LVU358 4135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 1065 .loc 1 4135 45 is_stmt 0 view .LVU359 1066 005a 0988 ldrh r1, [r1] 1067 .LVL90: 4135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 1068 .loc 1 4135 52 view .LVU360 1069 005c C1F30801 ubfx r1, r1, #0, #9 4135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 1070 .loc 1 4135 30 view .LVU361 1071 0060 9162 str r1, [r2, #40] 1072 .LVL91: 4136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; 1073 .loc 1 4136 9 is_stmt 1 view .LVU362 4136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; 1074 .loc 1 4136 14 is_stmt 0 view .LVU363 1075 0062 026D ldr r2, [r0, #80] ARM GAS /tmp/cciGf5I5.s page 118 4136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; 1076 .loc 1 4136 27 view .LVU364 1077 0064 0232 adds r2, r2, #2 1078 0066 0265 str r2, [r0, #80] 4137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1079 .loc 1 4137 9 is_stmt 1 view .LVU365 4137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1080 .loc 1 4137 14 is_stmt 0 view .LVU366 1081 0068 B0F85620 ldrh r2, [r0, #86] 1082 006c 92B2 uxth r2, r2 4137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1083 .loc 1 4137 27 view .LVU367 1084 006e 013A subs r2, r2, #1 1085 0070 92B2 uxth r2, r2 1086 0072 A0F85620 strh r2, [r0, #86] @ movhi 1087 0076 E1E7 b .L36 1088 .cfi_endproc 1089 .LFE393: 1091 .section .text.HAL_UART_MspInit,"ax",%progbits 1092 .align 1 1093 .weak HAL_UART_MspInit 1094 .syntax unified 1095 .thumb 1096 .thumb_func 1098 HAL_UART_MspInit: 1099 .LVL92: 1100 .LFB334: 680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 1101 .loc 1 680 1 is_stmt 1 view -0 1102 .cfi_startproc 1103 @ args = 0, pretend = 0, frame = 0 1104 @ frame_needed = 0, uses_anonymous_args = 0 1105 @ link register save eliminated. 682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1106 .loc 1 682 3 view .LVU369 687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1107 .loc 1 687 1 is_stmt 0 view .LVU370 1108 0000 7047 bx lr 1109 .cfi_endproc 1110 .LFE334: 1112 .section .text.HAL_UART_MspDeInit,"ax",%progbits 1113 .align 1 1114 .weak HAL_UART_MspDeInit 1115 .syntax unified 1116 .thumb 1117 .thumb_func 1119 HAL_UART_MspDeInit: 1120 .LVL93: 1121 .LFB335: 695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 1122 .loc 1 695 1 is_stmt 1 view -0 1123 .cfi_startproc 1124 @ args = 0, pretend = 0, frame = 0 1125 @ frame_needed = 0, uses_anonymous_args = 0 1126 @ link register save eliminated. 697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1127 .loc 1 697 3 view .LVU372 ARM GAS /tmp/cciGf5I5.s page 119 702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1128 .loc 1 702 1 is_stmt 0 view .LVU373 1129 0000 7047 bx lr 1130 .cfi_endproc 1131 .LFE335: 1133 .section .text.HAL_UART_DeInit,"ax",%progbits 1134 .align 1 1135 .global HAL_UART_DeInit 1136 .syntax unified 1137 .thumb 1138 .thumb_func 1140 HAL_UART_DeInit: 1141 .LVL94: 1142 .LFB333: 633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */ 1143 .loc 1 633 1 is_stmt 1 view -0 1144 .cfi_startproc 1145 @ args = 0, pretend = 0, frame = 0 1146 @ frame_needed = 0, uses_anonymous_args = 0 635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1147 .loc 1 635 3 view .LVU375 635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1148 .loc 1 635 6 is_stmt 0 view .LVU376 1149 0000 F0B1 cbz r0, .L43 633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */ 1150 .loc 1 633 1 view .LVU377 1151 0002 38B5 push {r3, r4, r5, lr} 1152 .LCFI0: 1153 .cfi_def_cfa_offset 16 1154 .cfi_offset 3, -16 1155 .cfi_offset 4, -12 1156 .cfi_offset 5, -8 1157 .cfi_offset 14, -4 1158 0004 0546 mov r5, r0 641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1159 .loc 1 641 3 is_stmt 1 view .LVU378 643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1160 .loc 1 643 3 view .LVU379 643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1161 .loc 1 643 17 is_stmt 0 view .LVU380 1162 0006 2423 movs r3, #36 1163 0008 C0F88830 str r3, [r0, #136] 645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1164 .loc 1 645 3 is_stmt 1 view .LVU381 1165 000c 0268 ldr r2, [r0] 1166 000e 1368 ldr r3, [r2] 1167 0010 23F00103 bic r3, r3, #1 1168 0014 1360 str r3, [r2] 647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->CR2 = 0x0U; 1169 .loc 1 647 3 view .LVU382 647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->CR2 = 0x0U; 1170 .loc 1 647 8 is_stmt 0 view .LVU383 1171 0016 0368 ldr r3, [r0] 647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->CR2 = 0x0U; 1172 .loc 1 647 24 view .LVU384 1173 0018 0024 movs r4, #0 1174 001a 1C60 str r4, [r3] ARM GAS /tmp/cciGf5I5.s page 120 648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->CR3 = 0x0U; 1175 .loc 1 648 3 is_stmt 1 view .LVU385 648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->CR3 = 0x0U; 1176 .loc 1 648 8 is_stmt 0 view .LVU386 1177 001c 0368 ldr r3, [r0] 648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->CR3 = 0x0U; 1178 .loc 1 648 24 view .LVU387 1179 001e 5C60 str r4, [r3, #4] 649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1180 .loc 1 649 3 is_stmt 1 view .LVU388 649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1181 .loc 1 649 8 is_stmt 0 view .LVU389 1182 0020 0368 ldr r3, [r0] 649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1183 .loc 1 649 24 view .LVU390 1184 0022 9C60 str r4, [r3, #8] 660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 1185 .loc 1 660 3 is_stmt 1 view .LVU391 1186 0024 FFF7FEFF bl HAL_UART_MspDeInit 1187 .LVL95: 663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET; 1188 .loc 1 663 3 view .LVU392 663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET; 1189 .loc 1 663 20 is_stmt 0 view .LVU393 1190 0028 C5F89040 str r4, [r5, #144] 664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET; 1191 .loc 1 664 3 is_stmt 1 view .LVU394 664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET; 1192 .loc 1 664 17 is_stmt 0 view .LVU395 1193 002c C5F88840 str r4, [r5, #136] 665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1194 .loc 1 665 3 is_stmt 1 view .LVU396 665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1195 .loc 1 665 18 is_stmt 0 view .LVU397 1196 0030 C5F88C40 str r4, [r5, #140] 666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 1197 .loc 1 666 3 is_stmt 1 view .LVU398 666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 1198 .loc 1 666 24 is_stmt 0 view .LVU399 1199 0034 EC66 str r4, [r5, #108] 667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1200 .loc 1 667 3 is_stmt 1 view .LVU400 667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1201 .loc 1 667 22 is_stmt 0 view .LVU401 1202 0036 2C67 str r4, [r5, #112] 669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1203 .loc 1 669 3 is_stmt 1 view .LVU402 669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1204 .loc 1 669 3 view .LVU403 1205 0038 85F88440 strb r4, [r5, #132] 669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1206 .loc 1 669 3 view .LVU404 671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1207 .loc 1 671 3 view .LVU405 671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1208 .loc 1 671 10 is_stmt 0 view .LVU406 1209 003c 2046 mov r0, r4 ARM GAS /tmp/cciGf5I5.s page 121 672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1210 .loc 1 672 1 view .LVU407 1211 003e 38BD pop {r3, r4, r5, pc} 1212 .LVL96: 1213 .L43: 1214 .LCFI1: 1215 .cfi_def_cfa_offset 0 1216 .cfi_restore 3 1217 .cfi_restore 4 1218 .cfi_restore 5 1219 .cfi_restore 14 637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1220 .loc 1 637 12 view .LVU408 1221 0040 0120 movs r0, #1 1222 .LVL97: 672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1223 .loc 1 672 1 view .LVU409 1224 0042 7047 bx lr 1225 .cfi_endproc 1226 .LFE333: 1228 .section .text.HAL_UART_Transmit_IT,"ax",%progbits 1229 .align 1 1230 .global HAL_UART_Transmit_IT 1231 .syntax unified 1232 .thumb 1233 .thumb_func 1235 HAL_UART_Transmit_IT: 1236 .LVL98: 1237 .LFB338: 1292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1238 .loc 1 1292 1 is_stmt 1 view -0 1239 .cfi_startproc 1240 @ args = 0, pretend = 0, frame = 0 1241 @ frame_needed = 0, uses_anonymous_args = 0 1242 @ link register save eliminated. 1294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1243 .loc 1 1294 3 view .LVU411 1294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1244 .loc 1 1294 12 is_stmt 0 view .LVU412 1245 0000 D0F88830 ldr r3, [r0, #136] 1294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1246 .loc 1 1294 6 view .LVU413 1247 0004 202B cmp r3, #32 1248 0006 43D1 bne .L58 1296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1249 .loc 1 1296 5 is_stmt 1 view .LVU414 1296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1250 .loc 1 1296 8 is_stmt 0 view .LVU415 1251 0008 0029 cmp r1, #0 1252 000a 43D0 beq .L59 1296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1253 .loc 1 1296 25 discriminator 1 view .LVU416 1254 000c 002A cmp r2, #0 1255 000e 43D0 beq .L60 1301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferSize = Size; 1256 .loc 1 1301 5 is_stmt 1 view .LVU417 1301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferSize = Size; ARM GAS /tmp/cciGf5I5.s page 122 1257 .loc 1 1301 24 is_stmt 0 view .LVU418 1258 0010 0165 str r1, [r0, #80] 1302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = Size; 1259 .loc 1 1302 5 is_stmt 1 view .LVU419 1302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = Size; 1260 .loc 1 1302 24 is_stmt 0 view .LVU420 1261 0012 A0F85420 strh r2, [r0, #84] @ movhi 1303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL; 1262 .loc 1 1303 5 is_stmt 1 view .LVU421 1303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL; 1263 .loc 1 1303 24 is_stmt 0 view .LVU422 1264 0016 A0F85620 strh r2, [r0, #86] @ movhi 1304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1265 .loc 1 1304 5 is_stmt 1 view .LVU423 1304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1266 .loc 1 1304 24 is_stmt 0 view .LVU424 1267 001a 0023 movs r3, #0 1268 001c 8367 str r3, [r0, #120] 1306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1269 .loc 1 1306 5 is_stmt 1 view .LVU425 1306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1270 .loc 1 1306 22 is_stmt 0 view .LVU426 1271 001e C0F89030 str r3, [r0, #144] 1307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1272 .loc 1 1307 5 is_stmt 1 view .LVU427 1307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1273 .loc 1 1307 19 is_stmt 0 view .LVU428 1274 0022 2123 movs r3, #33 1275 0024 C0F88830 str r3, [r0, #136] 1310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1276 .loc 1 1310 5 is_stmt 1 view .LVU429 1310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1277 .loc 1 1310 14 is_stmt 0 view .LVU430 1278 0028 436E ldr r3, [r0, #100] 1310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1279 .loc 1 1310 8 view .LVU431 1280 002a B3F1005F cmp r3, #536870912 1281 002e 10D0 beq .L61 1328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1282 .loc 1 1328 7 is_stmt 1 view .LVU432 1328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1283 .loc 1 1328 23 is_stmt 0 view .LVU433 1284 0030 8368 ldr r3, [r0, #8] 1328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1285 .loc 1 1328 10 view .LVU434 1286 0032 B3F5805F cmp r3, #4096 1287 0036 25D0 beq .L62 1288 .L55: 1334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1289 .loc 1 1334 9 is_stmt 1 view .LVU435 1334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1290 .loc 1 1334 22 is_stmt 0 view .LVU436 1291 0038 184B ldr r3, .L64 1292 003a 8367 str r3, [r0, #120] 1293 .LVL99: 1294 .L57: 1338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cciGf5I5.s page 123 1295 .loc 1 1338 7 is_stmt 1 discriminator 1 view .LVU437 1296 .LBB589: 1338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1297 .loc 1 1338 7 discriminator 1 view .LVU438 1338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1298 .loc 1 1338 7 discriminator 1 view .LVU439 1338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1299 .loc 1 1338 7 discriminator 1 view .LVU440 1300 003c 0268 ldr r2, [r0] 1301 .LVL100: 1302 .LBB590: 1303 .LBI590: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1304 .loc 2 1151 31 view .LVU441 1305 .LBB591: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 1306 .loc 2 1153 5 view .LVU442 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1307 .loc 2 1155 4 view .LVU443 1308 .syntax unified 1309 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1310 003e 52E8003F ldrex r3, [r2] 1311 @ 0 "" 2 1312 .LVL101: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1313 .loc 2 1156 4 view .LVU444 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1314 .loc 2 1156 4 is_stmt 0 view .LVU445 1315 .thumb 1316 .syntax unified 1317 .LBE591: 1318 .LBE590: 1338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1319 .loc 1 1338 7 discriminator 1 view .LVU446 1320 0042 43F08003 orr r3, r3, #128 1321 .LVL102: 1338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1322 .loc 1 1338 7 is_stmt 1 discriminator 1 view .LVU447 1323 .LBB592: 1324 .LBI592: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1325 .loc 2 1202 31 view .LVU448 1326 .LBB593: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 1327 .loc 2 1204 4 view .LVU449 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1328 .loc 2 1206 4 view .LVU450 1329 .syntax unified 1330 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1331 0046 42E80031 strex r1, r3, [r2] 1332 @ 0 "" 2 1333 .LVL103: 1334 .loc 2 1207 4 view .LVU451 1335 .loc 2 1207 4 is_stmt 0 view .LVU452 1336 .thumb 1337 .syntax unified 1338 .LBE593: ARM GAS /tmp/cciGf5I5.s page 124 1339 .LBE592: 1338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1340 .loc 1 1338 7 discriminator 1 view .LVU453 1341 004a 0029 cmp r1, #0 1342 004c F6D1 bne .L57 1343 .LVL104: 1344 .L54: 1338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1345 .loc 1 1338 7 discriminator 1 view .LVU454 1346 .LBE589: 1338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1347 .loc 1 1338 7 is_stmt 1 discriminator 2 view .LVU455 1341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1348 .loc 1 1341 5 view .LVU456 1341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1349 .loc 1 1341 12 is_stmt 0 view .LVU457 1350 004e 0020 movs r0, #0 1351 .LVL105: 1341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1352 .loc 1 1341 12 view .LVU458 1353 0050 7047 bx lr 1354 .LVL106: 1355 .L61: 1313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1356 .loc 1 1313 7 is_stmt 1 view .LVU459 1313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1357 .loc 1 1313 23 is_stmt 0 view .LVU460 1358 0052 8368 ldr r3, [r0, #8] 1313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1359 .loc 1 1313 10 view .LVU461 1360 0054 B3F5805F cmp r3, #4096 1361 0058 0ED0 beq .L63 1362 .L51: 1319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1363 .loc 1 1319 9 is_stmt 1 view .LVU462 1319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1364 .loc 1 1319 22 is_stmt 0 view .LVU463 1365 005a 114B ldr r3, .L64+4 1366 005c 8367 str r3, [r0, #120] 1367 .LVL107: 1368 .L53: 1323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1369 .loc 1 1323 7 is_stmt 1 discriminator 1 view .LVU464 1370 .LBB594: 1323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1371 .loc 1 1323 7 discriminator 1 view .LVU465 1323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1372 .loc 1 1323 7 discriminator 1 view .LVU466 1323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1373 .loc 1 1323 7 discriminator 1 view .LVU467 1374 005e 0268 ldr r2, [r0] 1375 .LVL108: 1376 .LBB595: 1377 .LBI595: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1378 .loc 2 1151 31 view .LVU468 1379 .LBB596: ARM GAS /tmp/cciGf5I5.s page 125 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 1380 .loc 2 1153 5 view .LVU469 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1381 .loc 2 1155 4 view .LVU470 1382 0060 02F10803 add r3, r2, #8 1383 .LVL109: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1384 .loc 2 1155 4 is_stmt 0 view .LVU471 1385 .syntax unified 1386 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1387 0064 53E8003F ldrex r3, [r3] 1388 @ 0 "" 2 1389 .LVL110: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1390 .loc 2 1156 4 is_stmt 1 view .LVU472 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1391 .loc 2 1156 4 is_stmt 0 view .LVU473 1392 .thumb 1393 .syntax unified 1394 .LBE596: 1395 .LBE595: 1323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1396 .loc 1 1323 7 discriminator 1 view .LVU474 1397 0068 43F40003 orr r3, r3, #8388608 1398 .LVL111: 1323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1399 .loc 1 1323 7 is_stmt 1 discriminator 1 view .LVU475 1400 .LBB597: 1401 .LBI597: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1402 .loc 2 1202 31 view .LVU476 1403 .LBB598: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 1404 .loc 2 1204 4 view .LVU477 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1405 .loc 2 1206 4 view .LVU478 1406 006c 0832 adds r2, r2, #8 1407 .LVL112: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1408 .loc 2 1206 4 is_stmt 0 view .LVU479 1409 .syntax unified 1410 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1411 006e 42E80031 strex r1, r3, [r2] 1412 @ 0 "" 2 1413 .LVL113: 1414 .loc 2 1207 4 is_stmt 1 view .LVU480 1415 .loc 2 1207 4 is_stmt 0 view .LVU481 1416 .thumb 1417 .syntax unified 1418 .LBE598: 1419 .LBE597: 1323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1420 .loc 1 1323 7 discriminator 1 view .LVU482 1421 0072 0029 cmp r1, #0 1422 0074 F3D1 bne .L53 1423 0076 EAE7 b .L54 1424 .LVL114: ARM GAS /tmp/cciGf5I5.s page 126 1425 .L63: 1323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1426 .loc 1 1323 7 discriminator 1 view .LVU483 1427 .LBE594: 1313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1428 .loc 1 1313 73 discriminator 1 view .LVU484 1429 0078 0369 ldr r3, [r0, #16] 1313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1430 .loc 1 1313 58 discriminator 1 view .LVU485 1431 007a 002B cmp r3, #0 1432 007c EDD1 bne .L51 1315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1433 .loc 1 1315 9 is_stmt 1 view .LVU486 1315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1434 .loc 1 1315 22 is_stmt 0 view .LVU487 1435 007e 094B ldr r3, .L64+8 1436 0080 8367 str r3, [r0, #120] 1437 0082 ECE7 b .L53 1438 .L62: 1328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1439 .loc 1 1328 73 discriminator 1 view .LVU488 1440 0084 0369 ldr r3, [r0, #16] 1328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1441 .loc 1 1328 58 discriminator 1 view .LVU489 1442 0086 002B cmp r3, #0 1443 0088 D6D1 bne .L55 1330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1444 .loc 1 1330 9 is_stmt 1 view .LVU490 1330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1445 .loc 1 1330 22 is_stmt 0 view .LVU491 1446 008a 074B ldr r3, .L64+12 1447 008c 8367 str r3, [r0, #120] 1448 008e D5E7 b .L57 1449 .L58: 1345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1450 .loc 1 1345 12 view .LVU492 1451 0090 0220 movs r0, #2 1452 .LVL115: 1345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1453 .loc 1 1345 12 view .LVU493 1454 0092 7047 bx lr 1455 .LVL116: 1456 .L59: 1298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1457 .loc 1 1298 14 view .LVU494 1458 0094 0120 movs r0, #1 1459 .LVL117: 1298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1460 .loc 1 1298 14 view .LVU495 1461 0096 7047 bx lr 1462 .LVL118: 1463 .L60: 1298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1464 .loc 1 1298 14 view .LVU496 1465 0098 0120 movs r0, #1 1466 .LVL119: 1347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cciGf5I5.s page 127 1467 .loc 1 1347 1 view .LVU497 1468 009a 7047 bx lr 1469 .L65: 1470 .align 2 1471 .L64: 1472 009c 00000000 .word UART_TxISR_8BIT 1473 00a0 00000000 .word UART_TxISR_8BIT_FIFOEN 1474 00a4 00000000 .word UART_TxISR_16BIT_FIFOEN 1475 00a8 00000000 .word UART_TxISR_16BIT 1476 .cfi_endproc 1477 .LFE338: 1479 .section .text.HAL_UART_Transmit_DMA,"ax",%progbits 1480 .align 1 1481 .global HAL_UART_Transmit_DMA 1482 .syntax unified 1483 .thumb 1484 .thumb_func 1486 HAL_UART_Transmit_DMA: 1487 .LVL120: 1488 .LFB340: 1401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1489 .loc 1 1401 1 is_stmt 1 view -0 1490 .cfi_startproc 1491 @ args = 0, pretend = 0, frame = 0 1492 @ frame_needed = 0, uses_anonymous_args = 0 1401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1493 .loc 1 1401 1 is_stmt 0 view .LVU499 1494 0000 1346 mov r3, r2 1403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1495 .loc 1 1403 3 is_stmt 1 view .LVU500 1403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1496 .loc 1 1403 12 is_stmt 0 view .LVU501 1497 0002 D0F88820 ldr r2, [r0, #136] 1498 .LVL121: 1403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1499 .loc 1 1403 6 view .LVU502 1500 0006 202A cmp r2, #32 1501 0008 3DD1 bne .L70 1401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1502 .loc 1 1401 1 view .LVU503 1503 000a 10B5 push {r4, lr} 1504 .LCFI2: 1505 .cfi_def_cfa_offset 8 1506 .cfi_offset 4, -8 1507 .cfi_offset 14, -4 1508 000c 0446 mov r4, r0 1405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1509 .loc 1 1405 5 is_stmt 1 view .LVU504 1405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1510 .loc 1 1405 8 is_stmt 0 view .LVU505 1511 000e 0029 cmp r1, #0 1512 0010 3BD0 beq .L71 1405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1513 .loc 1 1405 25 discriminator 1 view .LVU506 1514 0012 002B cmp r3, #0 1515 0014 3BD0 beq .L72 1410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferSize = Size; ARM GAS /tmp/cciGf5I5.s page 128 1516 .loc 1 1410 5 is_stmt 1 view .LVU507 1410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferSize = Size; 1517 .loc 1 1410 24 is_stmt 0 view .LVU508 1518 0016 0165 str r1, [r0, #80] 1411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = Size; 1519 .loc 1 1411 5 is_stmt 1 view .LVU509 1411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = Size; 1520 .loc 1 1411 24 is_stmt 0 view .LVU510 1521 0018 A0F85430 strh r3, [r0, #84] @ movhi 1412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1522 .loc 1 1412 5 is_stmt 1 view .LVU511 1412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1523 .loc 1 1412 24 is_stmt 0 view .LVU512 1524 001c A0F85630 strh r3, [r0, #86] @ movhi 1414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1525 .loc 1 1414 5 is_stmt 1 view .LVU513 1414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1526 .loc 1 1414 22 is_stmt 0 view .LVU514 1527 0020 0022 movs r2, #0 1528 0022 C0F89020 str r2, [r0, #144] 1415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1529 .loc 1 1415 5 is_stmt 1 view .LVU515 1415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1530 .loc 1 1415 19 is_stmt 0 view .LVU516 1531 0026 2122 movs r2, #33 1532 0028 C0F88820 str r2, [r0, #136] 1417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1533 .loc 1 1417 5 is_stmt 1 view .LVU517 1417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1534 .loc 1 1417 14 is_stmt 0 view .LVU518 1535 002c C26F ldr r2, [r0, #124] 1417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1536 .loc 1 1417 8 view .LVU519 1537 002e CAB1 cbz r2, .L68 1420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1538 .loc 1 1420 7 is_stmt 1 view .LVU520 1420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1539 .loc 1 1420 39 is_stmt 0 view .LVU521 1540 0030 1849 ldr r1, .L77 1541 .LVL122: 1420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1542 .loc 1 1420 39 view .LVU522 1543 0032 D162 str r1, [r2, #44] 1544 .LVL123: 1423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1545 .loc 1 1423 7 is_stmt 1 view .LVU523 1423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1546 .loc 1 1423 12 is_stmt 0 view .LVU524 1547 0034 C26F ldr r2, [r0, #124] 1423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1548 .loc 1 1423 43 view .LVU525 1549 0036 1849 ldr r1, .L77+4 1550 0038 1163 str r1, [r2, #48] 1426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1551 .loc 1 1426 7 is_stmt 1 view .LVU526 1426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1552 .loc 1 1426 12 is_stmt 0 view .LVU527 ARM GAS /tmp/cciGf5I5.s page 129 1553 003a C26F ldr r2, [r0, #124] 1426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1554 .loc 1 1426 40 view .LVU528 1555 003c 1749 ldr r1, .L77+8 1556 003e 5163 str r1, [r2, #52] 1429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1557 .loc 1 1429 7 is_stmt 1 view .LVU529 1429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1558 .loc 1 1429 12 is_stmt 0 view .LVU530 1559 0040 C26F ldr r2, [r0, #124] 1429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1560 .loc 1 1429 40 view .LVU531 1561 0042 0021 movs r1, #0 1562 0044 9163 str r1, [r2, #56] 1432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1563 .loc 1 1432 7 is_stmt 1 view .LVU532 1432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1564 .loc 1 1432 88 is_stmt 0 view .LVU533 1565 0046 0268 ldr r2, [r0] 1432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1566 .loc 1 1432 11 view .LVU534 1567 0048 2832 adds r2, r2, #40 1568 004a 016D ldr r1, [r0, #80] 1569 004c C06F ldr r0, [r0, #124] 1570 .LVL124: 1432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1571 .loc 1 1432 11 view .LVU535 1572 004e FFF7FEFF bl HAL_DMA_Start_IT 1573 .LVL125: 1432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1574 .loc 1 1432 10 discriminator 1 view .LVU536 1575 0052 38B1 cbz r0, .L68 1435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1576 .loc 1 1435 9 is_stmt 1 view .LVU537 1435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1577 .loc 1 1435 26 is_stmt 0 view .LVU538 1578 0054 1023 movs r3, #16 1579 0056 C4F89030 str r3, [r4, #144] 1438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1580 .loc 1 1438 9 is_stmt 1 view .LVU539 1438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1581 .loc 1 1438 23 is_stmt 0 view .LVU540 1582 005a 2023 movs r3, #32 1583 005c C4F88830 str r3, [r4, #136] 1440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1584 .loc 1 1440 9 is_stmt 1 view .LVU541 1440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1585 .loc 1 1440 16 is_stmt 0 view .LVU542 1586 0060 0120 movs r0, #1 1587 0062 0FE0 b .L67 1588 .L68: 1444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1589 .loc 1 1444 5 is_stmt 1 view .LVU543 1590 0064 2368 ldr r3, [r4] 1591 0066 4022 movs r2, #64 1592 0068 1A62 str r2, [r3, #32] 1593 .L69: ARM GAS /tmp/cciGf5I5.s page 130 1448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1594 .loc 1 1448 5 discriminator 1 view .LVU544 1595 .LBB599: 1448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1596 .loc 1 1448 5 discriminator 1 view .LVU545 1448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1597 .loc 1 1448 5 discriminator 1 view .LVU546 1448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1598 .loc 1 1448 5 discriminator 1 view .LVU547 1599 006a 2268 ldr r2, [r4] 1600 .LVL126: 1601 .LBB600: 1602 .LBI600: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1603 .loc 2 1151 31 view .LVU548 1604 .LBB601: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 1605 .loc 2 1153 5 view .LVU549 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1606 .loc 2 1155 4 view .LVU550 1607 006c 02F10803 add r3, r2, #8 1608 .LVL127: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1609 .loc 2 1155 4 is_stmt 0 view .LVU551 1610 .syntax unified 1611 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1612 0070 53E8003F ldrex r3, [r3] 1613 @ 0 "" 2 1614 .LVL128: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1615 .loc 2 1156 4 is_stmt 1 view .LVU552 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1616 .loc 2 1156 4 is_stmt 0 view .LVU553 1617 .thumb 1618 .syntax unified 1619 .LBE601: 1620 .LBE600: 1448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1621 .loc 1 1448 5 discriminator 1 view .LVU554 1622 0074 43F08003 orr r3, r3, #128 1623 .LVL129: 1448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1624 .loc 1 1448 5 is_stmt 1 discriminator 1 view .LVU555 1625 .LBB602: 1626 .LBI602: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1627 .loc 2 1202 31 view .LVU556 1628 .LBB603: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 1629 .loc 2 1204 4 view .LVU557 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1630 .loc 2 1206 4 view .LVU558 1631 0078 0832 adds r2, r2, #8 1632 .LVL130: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1633 .loc 2 1206 4 is_stmt 0 view .LVU559 1634 .syntax unified ARM GAS /tmp/cciGf5I5.s page 131 1635 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1636 007a 42E80031 strex r1, r3, [r2] 1637 @ 0 "" 2 1638 .LVL131: 1639 .loc 2 1207 4 is_stmt 1 view .LVU560 1640 .loc 2 1207 4 is_stmt 0 view .LVU561 1641 .thumb 1642 .syntax unified 1643 .LBE603: 1644 .LBE602: 1448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1645 .loc 1 1448 5 discriminator 1 view .LVU562 1646 007e 0029 cmp r1, #0 1647 0080 F3D1 bne .L69 1648 .LBE599: 1450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1649 .loc 1 1450 12 view .LVU563 1650 0082 0020 movs r0, #0 1651 .LVL132: 1652 .L67: 1456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1653 .loc 1 1456 1 view .LVU564 1654 0084 10BD pop {r4, pc} 1655 .LVL133: 1656 .L70: 1657 .LCFI3: 1658 .cfi_def_cfa_offset 0 1659 .cfi_restore 4 1660 .cfi_restore 14 1454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1661 .loc 1 1454 12 view .LVU565 1662 0086 0220 movs r0, #2 1663 .LVL134: 1456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1664 .loc 1 1456 1 view .LVU566 1665 0088 7047 bx lr 1666 .LVL135: 1667 .L71: 1668 .LCFI4: 1669 .cfi_def_cfa_offset 8 1670 .cfi_offset 4, -8 1671 .cfi_offset 14, -4 1407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1672 .loc 1 1407 14 view .LVU567 1673 008a 0120 movs r0, #1 1674 .LVL136: 1407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1675 .loc 1 1407 14 view .LVU568 1676 008c FAE7 b .L67 1677 .LVL137: 1678 .L72: 1407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1679 .loc 1 1407 14 view .LVU569 1680 008e 0120 movs r0, #1 1681 .LVL138: 1407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1682 .loc 1 1407 14 view .LVU570 ARM GAS /tmp/cciGf5I5.s page 132 1683 0090 F8E7 b .L67 1684 .L78: 1685 0092 00BF .align 2 1686 .L77: 1687 0094 00000000 .word UART_DMATransmitCplt 1688 0098 00000000 .word UART_DMATxHalfCplt 1689 009c 00000000 .word UART_DMAError 1690 .cfi_endproc 1691 .LFE340: 1693 .section .text.HAL_UART_DMAPause,"ax",%progbits 1694 .align 1 1695 .global HAL_UART_DMAPause 1696 .syntax unified 1697 .thumb 1698 .thumb_func 1700 HAL_UART_DMAPause: 1701 .LVL139: 1702 .LFB342: 1507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; 1703 .loc 1 1507 1 is_stmt 1 view -0 1704 .cfi_startproc 1705 @ args = 0, pretend = 0, frame = 0 1706 @ frame_needed = 0, uses_anonymous_args = 0 1707 @ link register save eliminated. 1507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; 1708 .loc 1 1507 1 is_stmt 0 view .LVU572 1709 0000 10B4 push {r4} 1710 .LCFI5: 1711 .cfi_def_cfa_offset 4 1712 .cfi_offset 4, -4 1508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1713 .loc 1 1508 3 is_stmt 1 view .LVU573 1508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1714 .loc 1 1508 31 is_stmt 0 view .LVU574 1715 0002 D0F88820 ldr r2, [r0, #136] 1716 .LVL140: 1509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1717 .loc 1 1509 3 is_stmt 1 view .LVU575 1509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1718 .loc 1 1509 31 is_stmt 0 view .LVU576 1719 0006 D0F88C40 ldr r4, [r0, #140] 1720 .LVL141: 1511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1721 .loc 1 1511 3 is_stmt 1 view .LVU577 1511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1722 .loc 1 1511 8 is_stmt 0 view .LVU578 1723 000a 0368 ldr r3, [r0] 1724 000c 9B68 ldr r3, [r3, #8] 1511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1725 .loc 1 1511 6 view .LVU579 1726 000e 13F0800F tst r3, #128 1727 0012 01D0 beq .L80 1511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1728 .loc 1 1511 62 discriminator 1 view .LVU580 1729 0014 212A cmp r2, #33 1730 0016 0AD0 beq .L81 1731 .LVL142: ARM GAS /tmp/cciGf5I5.s page 133 1732 .L80: 1515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1733 .loc 1 1515 5 is_stmt 1 discriminator 2 view .LVU581 1517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1734 .loc 1 1517 3 view .LVU582 1517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1735 .loc 1 1517 8 is_stmt 0 view .LVU583 1736 0018 0368 ldr r3, [r0] 1737 001a 9B68 ldr r3, [r3, #8] 1517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1738 .loc 1 1517 6 view .LVU584 1739 001c 13F0400F tst r3, #64 1740 0020 01D0 beq .L82 1517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1741 .loc 1 1517 62 discriminator 1 view .LVU585 1742 0022 222C cmp r4, #34 1743 0024 10D0 beq .L83 1744 .L82: 1525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1745 .loc 1 1525 5 is_stmt 1 discriminator 2 view .LVU586 1528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1746 .loc 1 1528 3 view .LVU587 1529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1747 .loc 1 1529 1 is_stmt 0 view .LVU588 1748 0026 0020 movs r0, #0 1749 .LVL143: 1529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1750 .loc 1 1529 1 view .LVU589 1751 0028 5DF8044B ldr r4, [sp], #4 1752 .LCFI6: 1753 .cfi_remember_state 1754 .cfi_restore 4 1755 .cfi_def_cfa_offset 0 1756 .LVL144: 1529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1757 .loc 1 1529 1 view .LVU590 1758 002c 7047 bx lr 1759 .LVL145: 1760 .L81: 1761 .LCFI7: 1762 .cfi_restore_state 1515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1763 .loc 1 1515 5 is_stmt 1 discriminator 1 view .LVU591 1764 .LBB604: 1515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1765 .loc 1 1515 5 discriminator 1 view .LVU592 1515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1766 .loc 1 1515 5 discriminator 1 view .LVU593 1515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1767 .loc 1 1515 5 discriminator 1 view .LVU594 1768 002e 0268 ldr r2, [r0] 1769 .LVL146: 1770 .LBB605: 1771 .LBI605: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1772 .loc 2 1151 31 view .LVU595 1773 .LBB606: ARM GAS /tmp/cciGf5I5.s page 134 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 1774 .loc 2 1153 5 view .LVU596 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1775 .loc 2 1155 4 view .LVU597 1776 0030 02F10803 add r3, r2, #8 1777 .LVL147: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1778 .loc 2 1155 4 is_stmt 0 view .LVU598 1779 .syntax unified 1780 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1781 0034 53E8003F ldrex r3, [r3] 1782 @ 0 "" 2 1783 .LVL148: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1784 .loc 2 1156 4 is_stmt 1 view .LVU599 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1785 .loc 2 1156 4 is_stmt 0 view .LVU600 1786 .thumb 1787 .syntax unified 1788 .LBE606: 1789 .LBE605: 1515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1790 .loc 1 1515 5 discriminator 1 view .LVU601 1791 0038 23F08003 bic r3, r3, #128 1792 .LVL149: 1515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1793 .loc 1 1515 5 is_stmt 1 discriminator 1 view .LVU602 1794 .LBB607: 1795 .LBI607: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1796 .loc 2 1202 31 view .LVU603 1797 .LBB608: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 1798 .loc 2 1204 4 view .LVU604 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1799 .loc 2 1206 4 view .LVU605 1800 003c 0832 adds r2, r2, #8 1801 .LVL150: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1802 .loc 2 1206 4 is_stmt 0 view .LVU606 1803 .syntax unified 1804 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1805 003e 42E80031 strex r1, r3, [r2] 1806 @ 0 "" 2 1807 .LVL151: 1808 .loc 2 1207 4 is_stmt 1 view .LVU607 1809 .loc 2 1207 4 is_stmt 0 view .LVU608 1810 .thumb 1811 .syntax unified 1812 .LBE608: 1813 .LBE607: 1515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1814 .loc 1 1515 5 discriminator 1 view .LVU609 1815 0042 0029 cmp r1, #0 1816 0044 F3D1 bne .L81 1817 0046 E7E7 b .L80 1818 .LVL152: ARM GAS /tmp/cciGf5I5.s page 135 1819 .L83: 1515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1820 .loc 1 1515 5 discriminator 1 view .LVU610 1821 .LBE604: 1521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1822 .loc 1 1521 5 is_stmt 1 discriminator 1 view .LVU611 1823 .LBB609: 1521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1824 .loc 1 1521 5 discriminator 1 view .LVU612 1521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1825 .loc 1 1521 5 discriminator 1 view .LVU613 1521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1826 .loc 1 1521 5 discriminator 1 view .LVU614 1827 0048 0268 ldr r2, [r0] 1828 .LVL153: 1829 .LBB610: 1830 .LBI610: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1831 .loc 2 1151 31 view .LVU615 1832 .LBB611: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 1833 .loc 2 1153 5 view .LVU616 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1834 .loc 2 1155 4 view .LVU617 1835 .syntax unified 1836 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1837 004a 52E8003F ldrex r3, [r2] 1838 @ 0 "" 2 1839 .LVL154: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1840 .loc 2 1156 4 view .LVU618 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1841 .loc 2 1156 4 is_stmt 0 view .LVU619 1842 .thumb 1843 .syntax unified 1844 .LBE611: 1845 .LBE610: 1521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1846 .loc 1 1521 5 discriminator 1 view .LVU620 1847 004e 23F48073 bic r3, r3, #256 1848 .LVL155: 1521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1849 .loc 1 1521 5 is_stmt 1 discriminator 1 view .LVU621 1850 .LBB612: 1851 .LBI612: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1852 .loc 2 1202 31 view .LVU622 1853 .LBB613: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 1854 .loc 2 1204 4 view .LVU623 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1855 .loc 2 1206 4 view .LVU624 1856 .syntax unified 1857 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1858 0052 42E80031 strex r1, r3, [r2] 1859 @ 0 "" 2 1860 .LVL156: ARM GAS /tmp/cciGf5I5.s page 136 1861 .loc 2 1207 4 view .LVU625 1862 .loc 2 1207 4 is_stmt 0 view .LVU626 1863 .thumb 1864 .syntax unified 1865 .LBE613: 1866 .LBE612: 1521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1867 .loc 1 1521 5 discriminator 1 view .LVU627 1868 0056 0029 cmp r1, #0 1869 0058 F6D1 bne .L83 1870 .LVL157: 1871 .L84: 1521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1872 .loc 1 1521 5 discriminator 1 view .LVU628 1873 .LBE609: 1521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1874 .loc 1 1521 5 is_stmt 1 discriminator 2 view .LVU629 1522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1875 .loc 1 1522 5 discriminator 1 view .LVU630 1876 .LBB614: 1522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1877 .loc 1 1522 5 discriminator 1 view .LVU631 1522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1878 .loc 1 1522 5 discriminator 1 view .LVU632 1522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1879 .loc 1 1522 5 discriminator 1 view .LVU633 1880 005a 0268 ldr r2, [r0] 1881 .LVL158: 1882 .LBB615: 1883 .LBI615: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1884 .loc 2 1151 31 view .LVU634 1885 .LBB616: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 1886 .loc 2 1153 5 view .LVU635 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1887 .loc 2 1155 4 view .LVU636 1888 005c 02F10803 add r3, r2, #8 1889 .LVL159: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1890 .loc 2 1155 4 is_stmt 0 view .LVU637 1891 .syntax unified 1892 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1893 0060 53E8003F ldrex r3, [r3] 1894 @ 0 "" 2 1895 .LVL160: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1896 .loc 2 1156 4 is_stmt 1 view .LVU638 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1897 .loc 2 1156 4 is_stmt 0 view .LVU639 1898 .thumb 1899 .syntax unified 1900 .LBE616: 1901 .LBE615: 1522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1902 .loc 1 1522 5 discriminator 1 view .LVU640 1903 0064 23F00103 bic r3, r3, #1 ARM GAS /tmp/cciGf5I5.s page 137 1904 .LVL161: 1522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1905 .loc 1 1522 5 is_stmt 1 discriminator 1 view .LVU641 1906 .LBB617: 1907 .LBI617: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1908 .loc 2 1202 31 view .LVU642 1909 .LBB618: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 1910 .loc 2 1204 4 view .LVU643 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1911 .loc 2 1206 4 view .LVU644 1912 0068 0832 adds r2, r2, #8 1913 .LVL162: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1914 .loc 2 1206 4 is_stmt 0 view .LVU645 1915 .syntax unified 1916 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1917 006a 42E80031 strex r1, r3, [r2] 1918 @ 0 "" 2 1919 .LVL163: 1920 .loc 2 1207 4 is_stmt 1 view .LVU646 1921 .loc 2 1207 4 is_stmt 0 view .LVU647 1922 .thumb 1923 .syntax unified 1924 .LBE618: 1925 .LBE617: 1522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1926 .loc 1 1522 5 discriminator 1 view .LVU648 1927 006e 0029 cmp r1, #0 1928 0070 F3D1 bne .L84 1929 .LVL164: 1930 .L85: 1522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1931 .loc 1 1522 5 discriminator 1 view .LVU649 1932 .LBE614: 1522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1933 .loc 1 1522 5 is_stmt 1 discriminator 2 view .LVU650 1525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1934 .loc 1 1525 5 discriminator 1 view .LVU651 1935 .LBB619: 1525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1936 .loc 1 1525 5 discriminator 1 view .LVU652 1525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1937 .loc 1 1525 5 discriminator 1 view .LVU653 1525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1938 .loc 1 1525 5 discriminator 1 view .LVU654 1939 0072 0268 ldr r2, [r0] 1940 .LVL165: 1941 .LBB620: 1942 .LBI620: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1943 .loc 2 1151 31 view .LVU655 1944 .LBB621: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 1945 .loc 2 1153 5 view .LVU656 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS /tmp/cciGf5I5.s page 138 1946 .loc 2 1155 4 view .LVU657 1947 0074 02F10803 add r3, r2, #8 1948 .LVL166: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1949 .loc 2 1155 4 is_stmt 0 view .LVU658 1950 .syntax unified 1951 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1952 0078 53E8003F ldrex r3, [r3] 1953 @ 0 "" 2 1954 .LVL167: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1955 .loc 2 1156 4 is_stmt 1 view .LVU659 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1956 .loc 2 1156 4 is_stmt 0 view .LVU660 1957 .thumb 1958 .syntax unified 1959 .LBE621: 1960 .LBE620: 1525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1961 .loc 1 1525 5 discriminator 1 view .LVU661 1962 007c 23F04003 bic r3, r3, #64 1963 .LVL168: 1525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1964 .loc 1 1525 5 is_stmt 1 discriminator 1 view .LVU662 1965 .LBB622: 1966 .LBI622: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1967 .loc 2 1202 31 view .LVU663 1968 .LBB623: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 1969 .loc 2 1204 4 view .LVU664 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1970 .loc 2 1206 4 view .LVU665 1971 0080 0832 adds r2, r2, #8 1972 .LVL169: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1973 .loc 2 1206 4 is_stmt 0 view .LVU666 1974 .syntax unified 1975 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1976 0082 42E80031 strex r1, r3, [r2] 1977 @ 0 "" 2 1978 .LVL170: 1979 .loc 2 1207 4 is_stmt 1 view .LVU667 1980 .loc 2 1207 4 is_stmt 0 view .LVU668 1981 .thumb 1982 .syntax unified 1983 .LBE623: 1984 .LBE622: 1525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1985 .loc 1 1525 5 discriminator 1 view .LVU669 1986 0086 0029 cmp r1, #0 1987 0088 F3D1 bne .L85 1988 008a CCE7 b .L82 1989 .LBE619: 1990 .cfi_endproc 1991 .LFE342: 1993 .section .text.HAL_UART_DMAResume,"ax",%progbits ARM GAS /tmp/cciGf5I5.s page 139 1994 .align 1 1995 .global HAL_UART_DMAResume 1996 .syntax unified 1997 .thumb 1998 .thumb_func 2000 HAL_UART_DMAResume: 2001 .LVL171: 2002 .LFB343: 1537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) 2003 .loc 1 1537 1 is_stmt 1 view -0 2004 .cfi_startproc 2005 @ args = 0, pretend = 0, frame = 0 2006 @ frame_needed = 0, uses_anonymous_args = 0 2007 @ link register save eliminated. 1538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2008 .loc 1 1538 3 view .LVU671 1538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2009 .loc 1 1538 12 is_stmt 0 view .LVU672 2010 0000 D0F88830 ldr r3, [r0, #136] 1538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2011 .loc 1 1538 6 view .LVU673 2012 0004 212B cmp r3, #33 2013 0006 05D0 beq .L89 2014 .L88: 1541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2015 .loc 1 1541 5 is_stmt 1 discriminator 2 view .LVU674 1543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2016 .loc 1 1543 3 view .LVU675 1543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2017 .loc 1 1543 12 is_stmt 0 view .LVU676 2018 0008 D0F88C30 ldr r3, [r0, #140] 1543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2019 .loc 1 1543 6 view .LVU677 2020 000c 222B cmp r3, #34 2021 000e 0ED0 beq .L95 2022 .L90: 1556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2023 .loc 1 1556 5 is_stmt 1 discriminator 2 view .LVU678 1559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2024 .loc 1 1559 3 view .LVU679 1560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2025 .loc 1 1560 1 is_stmt 0 view .LVU680 2026 0010 0020 movs r0, #0 2027 .LVL172: 1560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2028 .loc 1 1560 1 view .LVU681 2029 0012 7047 bx lr 2030 .LVL173: 2031 .L89: 1541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2032 .loc 1 1541 5 is_stmt 1 discriminator 1 view .LVU682 2033 .LBB624: 1541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2034 .loc 1 1541 5 discriminator 1 view .LVU683 1541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2035 .loc 1 1541 5 discriminator 1 view .LVU684 1541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cciGf5I5.s page 140 2036 .loc 1 1541 5 discriminator 1 view .LVU685 2037 0014 0268 ldr r2, [r0] 2038 .LVL174: 2039 .LBB625: 2040 .LBI625: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2041 .loc 2 1151 31 view .LVU686 2042 .LBB626: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 2043 .loc 2 1153 5 view .LVU687 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2044 .loc 2 1155 4 view .LVU688 2045 0016 02F10803 add r3, r2, #8 2046 .LVL175: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2047 .loc 2 1155 4 is_stmt 0 view .LVU689 2048 .syntax unified 2049 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2050 001a 53E8003F ldrex r3, [r3] 2051 @ 0 "" 2 2052 .LVL176: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2053 .loc 2 1156 4 is_stmt 1 view .LVU690 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2054 .loc 2 1156 4 is_stmt 0 view .LVU691 2055 .thumb 2056 .syntax unified 2057 .LBE626: 2058 .LBE625: 1541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2059 .loc 1 1541 5 discriminator 1 view .LVU692 2060 001e 43F08003 orr r3, r3, #128 2061 .LVL177: 1541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2062 .loc 1 1541 5 is_stmt 1 discriminator 1 view .LVU693 2063 .LBB627: 2064 .LBI627: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2065 .loc 2 1202 31 view .LVU694 2066 .LBB628: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 2067 .loc 2 1204 4 view .LVU695 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2068 .loc 2 1206 4 view .LVU696 2069 0022 0832 adds r2, r2, #8 2070 .LVL178: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2071 .loc 2 1206 4 is_stmt 0 view .LVU697 2072 .syntax unified 2073 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2074 0024 42E80031 strex r1, r3, [r2] 2075 @ 0 "" 2 2076 .LVL179: 2077 .loc 2 1207 4 is_stmt 1 view .LVU698 2078 .loc 2 1207 4 is_stmt 0 view .LVU699 2079 .thumb 2080 .syntax unified ARM GAS /tmp/cciGf5I5.s page 141 2081 .LBE628: 2082 .LBE627: 1541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2083 .loc 1 1541 5 discriminator 1 view .LVU700 2084 0028 0029 cmp r1, #0 2085 002a F3D1 bne .L89 2086 002c ECE7 b .L88 2087 .LVL180: 2088 .L95: 1541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2089 .loc 1 1541 5 discriminator 1 view .LVU701 2090 .LBE624: 1546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2091 .loc 1 1546 5 is_stmt 1 view .LVU702 2092 002e 0368 ldr r3, [r0] 2093 0030 0822 movs r2, #8 2094 0032 1A62 str r2, [r3, #32] 1549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2095 .loc 1 1549 5 view .LVU703 1549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2096 .loc 1 1549 20 is_stmt 0 view .LVU704 2097 0034 0369 ldr r3, [r0, #16] 1549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2098 .loc 1 1549 8 view .LVU705 2099 0036 43B1 cbz r3, .L93 2100 .L92: 1551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2101 .loc 1 1551 7 is_stmt 1 discriminator 1 view .LVU706 2102 .LBB629: 1551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2103 .loc 1 1551 7 discriminator 1 view .LVU707 1551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2104 .loc 1 1551 7 discriminator 1 view .LVU708 1551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2105 .loc 1 1551 7 discriminator 1 view .LVU709 2106 0038 0268 ldr r2, [r0] 2107 .LVL181: 2108 .LBB630: 2109 .LBI630: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2110 .loc 2 1151 31 view .LVU710 2111 .LBB631: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 2112 .loc 2 1153 5 view .LVU711 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2113 .loc 2 1155 4 view .LVU712 2114 .syntax unified 2115 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2116 003a 52E8003F ldrex r3, [r2] 2117 @ 0 "" 2 2118 .LVL182: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2119 .loc 2 1156 4 view .LVU713 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2120 .loc 2 1156 4 is_stmt 0 view .LVU714 2121 .thumb 2122 .syntax unified ARM GAS /tmp/cciGf5I5.s page 142 2123 .LBE631: 2124 .LBE630: 1551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2125 .loc 1 1551 7 discriminator 1 view .LVU715 2126 003e 43F48073 orr r3, r3, #256 2127 .LVL183: 1551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2128 .loc 1 1551 7 is_stmt 1 discriminator 1 view .LVU716 2129 .LBB632: 2130 .LBI632: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2131 .loc 2 1202 31 view .LVU717 2132 .LBB633: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 2133 .loc 2 1204 4 view .LVU718 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2134 .loc 2 1206 4 view .LVU719 2135 .syntax unified 2136 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2137 0042 42E80031 strex r1, r3, [r2] 2138 @ 0 "" 2 2139 .LVL184: 2140 .loc 2 1207 4 view .LVU720 2141 .loc 2 1207 4 is_stmt 0 view .LVU721 2142 .thumb 2143 .syntax unified 2144 .LBE633: 2145 .LBE632: 1551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2146 .loc 1 1551 7 discriminator 1 view .LVU722 2147 0046 0029 cmp r1, #0 2148 0048 F6D1 bne .L92 2149 .LVL185: 2150 .L93: 1551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2151 .loc 1 1551 7 discriminator 1 view .LVU723 2152 .LBE629: 1551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2153 .loc 1 1551 7 is_stmt 1 discriminator 2 view .LVU724 1553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2154 .loc 1 1553 5 discriminator 1 view .LVU725 2155 .LBB634: 1553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2156 .loc 1 1553 5 discriminator 1 view .LVU726 1553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2157 .loc 1 1553 5 discriminator 1 view .LVU727 1553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2158 .loc 1 1553 5 discriminator 1 view .LVU728 2159 004a 0268 ldr r2, [r0] 2160 .LVL186: 2161 .LBB635: 2162 .LBI635: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2163 .loc 2 1151 31 view .LVU729 2164 .LBB636: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 2165 .loc 2 1153 5 view .LVU730 ARM GAS /tmp/cciGf5I5.s page 143 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2166 .loc 2 1155 4 view .LVU731 2167 004c 02F10803 add r3, r2, #8 2168 .LVL187: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2169 .loc 2 1155 4 is_stmt 0 view .LVU732 2170 .syntax unified 2171 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2172 0050 53E8003F ldrex r3, [r3] 2173 @ 0 "" 2 2174 .LVL188: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2175 .loc 2 1156 4 is_stmt 1 view .LVU733 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2176 .loc 2 1156 4 is_stmt 0 view .LVU734 2177 .thumb 2178 .syntax unified 2179 .LBE636: 2180 .LBE635: 1553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2181 .loc 1 1553 5 discriminator 1 view .LVU735 2182 0054 43F00103 orr r3, r3, #1 2183 .LVL189: 1553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2184 .loc 1 1553 5 is_stmt 1 discriminator 1 view .LVU736 2185 .LBB637: 2186 .LBI637: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2187 .loc 2 1202 31 view .LVU737 2188 .LBB638: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 2189 .loc 2 1204 4 view .LVU738 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2190 .loc 2 1206 4 view .LVU739 2191 0058 0832 adds r2, r2, #8 2192 .LVL190: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2193 .loc 2 1206 4 is_stmt 0 view .LVU740 2194 .syntax unified 2195 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2196 005a 42E80031 strex r1, r3, [r2] 2197 @ 0 "" 2 2198 .LVL191: 2199 .loc 2 1207 4 is_stmt 1 view .LVU741 2200 .loc 2 1207 4 is_stmt 0 view .LVU742 2201 .thumb 2202 .syntax unified 2203 .LBE638: 2204 .LBE637: 1553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2205 .loc 1 1553 5 discriminator 1 view .LVU743 2206 005e 0029 cmp r1, #0 2207 0060 F3D1 bne .L93 2208 .LVL192: 2209 .L94: 1553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2210 .loc 1 1553 5 discriminator 1 view .LVU744 ARM GAS /tmp/cciGf5I5.s page 144 2211 .LBE634: 1553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2212 .loc 1 1553 5 is_stmt 1 discriminator 2 view .LVU745 1556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2213 .loc 1 1556 5 discriminator 1 view .LVU746 2214 .LBB639: 1556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2215 .loc 1 1556 5 discriminator 1 view .LVU747 1556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2216 .loc 1 1556 5 discriminator 1 view .LVU748 1556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2217 .loc 1 1556 5 discriminator 1 view .LVU749 2218 0062 0268 ldr r2, [r0] 2219 .LVL193: 2220 .LBB640: 2221 .LBI640: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2222 .loc 2 1151 31 view .LVU750 2223 .LBB641: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 2224 .loc 2 1153 5 view .LVU751 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2225 .loc 2 1155 4 view .LVU752 2226 0064 02F10803 add r3, r2, #8 2227 .LVL194: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2228 .loc 2 1155 4 is_stmt 0 view .LVU753 2229 .syntax unified 2230 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2231 0068 53E8003F ldrex r3, [r3] 2232 @ 0 "" 2 2233 .LVL195: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2234 .loc 2 1156 4 is_stmt 1 view .LVU754 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2235 .loc 2 1156 4 is_stmt 0 view .LVU755 2236 .thumb 2237 .syntax unified 2238 .LBE641: 2239 .LBE640: 1556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2240 .loc 1 1556 5 discriminator 1 view .LVU756 2241 006c 43F04003 orr r3, r3, #64 2242 .LVL196: 1556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2243 .loc 1 1556 5 is_stmt 1 discriminator 1 view .LVU757 2244 .LBB642: 2245 .LBI642: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2246 .loc 2 1202 31 view .LVU758 2247 .LBB643: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 2248 .loc 2 1204 4 view .LVU759 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2249 .loc 2 1206 4 view .LVU760 2250 0070 0832 adds r2, r2, #8 2251 .LVL197: ARM GAS /tmp/cciGf5I5.s page 145 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2252 .loc 2 1206 4 is_stmt 0 view .LVU761 2253 .syntax unified 2254 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2255 0072 42E80031 strex r1, r3, [r2] 2256 @ 0 "" 2 2257 .LVL198: 2258 .loc 2 1207 4 is_stmt 1 view .LVU762 2259 .loc 2 1207 4 is_stmt 0 view .LVU763 2260 .thumb 2261 .syntax unified 2262 .LBE643: 2263 .LBE642: 1556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2264 .loc 1 1556 5 discriminator 1 view .LVU764 2265 0076 0029 cmp r1, #0 2266 0078 F3D1 bne .L94 2267 007a C9E7 b .L90 2268 .LBE639: 2269 .cfi_endproc 2270 .LFE343: 2272 .section .text.HAL_UART_DMAStop,"ax",%progbits 2273 .align 1 2274 .global HAL_UART_DMAStop 2275 .syntax unified 2276 .thumb 2277 .thumb_func 2279 HAL_UART_DMAStop: 2280 .LVL199: 2281 .LFB344: 1568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application 2282 .loc 1 1568 1 is_stmt 1 view -0 2283 .cfi_startproc 2284 @ args = 0, pretend = 0, frame = 0 2285 @ frame_needed = 0, uses_anonymous_args = 0 1568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application 2286 .loc 1 1568 1 is_stmt 0 view .LVU766 2287 0000 38B5 push {r3, r4, r5, lr} 2288 .LCFI8: 2289 .cfi_def_cfa_offset 16 2290 .cfi_offset 3, -16 2291 .cfi_offset 4, -12 2292 .cfi_offset 5, -8 2293 .cfi_offset 14, -4 2294 0002 0446 mov r4, r0 1576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 2295 .loc 1 1576 3 is_stmt 1 view .LVU767 1576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 2296 .loc 1 1576 31 is_stmt 0 view .LVU768 2297 0004 D0F88820 ldr r2, [r0, #136] 2298 .LVL200: 1577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2299 .loc 1 1577 3 is_stmt 1 view .LVU769 1577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2300 .loc 1 1577 31 is_stmt 0 view .LVU770 2301 0008 D0F88C50 ldr r5, [r0, #140] 2302 .LVL201: ARM GAS /tmp/cciGf5I5.s page 146 1580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 2303 .loc 1 1580 3 is_stmt 1 view .LVU771 1580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 2304 .loc 1 1580 8 is_stmt 0 view .LVU772 2305 000c 0368 ldr r3, [r0] 2306 000e 9B68 ldr r3, [r3, #8] 1580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 2307 .loc 1 1580 6 view .LVU773 2308 0010 13F0800F tst r3, #128 2309 0014 01D0 beq .L97 1580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 2310 .loc 1 1580 62 discriminator 1 view .LVU774 2311 0016 212A cmp r2, #33 2312 0018 08D0 beq .L98 2313 .LVL202: 2314 .L97: 1604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 2315 .loc 1 1604 3 is_stmt 1 view .LVU775 1604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 2316 .loc 1 1604 8 is_stmt 0 view .LVU776 2317 001a 2368 ldr r3, [r4] 2318 001c 9B68 ldr r3, [r3, #8] 1604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 2319 .loc 1 1604 6 view .LVU777 2320 001e 13F0400F tst r3, #64 2321 0022 44D0 beq .L103 1604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 2322 .loc 1 1604 62 discriminator 1 view .LVU778 2323 0024 222D cmp r5, #34 2324 0026 20D0 beq .L101 1627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2325 .loc 1 1627 10 view .LVU779 2326 0028 0020 movs r0, #0 2327 002a 41E0 b .L100 2328 .LVL203: 2329 .L98: 1583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2330 .loc 1 1583 5 is_stmt 1 discriminator 1 view .LVU780 2331 .LBB644: 1583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2332 .loc 1 1583 5 discriminator 1 view .LVU781 1583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2333 .loc 1 1583 5 discriminator 1 view .LVU782 1583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2334 .loc 1 1583 5 discriminator 1 view .LVU783 2335 002c 2268 ldr r2, [r4] 2336 .LVL204: 2337 .LBB645: 2338 .LBI645: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2339 .loc 2 1151 31 view .LVU784 2340 .LBB646: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 2341 .loc 2 1153 5 view .LVU785 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2342 .loc 2 1155 4 view .LVU786 2343 002e 02F10803 add r3, r2, #8 ARM GAS /tmp/cciGf5I5.s page 147 2344 .LVL205: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2345 .loc 2 1155 4 is_stmt 0 view .LVU787 2346 .syntax unified 2347 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2348 0032 53E8003F ldrex r3, [r3] 2349 @ 0 "" 2 2350 .LVL206: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2351 .loc 2 1156 4 is_stmt 1 view .LVU788 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2352 .loc 2 1156 4 is_stmt 0 view .LVU789 2353 .thumb 2354 .syntax unified 2355 .LBE646: 2356 .LBE645: 1583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2357 .loc 1 1583 5 discriminator 1 view .LVU790 2358 0036 23F08003 bic r3, r3, #128 2359 .LVL207: 1583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2360 .loc 1 1583 5 is_stmt 1 discriminator 1 view .LVU791 2361 .LBB647: 2362 .LBI647: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2363 .loc 2 1202 31 view .LVU792 2364 .LBB648: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 2365 .loc 2 1204 4 view .LVU793 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2366 .loc 2 1206 4 view .LVU794 2367 003a 0832 adds r2, r2, #8 2368 .LVL208: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2369 .loc 2 1206 4 is_stmt 0 view .LVU795 2370 .syntax unified 2371 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2372 003c 42E80031 strex r1, r3, [r2] 2373 @ 0 "" 2 2374 .LVL209: 2375 .loc 2 1207 4 is_stmt 1 view .LVU796 2376 .loc 2 1207 4 is_stmt 0 view .LVU797 2377 .thumb 2378 .syntax unified 2379 .LBE648: 2380 .LBE647: 1583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2381 .loc 1 1583 5 discriminator 1 view .LVU798 2382 0040 0029 cmp r1, #0 2383 0042 F3D1 bne .L98 2384 .LBE644: 1583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2385 .loc 1 1583 5 is_stmt 1 discriminator 2 view .LVU799 1586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2386 .loc 1 1586 5 view .LVU800 1586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2387 .loc 1 1586 14 is_stmt 0 view .LVU801 ARM GAS /tmp/cciGf5I5.s page 148 2388 0044 E06F ldr r0, [r4, #124] 2389 .LVL210: 1586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2390 .loc 1 1586 8 view .LVU802 2391 0046 10B1 cbz r0, .L99 1588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2392 .loc 1 1588 7 is_stmt 1 view .LVU803 1588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2393 .loc 1 1588 11 is_stmt 0 view .LVU804 2394 0048 FFF7FEFF bl HAL_DMA_Abort 2395 .LVL211: 1588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2396 .loc 1 1588 10 discriminator 1 view .LVU805 2397 004c 18B9 cbnz r0, .L106 2398 .L99: 1600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2399 .loc 1 1600 5 is_stmt 1 view .LVU806 2400 004e 2046 mov r0, r4 2401 0050 FFF7FEFF bl UART_EndTxTransfer 2402 .LVL212: 2403 0054 E1E7 b .L97 2404 .L106: 1590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2405 .loc 1 1590 9 view .LVU807 1590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2406 .loc 1 1590 13 is_stmt 0 view .LVU808 2407 0056 E06F ldr r0, [r4, #124] 2408 0058 FFF7FEFF bl HAL_DMA_GetError 2409 .LVL213: 1590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2410 .loc 1 1590 12 discriminator 1 view .LVU809 2411 005c 2028 cmp r0, #32 2412 005e F6D1 bne .L99 1593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2413 .loc 1 1593 11 is_stmt 1 view .LVU810 1593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2414 .loc 1 1593 28 is_stmt 0 view .LVU811 2415 0060 1023 movs r3, #16 2416 0062 C4F89030 str r3, [r4, #144] 1595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2417 .loc 1 1595 11 is_stmt 1 view .LVU812 1595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2418 .loc 1 1595 18 is_stmt 0 view .LVU813 2419 0066 0320 movs r0, #3 2420 0068 22E0 b .L100 2421 .LVL214: 2422 .L101: 1607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2423 .loc 1 1607 5 is_stmt 1 discriminator 1 view .LVU814 2424 .LBB649: 1607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2425 .loc 1 1607 5 discriminator 1 view .LVU815 1607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2426 .loc 1 1607 5 discriminator 1 view .LVU816 1607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2427 .loc 1 1607 5 discriminator 1 view .LVU817 2428 006a 2268 ldr r2, [r4] ARM GAS /tmp/cciGf5I5.s page 149 2429 .LVL215: 2430 .LBB650: 2431 .LBI650: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2432 .loc 2 1151 31 view .LVU818 2433 .LBB651: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 2434 .loc 2 1153 5 view .LVU819 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2435 .loc 2 1155 4 view .LVU820 2436 006c 02F10803 add r3, r2, #8 2437 .LVL216: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2438 .loc 2 1155 4 is_stmt 0 view .LVU821 2439 .syntax unified 2440 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2441 0070 53E8003F ldrex r3, [r3] 2442 @ 0 "" 2 2443 .LVL217: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2444 .loc 2 1156 4 is_stmt 1 view .LVU822 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2445 .loc 2 1156 4 is_stmt 0 view .LVU823 2446 .thumb 2447 .syntax unified 2448 .LBE651: 2449 .LBE650: 1607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2450 .loc 1 1607 5 discriminator 1 view .LVU824 2451 0074 23F04003 bic r3, r3, #64 2452 .LVL218: 1607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2453 .loc 1 1607 5 is_stmt 1 discriminator 1 view .LVU825 2454 .LBB652: 2455 .LBI652: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2456 .loc 2 1202 31 view .LVU826 2457 .LBB653: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 2458 .loc 2 1204 4 view .LVU827 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2459 .loc 2 1206 4 view .LVU828 2460 0078 0832 adds r2, r2, #8 2461 .LVL219: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2462 .loc 2 1206 4 is_stmt 0 view .LVU829 2463 .syntax unified 2464 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2465 007a 42E80031 strex r1, r3, [r2] 2466 @ 0 "" 2 2467 .LVL220: 2468 .loc 2 1207 4 is_stmt 1 view .LVU830 2469 .loc 2 1207 4 is_stmt 0 view .LVU831 2470 .thumb 2471 .syntax unified 2472 .LBE653: 2473 .LBE652: ARM GAS /tmp/cciGf5I5.s page 150 1607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2474 .loc 1 1607 5 discriminator 1 view .LVU832 2475 007e 0029 cmp r1, #0 2476 0080 F3D1 bne .L101 2477 .LBE649: 1607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2478 .loc 1 1607 5 is_stmt 1 discriminator 2 view .LVU833 1610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2479 .loc 1 1610 5 view .LVU834 1610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2480 .loc 1 1610 14 is_stmt 0 view .LVU835 2481 0082 D4F88000 ldr r0, [r4, #128] 1610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2482 .loc 1 1610 8 view .LVU836 2483 0086 10B1 cbz r0, .L102 1612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2484 .loc 1 1612 7 is_stmt 1 view .LVU837 1612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2485 .loc 1 1612 11 is_stmt 0 view .LVU838 2486 0088 FFF7FEFF bl HAL_DMA_Abort 2487 .LVL221: 1612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2488 .loc 1 1612 10 discriminator 1 view .LVU839 2489 008c 20B9 cbnz r0, .L107 2490 .L102: 1624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2491 .loc 1 1624 5 is_stmt 1 view .LVU840 2492 008e 2046 mov r0, r4 2493 0090 FFF7FEFF bl UART_EndRxTransfer 2494 .LVL222: 1627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2495 .loc 1 1627 10 is_stmt 0 view .LVU841 2496 0094 0020 movs r0, #0 2497 0096 0BE0 b .L100 2498 .L107: 1614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2499 .loc 1 1614 9 is_stmt 1 view .LVU842 1614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2500 .loc 1 1614 13 is_stmt 0 view .LVU843 2501 0098 D4F88000 ldr r0, [r4, #128] 2502 009c FFF7FEFF bl HAL_DMA_GetError 2503 .LVL223: 1614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2504 .loc 1 1614 12 discriminator 1 view .LVU844 2505 00a0 2028 cmp r0, #32 2506 00a2 F4D1 bne .L102 1617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2507 .loc 1 1617 11 is_stmt 1 view .LVU845 1617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2508 .loc 1 1617 28 is_stmt 0 view .LVU846 2509 00a4 1023 movs r3, #16 2510 00a6 C4F89030 str r3, [r4, #144] 1619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2511 .loc 1 1619 11 is_stmt 1 view .LVU847 1619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2512 .loc 1 1619 18 is_stmt 0 view .LVU848 2513 00aa 0320 movs r0, #3 ARM GAS /tmp/cciGf5I5.s page 151 2514 00ac 00E0 b .L100 2515 .LVL224: 2516 .L103: 1627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2517 .loc 1 1627 10 view .LVU849 2518 00ae 0020 movs r0, #0 2519 .L100: 1628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2520 .loc 1 1628 1 view .LVU850 2521 00b0 38BD pop {r3, r4, r5, pc} 1628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2522 .loc 1 1628 1 view .LVU851 2523 .cfi_endproc 2524 .LFE344: 2526 .section .text.HAL_UART_Abort,"ax",%progbits 2527 .align 1 2528 .global HAL_UART_Abort 2529 .syntax unified 2530 .thumb 2531 .thumb_func 2533 HAL_UART_Abort: 2534 .LVL225: 2535 .LFB345: 1643: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 2536 .loc 1 1643 1 is_stmt 1 view -0 2537 .cfi_startproc 2538 @ args = 0, pretend = 0, frame = 0 2539 @ frame_needed = 0, uses_anonymous_args = 0 1643: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 2540 .loc 1 1643 1 is_stmt 0 view .LVU853 2541 0000 10B5 push {r4, lr} 2542 .LCFI9: 2543 .cfi_def_cfa_offset 8 2544 .cfi_offset 4, -8 2545 .cfi_offset 14, -4 2546 0002 0446 mov r4, r0 2547 .L109: 1645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE | USART_CR1_TCIE)); 2548 .loc 1 1645 3 is_stmt 1 discriminator 1 view .LVU854 2549 .LBB654: 1645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE | USART_CR1_TCIE)); 2550 .loc 1 1645 3 discriminator 1 view .LVU855 1645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE | USART_CR1_TCIE)); 2551 .loc 1 1645 3 discriminator 1 view .LVU856 1645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE | USART_CR1_TCIE)); 2552 .loc 1 1645 3 discriminator 1 view .LVU857 2553 0004 2268 ldr r2, [r4] 2554 .LVL226: 2555 .LBB655: 2556 .LBI655: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2557 .loc 2 1151 31 view .LVU858 2558 .LBB656: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 2559 .loc 2 1153 5 view .LVU859 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2560 .loc 2 1155 4 view .LVU860 ARM GAS /tmp/cciGf5I5.s page 152 2561 .syntax unified 2562 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2563 0006 52E8003F ldrex r3, [r2] 2564 @ 0 "" 2 2565 .LVL227: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2566 .loc 2 1156 4 view .LVU861 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2567 .loc 2 1156 4 is_stmt 0 view .LVU862 2568 .thumb 2569 .syntax unified 2570 .LBE656: 2571 .LBE655: 1645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE | USART_CR1_TCIE)); 2572 .loc 1 1645 3 discriminator 1 view .LVU863 2573 000a 23F4F073 bic r3, r3, #480 2574 .LVL228: 1645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE | USART_CR1_TCIE)); 2575 .loc 1 1645 3 is_stmt 1 discriminator 1 view .LVU864 2576 .LBB657: 2577 .LBI657: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2578 .loc 2 1202 31 view .LVU865 2579 .LBB658: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 2580 .loc 2 1204 4 view .LVU866 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2581 .loc 2 1206 4 view .LVU867 2582 .syntax unified 2583 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2584 000e 42E80031 strex r1, r3, [r2] 2585 @ 0 "" 2 2586 .LVL229: 2587 .loc 2 1207 4 view .LVU868 2588 .loc 2 1207 4 is_stmt 0 view .LVU869 2589 .thumb 2590 .syntax unified 2591 .LBE658: 2592 .LBE657: 1645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE | USART_CR1_TCIE)); 2593 .loc 1 1645 3 discriminator 1 view .LVU870 2594 0012 0029 cmp r1, #0 2595 0014 F6D1 bne .L109 2596 .LVL230: 2597 .L110: 1645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE | USART_CR1_TCIE)); 2598 .loc 1 1645 3 discriminator 1 view .LVU871 2599 .LBE654: 1645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE | USART_CR1_TCIE)); 2600 .loc 1 1645 3 is_stmt 1 discriminator 2 view .LVU872 1647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2601 .loc 1 1647 3 discriminator 1 view .LVU873 2602 .LBB659: 1647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2603 .loc 1 1647 3 discriminator 1 view .LVU874 1647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2604 .loc 1 1647 3 discriminator 1 view .LVU875 ARM GAS /tmp/cciGf5I5.s page 153 1647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2605 .loc 1 1647 3 discriminator 1 view .LVU876 2606 0016 2268 ldr r2, [r4] 2607 .LVL231: 2608 .LBB660: 2609 .LBI660: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2610 .loc 2 1151 31 view .LVU877 2611 .LBB661: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 2612 .loc 2 1153 5 view .LVU878 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2613 .loc 2 1155 4 view .LVU879 2614 0018 02F10803 add r3, r2, #8 2615 .LVL232: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2616 .loc 2 1155 4 is_stmt 0 view .LVU880 2617 .syntax unified 2618 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2619 001c 53E8003F ldrex r3, [r3] 2620 @ 0 "" 2 2621 .LVL233: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2622 .loc 2 1156 4 is_stmt 1 view .LVU881 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2623 .loc 2 1156 4 is_stmt 0 view .LVU882 2624 .thumb 2625 .syntax unified 2626 .LBE661: 2627 .LBE660: 1647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2628 .loc 1 1647 3 discriminator 1 view .LVU883 2629 0020 23F08453 bic r3, r3, #276824064 2630 0024 23F00103 bic r3, r3, #1 2631 .LVL234: 1647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2632 .loc 1 1647 3 is_stmt 1 discriminator 1 view .LVU884 2633 .LBB662: 2634 .LBI662: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2635 .loc 2 1202 31 view .LVU885 2636 .LBB663: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 2637 .loc 2 1204 4 view .LVU886 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2638 .loc 2 1206 4 view .LVU887 2639 0028 0832 adds r2, r2, #8 2640 .LVL235: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2641 .loc 2 1206 4 is_stmt 0 view .LVU888 2642 .syntax unified 2643 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2644 002a 42E80031 strex r1, r3, [r2] 2645 @ 0 "" 2 2646 .LVL236: 2647 .loc 2 1207 4 is_stmt 1 view .LVU889 2648 .loc 2 1207 4 is_stmt 0 view .LVU890 ARM GAS /tmp/cciGf5I5.s page 154 2649 .thumb 2650 .syntax unified 2651 .LBE663: 2652 .LBE662: 1647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2653 .loc 1 1647 3 discriminator 1 view .LVU891 2654 002e 0029 cmp r1, #0 2655 0030 F1D1 bne .L110 2656 .LBE659: 1647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2657 .loc 1 1647 3 is_stmt 1 discriminator 2 view .LVU892 1650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2658 .loc 1 1650 3 view .LVU893 1650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2659 .loc 1 1650 12 is_stmt 0 view .LVU894 2660 0032 E36E ldr r3, [r4, #108] 2661 .LVL237: 1650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2662 .loc 1 1650 6 view .LVU895 2663 0034 012B cmp r3, #1 2664 0036 4FD0 beq .L112 2665 .L111: 1652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2666 .loc 1 1652 5 is_stmt 1 discriminator 2 view .LVU896 1656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2667 .loc 1 1656 3 view .LVU897 1656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2668 .loc 1 1656 7 is_stmt 0 view .LVU898 2669 0038 2368 ldr r3, [r4] 2670 003a 9B68 ldr r3, [r3, #8] 1656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2671 .loc 1 1656 6 view .LVU899 2672 003c 13F0800F tst r3, #128 2673 0040 14D0 beq .L113 2674 .L114: 1659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2675 .loc 1 1659 5 is_stmt 1 discriminator 1 view .LVU900 2676 .LBB664: 1659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2677 .loc 1 1659 5 discriminator 1 view .LVU901 1659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2678 .loc 1 1659 5 discriminator 1 view .LVU902 1659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2679 .loc 1 1659 5 discriminator 1 view .LVU903 2680 0042 2268 ldr r2, [r4] 2681 .LVL238: 2682 .LBB665: 2683 .LBI665: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2684 .loc 2 1151 31 view .LVU904 2685 .LBB666: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 2686 .loc 2 1153 5 view .LVU905 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2687 .loc 2 1155 4 view .LVU906 2688 0044 02F10803 add r3, r2, #8 2689 .LVL239: ARM GAS /tmp/cciGf5I5.s page 155 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2690 .loc 2 1155 4 is_stmt 0 view .LVU907 2691 .syntax unified 2692 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2693 0048 53E8003F ldrex r3, [r3] 2694 @ 0 "" 2 2695 .LVL240: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2696 .loc 2 1156 4 is_stmt 1 view .LVU908 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2697 .loc 2 1156 4 is_stmt 0 view .LVU909 2698 .thumb 2699 .syntax unified 2700 .LBE666: 2701 .LBE665: 1659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2702 .loc 1 1659 5 discriminator 1 view .LVU910 2703 004c 23F08003 bic r3, r3, #128 2704 .LVL241: 1659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2705 .loc 1 1659 5 is_stmt 1 discriminator 1 view .LVU911 2706 .LBB667: 2707 .LBI667: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2708 .loc 2 1202 31 view .LVU912 2709 .LBB668: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 2710 .loc 2 1204 4 view .LVU913 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2711 .loc 2 1206 4 view .LVU914 2712 0050 0832 adds r2, r2, #8 2713 .LVL242: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2714 .loc 2 1206 4 is_stmt 0 view .LVU915 2715 .syntax unified 2716 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2717 0052 42E80031 strex r1, r3, [r2] 2718 @ 0 "" 2 2719 .LVL243: 2720 .loc 2 1207 4 is_stmt 1 view .LVU916 2721 .loc 2 1207 4 is_stmt 0 view .LVU917 2722 .thumb 2723 .syntax unified 2724 .LBE668: 2725 .LBE667: 1659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2726 .loc 1 1659 5 discriminator 1 view .LVU918 2727 0056 0029 cmp r1, #0 2728 0058 F3D1 bne .L114 2729 .LBE664: 1659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2730 .loc 1 1659 5 is_stmt 1 discriminator 2 view .LVU919 1662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2731 .loc 1 1662 5 view .LVU920 1662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2732 .loc 1 1662 14 is_stmt 0 view .LVU921 2733 005a E36F ldr r3, [r4, #124] ARM GAS /tmp/cciGf5I5.s page 156 2734 .LVL244: 1662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2735 .loc 1 1662 8 view .LVU922 2736 005c 33B1 cbz r3, .L113 1666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2737 .loc 1 1666 7 is_stmt 1 view .LVU923 1666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2738 .loc 1 1666 40 is_stmt 0 view .LVU924 2739 005e 0022 movs r2, #0 2740 0060 9A63 str r2, [r3, #56] 1668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2741 .loc 1 1668 7 is_stmt 1 view .LVU925 1668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2742 .loc 1 1668 11 is_stmt 0 view .LVU926 2743 0062 E06F ldr r0, [r4, #124] 2744 .LVL245: 1668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2745 .loc 1 1668 11 view .LVU927 2746 0064 FFF7FEFF bl HAL_DMA_Abort 2747 .LVL246: 1668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2748 .loc 1 1668 10 discriminator 1 view .LVU928 2749 0068 0028 cmp r0, #0 2750 006a 3FD1 bne .L120 2751 .LVL247: 2752 .L113: 1682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2753 .loc 1 1682 3 is_stmt 1 view .LVU929 1682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2754 .loc 1 1682 7 is_stmt 0 view .LVU930 2755 006c 2368 ldr r3, [r4] 2756 006e 9B68 ldr r3, [r3, #8] 1682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2757 .loc 1 1682 6 view .LVU931 2758 0070 13F0400F tst r3, #64 2759 0074 15D0 beq .L116 2760 .L117: 1685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2761 .loc 1 1685 5 is_stmt 1 discriminator 1 view .LVU932 2762 .LBB669: 1685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2763 .loc 1 1685 5 discriminator 1 view .LVU933 1685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2764 .loc 1 1685 5 discriminator 1 view .LVU934 1685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2765 .loc 1 1685 5 discriminator 1 view .LVU935 2766 0076 2268 ldr r2, [r4] 2767 .LVL248: 2768 .LBB670: 2769 .LBI670: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2770 .loc 2 1151 31 view .LVU936 2771 .LBB671: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 2772 .loc 2 1153 5 view .LVU937 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2773 .loc 2 1155 4 view .LVU938 ARM GAS /tmp/cciGf5I5.s page 157 2774 0078 02F10803 add r3, r2, #8 2775 .LVL249: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2776 .loc 2 1155 4 is_stmt 0 view .LVU939 2777 .syntax unified 2778 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2779 007c 53E8003F ldrex r3, [r3] 2780 @ 0 "" 2 2781 .LVL250: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2782 .loc 2 1156 4 is_stmt 1 view .LVU940 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2783 .loc 2 1156 4 is_stmt 0 view .LVU941 2784 .thumb 2785 .syntax unified 2786 .LBE671: 2787 .LBE670: 1685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2788 .loc 1 1685 5 discriminator 1 view .LVU942 2789 0080 23F04003 bic r3, r3, #64 2790 .LVL251: 1685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2791 .loc 1 1685 5 is_stmt 1 discriminator 1 view .LVU943 2792 .LBB672: 2793 .LBI672: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2794 .loc 2 1202 31 view .LVU944 2795 .LBB673: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 2796 .loc 2 1204 4 view .LVU945 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2797 .loc 2 1206 4 view .LVU946 2798 0084 0832 adds r2, r2, #8 2799 .LVL252: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2800 .loc 2 1206 4 is_stmt 0 view .LVU947 2801 .syntax unified 2802 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2803 0086 42E80031 strex r1, r3, [r2] 2804 @ 0 "" 2 2805 .LVL253: 2806 .loc 2 1207 4 is_stmt 1 view .LVU948 2807 .loc 2 1207 4 is_stmt 0 view .LVU949 2808 .thumb 2809 .syntax unified 2810 .LBE673: 2811 .LBE672: 1685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2812 .loc 1 1685 5 discriminator 1 view .LVU950 2813 008a 0029 cmp r1, #0 2814 008c F3D1 bne .L117 2815 .LBE669: 1685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2816 .loc 1 1685 5 is_stmt 1 discriminator 2 view .LVU951 1688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2817 .loc 1 1688 5 view .LVU952 1688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cciGf5I5.s page 158 2818 .loc 1 1688 14 is_stmt 0 view .LVU953 2819 008e D4F88030 ldr r3, [r4, #128] 2820 .LVL254: 1688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2821 .loc 1 1688 8 view .LVU954 2822 0092 33B1 cbz r3, .L116 1692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2823 .loc 1 1692 7 is_stmt 1 view .LVU955 1692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2824 .loc 1 1692 40 is_stmt 0 view .LVU956 2825 0094 0022 movs r2, #0 2826 0096 9A63 str r2, [r3, #56] 1694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2827 .loc 1 1694 7 is_stmt 1 view .LVU957 1694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2828 .loc 1 1694 11 is_stmt 0 view .LVU958 2829 0098 D4F88000 ldr r0, [r4, #128] 2830 009c FFF7FEFF bl HAL_DMA_Abort 2831 .LVL255: 1694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2832 .loc 1 1694 10 discriminator 1 view .LVU959 2833 00a0 70BB cbnz r0, .L121 2834 .LVL256: 2835 .L116: 1708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 2836 .loc 1 1708 3 is_stmt 1 view .LVU960 1708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 2837 .loc 1 1708 22 is_stmt 0 view .LVU961 2838 00a2 0023 movs r3, #0 2839 00a4 A4F85630 strh r3, [r4, #86] @ movhi 1709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2840 .loc 1 1709 3 is_stmt 1 view .LVU962 1709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2841 .loc 1 1709 22 is_stmt 0 view .LVU963 2842 00a8 A4F85E30 strh r3, [r4, #94] @ movhi 1712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2843 .loc 1 1712 3 is_stmt 1 view .LVU964 2844 00ac 2368 ldr r3, [r4] 2845 00ae 0F22 movs r2, #15 2846 00b0 1A62 str r2, [r3, #32] 1715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2847 .loc 1 1715 3 view .LVU965 1715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2848 .loc 1 1715 12 is_stmt 0 view .LVU966 2849 00b2 636E ldr r3, [r4, #100] 1715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2850 .loc 1 1715 6 view .LVU967 2851 00b4 B3F1005F cmp r3, #536870912 2852 00b8 2DD0 beq .L122 2853 .L118: 1721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2854 .loc 1 1721 3 is_stmt 1 view .LVU968 2855 00ba 2268 ldr r2, [r4] 2856 00bc 9369 ldr r3, [r2, #24] 2857 00be 43F00803 orr r3, r3, #8 2858 00c2 9361 str r3, [r2, #24] 1724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; ARM GAS /tmp/cciGf5I5.s page 159 2859 .loc 1 1724 3 view .LVU969 1724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2860 .loc 1 1724 18 is_stmt 0 view .LVU970 2861 00c4 2023 movs r3, #32 2862 00c6 C4F88830 str r3, [r4, #136] 1725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2863 .loc 1 1725 3 is_stmt 1 view .LVU971 1725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2864 .loc 1 1725 18 is_stmt 0 view .LVU972 2865 00ca C4F88C30 str r3, [r4, #140] 1726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2866 .loc 1 1726 3 is_stmt 1 view .LVU973 1726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2867 .loc 1 1726 24 is_stmt 0 view .LVU974 2868 00ce 0020 movs r0, #0 2869 00d0 E066 str r0, [r4, #108] 1728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2870 .loc 1 1728 3 is_stmt 1 view .LVU975 1728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2871 .loc 1 1728 20 is_stmt 0 view .LVU976 2872 00d2 C4F89000 str r0, [r4, #144] 1730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2873 .loc 1 1730 3 is_stmt 1 view .LVU977 2874 .L115: 1731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2875 .loc 1 1731 1 is_stmt 0 view .LVU978 2876 00d6 10BD pop {r4, pc} 2877 .LVL257: 2878 .L112: 1652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2879 .loc 1 1652 5 is_stmt 1 discriminator 1 view .LVU979 2880 .LBB674: 1652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2881 .loc 1 1652 5 discriminator 1 view .LVU980 1652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2882 .loc 1 1652 5 discriminator 1 view .LVU981 1652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2883 .loc 1 1652 5 discriminator 1 view .LVU982 2884 00d8 2268 ldr r2, [r4] 2885 .LVL258: 2886 .LBB675: 2887 .LBI675: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2888 .loc 2 1151 31 view .LVU983 2889 .LBB676: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 2890 .loc 2 1153 5 view .LVU984 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2891 .loc 2 1155 4 view .LVU985 2892 .syntax unified 2893 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2894 00da 52E8003F ldrex r3, [r2] 2895 @ 0 "" 2 2896 .LVL259: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2897 .loc 2 1156 4 view .LVU986 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } ARM GAS /tmp/cciGf5I5.s page 160 2898 .loc 2 1156 4 is_stmt 0 view .LVU987 2899 .thumb 2900 .syntax unified 2901 .LBE676: 2902 .LBE675: 1652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2903 .loc 1 1652 5 discriminator 1 view .LVU988 2904 00de 23F01003 bic r3, r3, #16 2905 .LVL260: 1652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2906 .loc 1 1652 5 is_stmt 1 discriminator 1 view .LVU989 2907 .LBB677: 2908 .LBI677: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2909 .loc 2 1202 31 view .LVU990 2910 .LBB678: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 2911 .loc 2 1204 4 view .LVU991 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2912 .loc 2 1206 4 view .LVU992 2913 .syntax unified 2914 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2915 00e2 42E80031 strex r1, r3, [r2] 2916 @ 0 "" 2 2917 .LVL261: 2918 .loc 2 1207 4 view .LVU993 2919 .loc 2 1207 4 is_stmt 0 view .LVU994 2920 .thumb 2921 .syntax unified 2922 .LBE678: 2923 .LBE677: 1652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2924 .loc 1 1652 5 discriminator 1 view .LVU995 2925 00e6 0029 cmp r1, #0 2926 00e8 F6D1 bne .L112 2927 00ea A5E7 b .L111 2928 .LVL262: 2929 .L120: 1652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2930 .loc 1 1652 5 discriminator 1 view .LVU996 2931 .LBE674: 1670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2932 .loc 1 1670 9 is_stmt 1 view .LVU997 1670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2933 .loc 1 1670 13 is_stmt 0 view .LVU998 2934 00ec E06F ldr r0, [r4, #124] 2935 00ee FFF7FEFF bl HAL_DMA_GetError 2936 .LVL263: 1670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2937 .loc 1 1670 12 discriminator 1 view .LVU999 2938 00f2 2028 cmp r0, #32 2939 00f4 BAD1 bne .L113 1673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2940 .loc 1 1673 11 is_stmt 1 view .LVU1000 1673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2941 .loc 1 1673 28 is_stmt 0 view .LVU1001 2942 00f6 1023 movs r3, #16 ARM GAS /tmp/cciGf5I5.s page 161 2943 00f8 C4F89030 str r3, [r4, #144] 1675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2944 .loc 1 1675 11 is_stmt 1 view .LVU1002 1675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2945 .loc 1 1675 18 is_stmt 0 view .LVU1003 2946 00fc 0320 movs r0, #3 2947 00fe EAE7 b .L115 2948 .LVL264: 2949 .L121: 1696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2950 .loc 1 1696 9 is_stmt 1 view .LVU1004 1696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2951 .loc 1 1696 13 is_stmt 0 view .LVU1005 2952 0100 D4F88000 ldr r0, [r4, #128] 2953 0104 FFF7FEFF bl HAL_DMA_GetError 2954 .LVL265: 1696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2955 .loc 1 1696 12 discriminator 1 view .LVU1006 2956 0108 2028 cmp r0, #32 2957 010a CAD1 bne .L116 1699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2958 .loc 1 1699 11 is_stmt 1 view .LVU1007 1699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2959 .loc 1 1699 28 is_stmt 0 view .LVU1008 2960 010c 1023 movs r3, #16 2961 010e C4F89030 str r3, [r4, #144] 1701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2962 .loc 1 1701 11 is_stmt 1 view .LVU1009 1701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2963 .loc 1 1701 18 is_stmt 0 view .LVU1010 2964 0112 0320 movs r0, #3 2965 0114 DFE7 b .L115 2966 .LVL266: 2967 .L122: 1717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2968 .loc 1 1717 5 is_stmt 1 view .LVU1011 2969 0116 2268 ldr r2, [r4] 2970 0118 9369 ldr r3, [r2, #24] 2971 011a 43F01003 orr r3, r3, #16 2972 011e 9361 str r3, [r2, #24] 2973 0120 CBE7 b .L118 2974 .cfi_endproc 2975 .LFE345: 2977 .section .text.HAL_UART_AbortTransmit,"ax",%progbits 2978 .align 1 2979 .global HAL_UART_AbortTransmit 2980 .syntax unified 2981 .thumb 2982 .thumb_func 2984 HAL_UART_AbortTransmit: 2985 .LVL267: 2986 .LFB346: 1746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable TCIE, TXEIE and TXFTIE interrupts */ 2987 .loc 1 1746 1 view -0 2988 .cfi_startproc 2989 @ args = 0, pretend = 0, frame = 0 2990 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS /tmp/cciGf5I5.s page 162 1746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable TCIE, TXEIE and TXFTIE interrupts */ 2991 .loc 1 1746 1 is_stmt 0 view .LVU1013 2992 0000 10B5 push {r4, lr} 2993 .LCFI10: 2994 .cfi_def_cfa_offset 8 2995 .cfi_offset 4, -8 2996 .cfi_offset 14, -4 2997 0002 0446 mov r4, r0 2998 .L124: 1748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 2999 .loc 1 1748 3 is_stmt 1 discriminator 1 view .LVU1014 3000 .LBB679: 1748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 3001 .loc 1 1748 3 discriminator 1 view .LVU1015 1748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 3002 .loc 1 1748 3 discriminator 1 view .LVU1016 1748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 3003 .loc 1 1748 3 discriminator 1 view .LVU1017 3004 0004 2268 ldr r2, [r4] 3005 .LVL268: 3006 .LBB680: 3007 .LBI680: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3008 .loc 2 1151 31 view .LVU1018 3009 .LBB681: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 3010 .loc 2 1153 5 view .LVU1019 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3011 .loc 2 1155 4 view .LVU1020 3012 .syntax unified 3013 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3014 0006 52E8003F ldrex r3, [r2] 3015 @ 0 "" 2 3016 .LVL269: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3017 .loc 2 1156 4 view .LVU1021 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3018 .loc 2 1156 4 is_stmt 0 view .LVU1022 3019 .thumb 3020 .syntax unified 3021 .LBE681: 3022 .LBE680: 1748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 3023 .loc 1 1748 3 discriminator 1 view .LVU1023 3024 000a 23F0C003 bic r3, r3, #192 3025 .LVL270: 1748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 3026 .loc 1 1748 3 is_stmt 1 discriminator 1 view .LVU1024 3027 .LBB682: 3028 .LBI682: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3029 .loc 2 1202 31 view .LVU1025 3030 .LBB683: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 3031 .loc 2 1204 4 view .LVU1026 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3032 .loc 2 1206 4 view .LVU1027 ARM GAS /tmp/cciGf5I5.s page 163 3033 .syntax unified 3034 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3035 000e 42E80031 strex r1, r3, [r2] 3036 @ 0 "" 2 3037 .LVL271: 3038 .loc 2 1207 4 view .LVU1028 3039 .loc 2 1207 4 is_stmt 0 view .LVU1029 3040 .thumb 3041 .syntax unified 3042 .LBE683: 3043 .LBE682: 1748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 3044 .loc 1 1748 3 discriminator 1 view .LVU1030 3045 0012 0029 cmp r1, #0 3046 0014 F6D1 bne .L124 3047 .LVL272: 3048 .L125: 1748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 3049 .loc 1 1748 3 discriminator 1 view .LVU1031 3050 .LBE679: 1748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 3051 .loc 1 1748 3 is_stmt 1 discriminator 2 view .LVU1032 1749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3052 .loc 1 1749 3 discriminator 1 view .LVU1033 3053 .LBB684: 1749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3054 .loc 1 1749 3 discriminator 1 view .LVU1034 1749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3055 .loc 1 1749 3 discriminator 1 view .LVU1035 1749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3056 .loc 1 1749 3 discriminator 1 view .LVU1036 3057 0016 2268 ldr r2, [r4] 3058 .LVL273: 3059 .LBB685: 3060 .LBI685: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3061 .loc 2 1151 31 view .LVU1037 3062 .LBB686: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 3063 .loc 2 1153 5 view .LVU1038 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3064 .loc 2 1155 4 view .LVU1039 3065 0018 02F10803 add r3, r2, #8 3066 .LVL274: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3067 .loc 2 1155 4 is_stmt 0 view .LVU1040 3068 .syntax unified 3069 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3070 001c 53E8003F ldrex r3, [r3] 3071 @ 0 "" 2 3072 .LVL275: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3073 .loc 2 1156 4 is_stmt 1 view .LVU1041 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3074 .loc 2 1156 4 is_stmt 0 view .LVU1042 3075 .thumb 3076 .syntax unified ARM GAS /tmp/cciGf5I5.s page 164 3077 .LBE686: 3078 .LBE685: 1749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3079 .loc 1 1749 3 discriminator 1 view .LVU1043 3080 0020 23F40003 bic r3, r3, #8388608 3081 .LVL276: 1749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3082 .loc 1 1749 3 is_stmt 1 discriminator 1 view .LVU1044 3083 .LBB687: 3084 .LBI687: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3085 .loc 2 1202 31 view .LVU1045 3086 .LBB688: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 3087 .loc 2 1204 4 view .LVU1046 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3088 .loc 2 1206 4 view .LVU1047 3089 0024 0832 adds r2, r2, #8 3090 .LVL277: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3091 .loc 2 1206 4 is_stmt 0 view .LVU1048 3092 .syntax unified 3093 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3094 0026 42E80031 strex r1, r3, [r2] 3095 @ 0 "" 2 3096 .LVL278: 3097 .loc 2 1207 4 is_stmt 1 view .LVU1049 3098 .loc 2 1207 4 is_stmt 0 view .LVU1050 3099 .thumb 3100 .syntax unified 3101 .LBE688: 3102 .LBE687: 1749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3103 .loc 1 1749 3 discriminator 1 view .LVU1051 3104 002a 0029 cmp r1, #0 3105 002c F3D1 bne .L125 3106 .LBE684: 1749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3107 .loc 1 1749 3 is_stmt 1 discriminator 2 view .LVU1052 1752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3108 .loc 1 1752 3 view .LVU1053 1752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3109 .loc 1 1752 7 is_stmt 0 view .LVU1054 3110 002e 2368 ldr r3, [r4] 3111 .LVL279: 1752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3112 .loc 1 1752 7 view .LVU1055 3113 0030 9B68 ldr r3, [r3, #8] 1752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3114 .loc 1 1752 6 view .LVU1056 3115 0032 13F0800F tst r3, #128 3116 0036 13D0 beq .L126 3117 .L127: 1755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3118 .loc 1 1755 5 is_stmt 1 discriminator 1 view .LVU1057 3119 .LBB689: 1755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cciGf5I5.s page 165 3120 .loc 1 1755 5 discriminator 1 view .LVU1058 1755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3121 .loc 1 1755 5 discriminator 1 view .LVU1059 1755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3122 .loc 1 1755 5 discriminator 1 view .LVU1060 3123 0038 2268 ldr r2, [r4] 3124 .LVL280: 3125 .LBB690: 3126 .LBI690: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3127 .loc 2 1151 31 view .LVU1061 3128 .LBB691: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 3129 .loc 2 1153 5 view .LVU1062 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3130 .loc 2 1155 4 view .LVU1063 3131 003a 02F10803 add r3, r2, #8 3132 .LVL281: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3133 .loc 2 1155 4 is_stmt 0 view .LVU1064 3134 .syntax unified 3135 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3136 003e 53E8003F ldrex r3, [r3] 3137 @ 0 "" 2 3138 .LVL282: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3139 .loc 2 1156 4 is_stmt 1 view .LVU1065 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3140 .loc 2 1156 4 is_stmt 0 view .LVU1066 3141 .thumb 3142 .syntax unified 3143 .LBE691: 3144 .LBE690: 1755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3145 .loc 1 1755 5 discriminator 1 view .LVU1067 3146 0042 23F08003 bic r3, r3, #128 3147 .LVL283: 1755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3148 .loc 1 1755 5 is_stmt 1 discriminator 1 view .LVU1068 3149 .LBB692: 3150 .LBI692: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3151 .loc 2 1202 31 view .LVU1069 3152 .LBB693: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 3153 .loc 2 1204 4 view .LVU1070 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3154 .loc 2 1206 4 view .LVU1071 3155 0046 0832 adds r2, r2, #8 3156 .LVL284: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3157 .loc 2 1206 4 is_stmt 0 view .LVU1072 3158 .syntax unified 3159 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3160 0048 42E80031 strex r1, r3, [r2] 3161 @ 0 "" 2 3162 .LVL285: ARM GAS /tmp/cciGf5I5.s page 166 3163 .loc 2 1207 4 is_stmt 1 view .LVU1073 3164 .loc 2 1207 4 is_stmt 0 view .LVU1074 3165 .thumb 3166 .syntax unified 3167 .LBE693: 3168 .LBE692: 1755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3169 .loc 1 1755 5 discriminator 1 view .LVU1075 3170 004c 0029 cmp r1, #0 3171 004e F3D1 bne .L127 3172 .LBE689: 1755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3173 .loc 1 1755 5 is_stmt 1 discriminator 2 view .LVU1076 1758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3174 .loc 1 1758 5 view .LVU1077 1758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3175 .loc 1 1758 14 is_stmt 0 view .LVU1078 3176 0050 E36F ldr r3, [r4, #124] 3177 .LVL286: 1758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3178 .loc 1 1758 8 view .LVU1079 3179 0052 2BB1 cbz r3, .L126 1762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3180 .loc 1 1762 7 is_stmt 1 view .LVU1080 1762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3181 .loc 1 1762 40 is_stmt 0 view .LVU1081 3182 0054 0022 movs r2, #0 3183 0056 9A63 str r2, [r3, #56] 1764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3184 .loc 1 1764 7 is_stmt 1 view .LVU1082 1764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3185 .loc 1 1764 11 is_stmt 0 view .LVU1083 3186 0058 E06F ldr r0, [r4, #124] 3187 .LVL287: 1764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3188 .loc 1 1764 11 view .LVU1084 3189 005a FFF7FEFF bl HAL_DMA_Abort 3190 .LVL288: 1764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3191 .loc 1 1764 10 discriminator 1 view .LVU1085 3192 005e 58B9 cbnz r0, .L131 3193 .LVL289: 3194 .L126: 1778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3195 .loc 1 1778 3 is_stmt 1 view .LVU1086 1778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3196 .loc 1 1778 22 is_stmt 0 view .LVU1087 3197 0060 0023 movs r3, #0 3198 0062 A4F85630 strh r3, [r4, #86] @ movhi 1781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3199 .loc 1 1781 3 is_stmt 1 view .LVU1088 1781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3200 .loc 1 1781 12 is_stmt 0 view .LVU1089 3201 0066 636E ldr r3, [r4, #100] 1781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3202 .loc 1 1781 6 view .LVU1090 3203 0068 B3F1005F cmp r3, #536870912 ARM GAS /tmp/cciGf5I5.s page 167 3204 006c 0ED0 beq .L132 3205 .L129: 1787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3206 .loc 1 1787 3 is_stmt 1 view .LVU1091 1787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3207 .loc 1 1787 17 is_stmt 0 view .LVU1092 3208 006e 2023 movs r3, #32 3209 0070 C4F88830 str r3, [r4, #136] 1789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3210 .loc 1 1789 3 is_stmt 1 view .LVU1093 1789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3211 .loc 1 1789 10 is_stmt 0 view .LVU1094 3212 0074 0020 movs r0, #0 3213 .L128: 1790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3214 .loc 1 1790 1 view .LVU1095 3215 0076 10BD pop {r4, pc} 3216 .LVL290: 3217 .L131: 1766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3218 .loc 1 1766 9 is_stmt 1 view .LVU1096 1766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3219 .loc 1 1766 13 is_stmt 0 view .LVU1097 3220 0078 E06F ldr r0, [r4, #124] 3221 007a FFF7FEFF bl HAL_DMA_GetError 3222 .LVL291: 1766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3223 .loc 1 1766 12 discriminator 1 view .LVU1098 3224 007e 2028 cmp r0, #32 3225 0080 EED1 bne .L126 1769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3226 .loc 1 1769 11 is_stmt 1 view .LVU1099 1769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3227 .loc 1 1769 28 is_stmt 0 view .LVU1100 3228 0082 1023 movs r3, #16 3229 0084 C4F89030 str r3, [r4, #144] 1771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3230 .loc 1 1771 11 is_stmt 1 view .LVU1101 1771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3231 .loc 1 1771 18 is_stmt 0 view .LVU1102 3232 0088 0320 movs r0, #3 3233 008a F4E7 b .L128 3234 .LVL292: 3235 .L132: 1783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3236 .loc 1 1783 5 is_stmt 1 view .LVU1103 3237 008c 2268 ldr r2, [r4] 3238 008e 9369 ldr r3, [r2, #24] 3239 0090 43F01003 orr r3, r3, #16 3240 0094 9361 str r3, [r2, #24] 3241 0096 EAE7 b .L129 3242 .cfi_endproc 3243 .LFE346: 3245 .section .text.HAL_UART_AbortReceive,"ax",%progbits 3246 .align 1 3247 .global HAL_UART_AbortReceive 3248 .syntax unified ARM GAS /tmp/cciGf5I5.s page 168 3249 .thumb 3250 .thumb_func 3252 HAL_UART_AbortReceive: 3253 .LVL293: 3254 .LFB347: 1805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable PEIE, EIE, RXNEIE and RXFTIE interrupts */ 3255 .loc 1 1805 1 view -0 3256 .cfi_startproc 3257 @ args = 0, pretend = 0, frame = 0 3258 @ frame_needed = 0, uses_anonymous_args = 0 1805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable PEIE, EIE, RXNEIE and RXFTIE interrupts */ 3259 .loc 1 1805 1 is_stmt 0 view .LVU1105 3260 0000 10B5 push {r4, lr} 3261 .LCFI11: 3262 .cfi_def_cfa_offset 8 3263 .cfi_offset 4, -8 3264 .cfi_offset 14, -4 3265 0002 0446 mov r4, r0 3266 .L134: 1807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE); 3267 .loc 1 1807 3 is_stmt 1 discriminator 1 view .LVU1106 3268 .LBB694: 1807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE); 3269 .loc 1 1807 3 discriminator 1 view .LVU1107 1807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE); 3270 .loc 1 1807 3 discriminator 1 view .LVU1108 1807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE); 3271 .loc 1 1807 3 discriminator 1 view .LVU1109 3272 0004 2268 ldr r2, [r4] 3273 .LVL294: 3274 .LBB695: 3275 .LBI695: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3276 .loc 2 1151 31 view .LVU1110 3277 .LBB696: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 3278 .loc 2 1153 5 view .LVU1111 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3279 .loc 2 1155 4 view .LVU1112 3280 .syntax unified 3281 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3282 0006 52E8003F ldrex r3, [r2] 3283 @ 0 "" 2 3284 .LVL295: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3285 .loc 2 1156 4 view .LVU1113 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3286 .loc 2 1156 4 is_stmt 0 view .LVU1114 3287 .thumb 3288 .syntax unified 3289 .LBE696: 3290 .LBE695: 1807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE); 3291 .loc 1 1807 3 discriminator 1 view .LVU1115 3292 000a 23F49073 bic r3, r3, #288 3293 .LVL296: 1807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE); ARM GAS /tmp/cciGf5I5.s page 169 3294 .loc 1 1807 3 is_stmt 1 discriminator 1 view .LVU1116 3295 .LBB697: 3296 .LBI697: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3297 .loc 2 1202 31 view .LVU1117 3298 .LBB698: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 3299 .loc 2 1204 4 view .LVU1118 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3300 .loc 2 1206 4 view .LVU1119 3301 .syntax unified 3302 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3303 000e 42E80031 strex r1, r3, [r2] 3304 @ 0 "" 2 3305 .LVL297: 3306 .loc 2 1207 4 view .LVU1120 3307 .loc 2 1207 4 is_stmt 0 view .LVU1121 3308 .thumb 3309 .syntax unified 3310 .LBE698: 3311 .LBE697: 1807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE); 3312 .loc 1 1807 3 discriminator 1 view .LVU1122 3313 0012 0029 cmp r1, #0 3314 0014 F6D1 bne .L134 3315 .LVL298: 3316 .L135: 1807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE); 3317 .loc 1 1807 3 discriminator 1 view .LVU1123 3318 .LBE694: 1807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE); 3319 .loc 1 1807 3 is_stmt 1 discriminator 2 view .LVU1124 1808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3320 .loc 1 1808 3 discriminator 1 view .LVU1125 3321 .LBB699: 1808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3322 .loc 1 1808 3 discriminator 1 view .LVU1126 1808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3323 .loc 1 1808 3 discriminator 1 view .LVU1127 1808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3324 .loc 1 1808 3 discriminator 1 view .LVU1128 3325 0016 2268 ldr r2, [r4] 3326 .LVL299: 3327 .LBB700: 3328 .LBI700: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3329 .loc 2 1151 31 view .LVU1129 3330 .LBB701: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 3331 .loc 2 1153 5 view .LVU1130 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3332 .loc 2 1155 4 view .LVU1131 3333 0018 02F10803 add r3, r2, #8 3334 .LVL300: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3335 .loc 2 1155 4 is_stmt 0 view .LVU1132 3336 .syntax unified ARM GAS /tmp/cciGf5I5.s page 170 3337 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3338 001c 53E8003F ldrex r3, [r3] 3339 @ 0 "" 2 3340 .LVL301: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3341 .loc 2 1156 4 is_stmt 1 view .LVU1133 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3342 .loc 2 1156 4 is_stmt 0 view .LVU1134 3343 .thumb 3344 .syntax unified 3345 .LBE701: 3346 .LBE700: 1808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3347 .loc 1 1808 3 discriminator 1 view .LVU1135 3348 0020 23F08053 bic r3, r3, #268435456 3349 0024 23F00103 bic r3, r3, #1 3350 .LVL302: 1808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3351 .loc 1 1808 3 is_stmt 1 discriminator 1 view .LVU1136 3352 .LBB702: 3353 .LBI702: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3354 .loc 2 1202 31 view .LVU1137 3355 .LBB703: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 3356 .loc 2 1204 4 view .LVU1138 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3357 .loc 2 1206 4 view .LVU1139 3358 0028 0832 adds r2, r2, #8 3359 .LVL303: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3360 .loc 2 1206 4 is_stmt 0 view .LVU1140 3361 .syntax unified 3362 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3363 002a 42E80031 strex r1, r3, [r2] 3364 @ 0 "" 2 3365 .LVL304: 3366 .loc 2 1207 4 is_stmt 1 view .LVU1141 3367 .loc 2 1207 4 is_stmt 0 view .LVU1142 3368 .thumb 3369 .syntax unified 3370 .LBE703: 3371 .LBE702: 1808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3372 .loc 1 1808 3 discriminator 1 view .LVU1143 3373 002e 0029 cmp r1, #0 3374 0030 F1D1 bne .L135 3375 .LBE699: 1808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3376 .loc 1 1808 3 is_stmt 1 discriminator 2 view .LVU1144 1811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3377 .loc 1 1811 3 view .LVU1145 1811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3378 .loc 1 1811 12 is_stmt 0 view .LVU1146 3379 0032 E36E ldr r3, [r4, #108] 3380 .LVL305: 1811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cciGf5I5.s page 171 3381 .loc 1 1811 6 view .LVU1147 3382 0034 012B cmp r3, #1 3383 0036 2AD0 beq .L137 3384 .L136: 1813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3385 .loc 1 1813 5 is_stmt 1 discriminator 2 view .LVU1148 1817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3386 .loc 1 1817 3 view .LVU1149 1817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3387 .loc 1 1817 7 is_stmt 0 view .LVU1150 3388 0038 2368 ldr r3, [r4] 3389 003a 9B68 ldr r3, [r3, #8] 1817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3390 .loc 1 1817 6 view .LVU1151 3391 003c 13F0400F tst r3, #64 3392 0040 15D0 beq .L138 3393 .L139: 1820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3394 .loc 1 1820 5 is_stmt 1 discriminator 1 view .LVU1152 3395 .LBB704: 1820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3396 .loc 1 1820 5 discriminator 1 view .LVU1153 1820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3397 .loc 1 1820 5 discriminator 1 view .LVU1154 1820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3398 .loc 1 1820 5 discriminator 1 view .LVU1155 3399 0042 2268 ldr r2, [r4] 3400 .LVL306: 3401 .LBB705: 3402 .LBI705: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3403 .loc 2 1151 31 view .LVU1156 3404 .LBB706: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 3405 .loc 2 1153 5 view .LVU1157 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3406 .loc 2 1155 4 view .LVU1158 3407 0044 02F10803 add r3, r2, #8 3408 .LVL307: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3409 .loc 2 1155 4 is_stmt 0 view .LVU1159 3410 .syntax unified 3411 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3412 0048 53E8003F ldrex r3, [r3] 3413 @ 0 "" 2 3414 .LVL308: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3415 .loc 2 1156 4 is_stmt 1 view .LVU1160 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3416 .loc 2 1156 4 is_stmt 0 view .LVU1161 3417 .thumb 3418 .syntax unified 3419 .LBE706: 3420 .LBE705: 1820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3421 .loc 1 1820 5 discriminator 1 view .LVU1162 3422 004c 23F04003 bic r3, r3, #64 ARM GAS /tmp/cciGf5I5.s page 172 3423 .LVL309: 1820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3424 .loc 1 1820 5 is_stmt 1 discriminator 1 view .LVU1163 3425 .LBB707: 3426 .LBI707: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3427 .loc 2 1202 31 view .LVU1164 3428 .LBB708: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 3429 .loc 2 1204 4 view .LVU1165 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3430 .loc 2 1206 4 view .LVU1166 3431 0050 0832 adds r2, r2, #8 3432 .LVL310: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3433 .loc 2 1206 4 is_stmt 0 view .LVU1167 3434 .syntax unified 3435 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3436 0052 42E80031 strex r1, r3, [r2] 3437 @ 0 "" 2 3438 .LVL311: 3439 .loc 2 1207 4 is_stmt 1 view .LVU1168 3440 .loc 2 1207 4 is_stmt 0 view .LVU1169 3441 .thumb 3442 .syntax unified 3443 .LBE708: 3444 .LBE707: 1820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3445 .loc 1 1820 5 discriminator 1 view .LVU1170 3446 0056 0029 cmp r1, #0 3447 0058 F3D1 bne .L139 3448 .LBE704: 1820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3449 .loc 1 1820 5 is_stmt 1 discriminator 2 view .LVU1171 1823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3450 .loc 1 1823 5 view .LVU1172 1823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3451 .loc 1 1823 14 is_stmt 0 view .LVU1173 3452 005a D4F88030 ldr r3, [r4, #128] 3453 .LVL312: 1823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3454 .loc 1 1823 8 view .LVU1174 3455 005e 33B1 cbz r3, .L138 1827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3456 .loc 1 1827 7 is_stmt 1 view .LVU1175 1827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3457 .loc 1 1827 40 is_stmt 0 view .LVU1176 3458 0060 0022 movs r2, #0 3459 0062 9A63 str r2, [r3, #56] 1829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3460 .loc 1 1829 7 is_stmt 1 view .LVU1177 1829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3461 .loc 1 1829 11 is_stmt 0 view .LVU1178 3462 0064 D4F88000 ldr r0, [r4, #128] 3463 .LVL313: 1829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3464 .loc 1 1829 11 view .LVU1179 ARM GAS /tmp/cciGf5I5.s page 173 3465 0068 FFF7FEFF bl HAL_DMA_Abort 3466 .LVL314: 1829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3467 .loc 1 1829 10 discriminator 1 view .LVU1180 3468 006c C8B9 cbnz r0, .L142 3469 .LVL315: 3470 .L138: 1843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3471 .loc 1 1843 3 is_stmt 1 view .LVU1181 1843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3472 .loc 1 1843 22 is_stmt 0 view .LVU1182 3473 006e 0020 movs r0, #0 3474 0070 A4F85E00 strh r0, [r4, #94] @ movhi 1846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3475 .loc 1 1846 3 is_stmt 1 view .LVU1183 3476 0074 2368 ldr r3, [r4] 3477 0076 0F22 movs r2, #15 3478 0078 1A62 str r2, [r3, #32] 1849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3479 .loc 1 1849 3 view .LVU1184 3480 007a 2268 ldr r2, [r4] 3481 007c 9369 ldr r3, [r2, #24] 3482 007e 43F00803 orr r3, r3, #8 3483 0082 9361 str r3, [r2, #24] 1852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3484 .loc 1 1852 3 view .LVU1185 1852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3485 .loc 1 1852 18 is_stmt 0 view .LVU1186 3486 0084 2023 movs r3, #32 3487 0086 C4F88C30 str r3, [r4, #140] 1853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3488 .loc 1 1853 3 is_stmt 1 view .LVU1187 1853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3489 .loc 1 1853 24 is_stmt 0 view .LVU1188 3490 008a E066 str r0, [r4, #108] 1855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3491 .loc 1 1855 3 is_stmt 1 view .LVU1189 3492 .L140: 1856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3493 .loc 1 1856 1 is_stmt 0 view .LVU1190 3494 008c 10BD pop {r4, pc} 3495 .LVL316: 3496 .L137: 1813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3497 .loc 1 1813 5 is_stmt 1 discriminator 1 view .LVU1191 3498 .LBB709: 1813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3499 .loc 1 1813 5 discriminator 1 view .LVU1192 1813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3500 .loc 1 1813 5 discriminator 1 view .LVU1193 1813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3501 .loc 1 1813 5 discriminator 1 view .LVU1194 3502 008e 2268 ldr r2, [r4] 3503 .LVL317: 3504 .LBB710: 3505 .LBI710: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { ARM GAS /tmp/cciGf5I5.s page 174 3506 .loc 2 1151 31 view .LVU1195 3507 .LBB711: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 3508 .loc 2 1153 5 view .LVU1196 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3509 .loc 2 1155 4 view .LVU1197 3510 .syntax unified 3511 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3512 0090 52E8003F ldrex r3, [r2] 3513 @ 0 "" 2 3514 .LVL318: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3515 .loc 2 1156 4 view .LVU1198 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3516 .loc 2 1156 4 is_stmt 0 view .LVU1199 3517 .thumb 3518 .syntax unified 3519 .LBE711: 3520 .LBE710: 1813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3521 .loc 1 1813 5 discriminator 1 view .LVU1200 3522 0094 23F01003 bic r3, r3, #16 3523 .LVL319: 1813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3524 .loc 1 1813 5 is_stmt 1 discriminator 1 view .LVU1201 3525 .LBB712: 3526 .LBI712: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3527 .loc 2 1202 31 view .LVU1202 3528 .LBB713: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 3529 .loc 2 1204 4 view .LVU1203 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3530 .loc 2 1206 4 view .LVU1204 3531 .syntax unified 3532 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3533 0098 42E80031 strex r1, r3, [r2] 3534 @ 0 "" 2 3535 .LVL320: 3536 .loc 2 1207 4 view .LVU1205 3537 .loc 2 1207 4 is_stmt 0 view .LVU1206 3538 .thumb 3539 .syntax unified 3540 .LBE713: 3541 .LBE712: 1813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3542 .loc 1 1813 5 discriminator 1 view .LVU1207 3543 009c 0029 cmp r1, #0 3544 009e F6D1 bne .L137 3545 00a0 CAE7 b .L136 3546 .LVL321: 3547 .L142: 1813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3548 .loc 1 1813 5 discriminator 1 view .LVU1208 3549 .LBE709: 1831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3550 .loc 1 1831 9 is_stmt 1 view .LVU1209 ARM GAS /tmp/cciGf5I5.s page 175 1831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3551 .loc 1 1831 13 is_stmt 0 view .LVU1210 3552 00a2 D4F88000 ldr r0, [r4, #128] 3553 00a6 FFF7FEFF bl HAL_DMA_GetError 3554 .LVL322: 1831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3555 .loc 1 1831 12 discriminator 1 view .LVU1211 3556 00aa 2028 cmp r0, #32 3557 00ac DFD1 bne .L138 1834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3558 .loc 1 1834 11 is_stmt 1 view .LVU1212 1834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3559 .loc 1 1834 28 is_stmt 0 view .LVU1213 3560 00ae 1023 movs r3, #16 3561 00b0 C4F89030 str r3, [r4, #144] 1836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3562 .loc 1 1836 11 is_stmt 1 view .LVU1214 1836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3563 .loc 1 1836 18 is_stmt 0 view .LVU1215 3564 00b4 0320 movs r0, #3 3565 00b6 E9E7 b .L140 3566 .cfi_endproc 3567 .LFE347: 3569 .section .text.HAL_UART_TxCpltCallback,"ax",%progbits 3570 .align 1 3571 .weak HAL_UART_TxCpltCallback 3572 .syntax unified 3573 .thumb 3574 .thumb_func 3576 HAL_UART_TxCpltCallback: 3577 .LVL323: 3578 .LFB352: 2562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 3579 .loc 1 2562 1 is_stmt 1 view -0 3580 .cfi_startproc 3581 @ args = 0, pretend = 0, frame = 0 3582 @ frame_needed = 0, uses_anonymous_args = 0 3583 @ link register save eliminated. 2564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3584 .loc 1 2564 3 view .LVU1217 2569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3585 .loc 1 2569 1 is_stmt 0 view .LVU1218 3586 0000 7047 bx lr 3587 .cfi_endproc 3588 .LFE352: 3590 .section .text.UART_DMATransmitCplt,"ax",%progbits 3591 .align 1 3592 .syntax unified 3593 .thumb 3594 .thumb_func 3596 UART_DMATransmitCplt: 3597 .LVL324: 3598 .LFB380: 3626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3599 .loc 1 3626 1 is_stmt 1 view -0 3600 .cfi_startproc 3601 @ args = 0, pretend = 0, frame = 0 ARM GAS /tmp/cciGf5I5.s page 176 3602 @ frame_needed = 0, uses_anonymous_args = 0 3626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3603 .loc 1 3626 1 is_stmt 0 view .LVU1220 3604 0000 08B5 push {r3, lr} 3605 .LCFI12: 3606 .cfi_def_cfa_offset 8 3607 .cfi_offset 3, -8 3608 .cfi_offset 14, -4 3609 0002 0346 mov r3, r0 3627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3610 .loc 1 3627 3 is_stmt 1 view .LVU1221 3627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3611 .loc 1 3627 23 is_stmt 0 view .LVU1222 3612 0004 806A ldr r0, [r0, #40] 3613 .LVL325: 3630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3614 .loc 1 3630 3 is_stmt 1 view .LVU1223 3630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3615 .loc 1 3630 7 is_stmt 0 view .LVU1224 3616 0006 1B68 ldr r3, [r3] 3617 .LVL326: 3630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3618 .loc 1 3630 7 view .LVU1225 3619 0008 1B68 ldr r3, [r3] 3630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3620 .loc 1 3630 6 view .LVU1226 3621 000a 13F0200F tst r3, #32 3622 000e 18D1 bne .L145 3632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3623 .loc 1 3632 5 is_stmt 1 view .LVU1227 3632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3624 .loc 1 3632 24 is_stmt 0 view .LVU1228 3625 0010 0023 movs r3, #0 3626 0012 A0F85630 strh r3, [r0, #86] @ movhi 3627 .L146: 3636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3628 .loc 1 3636 5 is_stmt 1 discriminator 1 view .LVU1229 3629 .LBB714: 3636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3630 .loc 1 3636 5 discriminator 1 view .LVU1230 3636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3631 .loc 1 3636 5 discriminator 1 view .LVU1231 3636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3632 .loc 1 3636 5 discriminator 1 view .LVU1232 3633 0016 0268 ldr r2, [r0] 3634 .LVL327: 3635 .LBB715: 3636 .LBI715: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3637 .loc 2 1151 31 view .LVU1233 3638 .LBB716: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 3639 .loc 2 1153 5 view .LVU1234 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3640 .loc 2 1155 4 view .LVU1235 3641 0018 02F10803 add r3, r2, #8 3642 .LVL328: ARM GAS /tmp/cciGf5I5.s page 177 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3643 .loc 2 1155 4 is_stmt 0 view .LVU1236 3644 .syntax unified 3645 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3646 001c 53E8003F ldrex r3, [r3] 3647 @ 0 "" 2 3648 .LVL329: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3649 .loc 2 1156 4 is_stmt 1 view .LVU1237 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3650 .loc 2 1156 4 is_stmt 0 view .LVU1238 3651 .thumb 3652 .syntax unified 3653 .LBE716: 3654 .LBE715: 3636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3655 .loc 1 3636 5 discriminator 1 view .LVU1239 3656 0020 23F08003 bic r3, r3, #128 3657 .LVL330: 3636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3658 .loc 1 3636 5 is_stmt 1 discriminator 1 view .LVU1240 3659 .LBB717: 3660 .LBI717: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3661 .loc 2 1202 31 view .LVU1241 3662 .LBB718: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 3663 .loc 2 1204 4 view .LVU1242 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3664 .loc 2 1206 4 view .LVU1243 3665 0024 0832 adds r2, r2, #8 3666 .LVL331: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3667 .loc 2 1206 4 is_stmt 0 view .LVU1244 3668 .syntax unified 3669 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3670 0026 42E80031 strex r1, r3, [r2] 3671 @ 0 "" 2 3672 .LVL332: 3673 .loc 2 1207 4 is_stmt 1 view .LVU1245 3674 .loc 2 1207 4 is_stmt 0 view .LVU1246 3675 .thumb 3676 .syntax unified 3677 .LBE718: 3678 .LBE717: 3636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3679 .loc 1 3636 5 discriminator 1 view .LVU1247 3680 002a 0029 cmp r1, #0 3681 002c F3D1 bne .L146 3682 .LVL333: 3683 .L147: 3636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3684 .loc 1 3636 5 discriminator 1 view .LVU1248 3685 .LBE714: 3636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3686 .loc 1 3636 5 is_stmt 1 discriminator 2 view .LVU1249 3639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cciGf5I5.s page 178 3687 .loc 1 3639 5 discriminator 1 view .LVU1250 3688 .LBB719: 3639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3689 .loc 1 3639 5 discriminator 1 view .LVU1251 3639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3690 .loc 1 3639 5 discriminator 1 view .LVU1252 3639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3691 .loc 1 3639 5 discriminator 1 view .LVU1253 3692 002e 0268 ldr r2, [r0] 3693 .LVL334: 3694 .LBB720: 3695 .LBI720: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3696 .loc 2 1151 31 view .LVU1254 3697 .LBB721: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 3698 .loc 2 1153 5 view .LVU1255 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3699 .loc 2 1155 4 view .LVU1256 3700 .syntax unified 3701 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3702 0030 52E8003F ldrex r3, [r2] 3703 @ 0 "" 2 3704 .LVL335: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3705 .loc 2 1156 4 view .LVU1257 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3706 .loc 2 1156 4 is_stmt 0 view .LVU1258 3707 .thumb 3708 .syntax unified 3709 .LBE721: 3710 .LBE720: 3639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3711 .loc 1 3639 5 discriminator 1 view .LVU1259 3712 0034 43F04003 orr r3, r3, #64 3713 .LVL336: 3639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3714 .loc 1 3639 5 is_stmt 1 discriminator 1 view .LVU1260 3715 .LBB722: 3716 .LBI722: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3717 .loc 2 1202 31 view .LVU1261 3718 .LBB723: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 3719 .loc 2 1204 4 view .LVU1262 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3720 .loc 2 1206 4 view .LVU1263 3721 .syntax unified 3722 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3723 0038 42E80031 strex r1, r3, [r2] 3724 @ 0 "" 2 3725 .LVL337: 3726 .loc 2 1207 4 view .LVU1264 3727 .loc 2 1207 4 is_stmt 0 view .LVU1265 3728 .thumb 3729 .syntax unified 3730 .LBE723: ARM GAS /tmp/cciGf5I5.s page 179 3731 .LBE722: 3639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3732 .loc 1 3639 5 discriminator 1 view .LVU1266 3733 003c 0029 cmp r1, #0 3734 003e F6D1 bne .L147 3735 .LVL338: 3736 .L144: 3639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3737 .loc 1 3639 5 discriminator 1 view .LVU1267 3738 .LBE719: 3652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3739 .loc 1 3652 1 view .LVU1268 3740 0040 08BD pop {r3, pc} 3741 .LVL339: 3742 .L145: 3649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3743 .loc 1 3649 5 is_stmt 1 view .LVU1269 3744 0042 FFF7FEFF bl HAL_UART_TxCpltCallback 3745 .LVL340: 3652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3746 .loc 1 3652 1 is_stmt 0 view .LVU1270 3747 0046 FBE7 b .L144 3748 .cfi_endproc 3749 .LFE380: 3751 .section .text.UART_EndTransmit_IT,"ax",%progbits 3752 .align 1 3753 .syntax unified 3754 .thumb 3755 .thumb_func 3757 UART_EndTransmit_IT: 3758 .LFB394: 4146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 4148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Wrap up transmission in non-blocking mode. 4149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart pointer to a UART_HandleTypeDef structure that contains 4150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the configuration information for the specified UART module. 4151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 4152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 4153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_EndTransmit_IT(UART_HandleTypeDef *huart) 4154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3759 .loc 1 4154 1 is_stmt 1 view -0 3760 .cfi_startproc 3761 @ args = 0, pretend = 0, frame = 0 3762 @ frame_needed = 0, uses_anonymous_args = 0 3763 .LVL341: 3764 .loc 1 4154 1 is_stmt 0 view .LVU1272 3765 0000 08B5 push {r3, lr} 3766 .LCFI13: 3767 .cfi_def_cfa_offset 8 3768 .cfi_offset 3, -8 3769 .cfi_offset 14, -4 3770 .L151: 4155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Transmit Complete Interrupt */ 4156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TCIE); 3771 .loc 1 4156 3 is_stmt 1 discriminator 1 view .LVU1273 3772 .LBB724: 3773 .loc 1 4156 3 discriminator 1 view .LVU1274 ARM GAS /tmp/cciGf5I5.s page 180 3774 .loc 1 4156 3 discriminator 1 view .LVU1275 3775 .loc 1 4156 3 discriminator 1 view .LVU1276 3776 0002 0268 ldr r2, [r0] 3777 .LVL342: 3778 .LBB725: 3779 .LBI725: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3780 .loc 2 1151 31 view .LVU1277 3781 .LBB726: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 3782 .loc 2 1153 5 view .LVU1278 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3783 .loc 2 1155 4 view .LVU1279 3784 .syntax unified 3785 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3786 0004 52E8003F ldrex r3, [r2] 3787 @ 0 "" 2 3788 .LVL343: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3789 .loc 2 1156 4 view .LVU1280 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3790 .loc 2 1156 4 is_stmt 0 view .LVU1281 3791 .thumb 3792 .syntax unified 3793 .LBE726: 3794 .LBE725: 3795 .loc 1 4156 3 discriminator 1 view .LVU1282 3796 0008 23F04003 bic r3, r3, #64 3797 .LVL344: 3798 .loc 1 4156 3 is_stmt 1 discriminator 1 view .LVU1283 3799 .LBB727: 3800 .LBI727: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3801 .loc 2 1202 31 view .LVU1284 3802 .LBB728: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 3803 .loc 2 1204 4 view .LVU1285 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3804 .loc 2 1206 4 view .LVU1286 3805 .syntax unified 3806 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3807 000c 42E80031 strex r1, r3, [r2] 3808 @ 0 "" 2 3809 .LVL345: 3810 .loc 2 1207 4 view .LVU1287 3811 .loc 2 1207 4 is_stmt 0 view .LVU1288 3812 .thumb 3813 .syntax unified 3814 .LBE728: 3815 .LBE727: 3816 .loc 1 4156 3 discriminator 1 view .LVU1289 3817 0010 0029 cmp r1, #0 3818 0012 F6D1 bne .L151 3819 .LBE724: 3820 .loc 1 4156 3 is_stmt 1 discriminator 2 view .LVU1290 4157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Tx process is ended, restore huart->gState to Ready */ ARM GAS /tmp/cciGf5I5.s page 181 4159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3821 .loc 1 4159 3 view .LVU1291 3822 .loc 1 4159 17 is_stmt 0 view .LVU1292 3823 0014 2023 movs r3, #32 3824 .LVL346: 3825 .loc 1 4159 17 view .LVU1293 3826 0016 C0F88830 str r3, [r0, #136] 4160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Cleat TxISR function pointer */ 4162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL; 3827 .loc 1 4162 3 is_stmt 1 view .LVU1294 3828 .loc 1 4162 16 is_stmt 0 view .LVU1295 3829 001a 0023 movs r3, #0 3830 001c 8367 str r3, [r0, #120] 4163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 4165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Tx complete callback*/ 4166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxCpltCallback(huart); 4167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 4168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/ 4169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart); 3831 .loc 1 4169 3 is_stmt 1 view .LVU1296 3832 001e FFF7FEFF bl HAL_UART_TxCpltCallback 3833 .LVL347: 4170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3834 .loc 1 4171 1 is_stmt 0 view .LVU1297 3835 0022 08BD pop {r3, pc} 3836 .cfi_endproc 3837 .LFE394: 3839 .section .text.HAL_UART_TxHalfCpltCallback,"ax",%progbits 3840 .align 1 3841 .weak HAL_UART_TxHalfCpltCallback 3842 .syntax unified 3843 .thumb 3844 .thumb_func 3846 HAL_UART_TxHalfCpltCallback: 3847 .LVL348: 3848 .LFB353: 2577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 3849 .loc 1 2577 1 is_stmt 1 view -0 3850 .cfi_startproc 3851 @ args = 0, pretend = 0, frame = 0 3852 @ frame_needed = 0, uses_anonymous_args = 0 3853 @ link register save eliminated. 2579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3854 .loc 1 2579 3 view .LVU1299 2584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3855 .loc 1 2584 1 is_stmt 0 view .LVU1300 3856 0000 7047 bx lr 3857 .cfi_endproc 3858 .LFE353: 3860 .section .text.UART_DMATxHalfCplt,"ax",%progbits 3861 .align 1 3862 .syntax unified 3863 .thumb 3864 .thumb_func ARM GAS /tmp/cciGf5I5.s page 182 3866 UART_DMATxHalfCplt: 3867 .LVL349: 3868 .LFB381: 3660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3869 .loc 1 3660 1 is_stmt 1 view -0 3870 .cfi_startproc 3871 @ args = 0, pretend = 0, frame = 0 3872 @ frame_needed = 0, uses_anonymous_args = 0 3660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3873 .loc 1 3660 1 is_stmt 0 view .LVU1302 3874 0000 08B5 push {r3, lr} 3875 .LCFI14: 3876 .cfi_def_cfa_offset 8 3877 .cfi_offset 3, -8 3878 .cfi_offset 14, -4 3661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3879 .loc 1 3661 3 is_stmt 1 view .LVU1303 3880 .LVL350: 3668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3881 .loc 1 3668 3 view .LVU1304 3882 0002 806A ldr r0, [r0, #40] 3883 .LVL351: 3668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3884 .loc 1 3668 3 is_stmt 0 view .LVU1305 3885 0004 FFF7FEFF bl HAL_UART_TxHalfCpltCallback 3886 .LVL352: 3670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3887 .loc 1 3670 1 view .LVU1306 3888 0008 08BD pop {r3, pc} 3889 .cfi_endproc 3890 .LFE381: 3892 .section .text.HAL_UART_RxCpltCallback,"ax",%progbits 3893 .align 1 3894 .weak HAL_UART_RxCpltCallback 3895 .syntax unified 3896 .thumb 3897 .thumb_func 3899 HAL_UART_RxCpltCallback: 3900 .LVL353: 3901 .LFB354: 2592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 3902 .loc 1 2592 1 is_stmt 1 view -0 3903 .cfi_startproc 3904 @ args = 0, pretend = 0, frame = 0 3905 @ frame_needed = 0, uses_anonymous_args = 0 3906 @ link register save eliminated. 2594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3907 .loc 1 2594 3 view .LVU1308 2599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3908 .loc 1 2599 1 is_stmt 0 view .LVU1309 3909 0000 7047 bx lr 3910 .cfi_endproc 3911 .LFE354: 3913 .section .text.HAL_UART_RxHalfCpltCallback,"ax",%progbits 3914 .align 1 3915 .weak HAL_UART_RxHalfCpltCallback 3916 .syntax unified ARM GAS /tmp/cciGf5I5.s page 183 3917 .thumb 3918 .thumb_func 3920 HAL_UART_RxHalfCpltCallback: 3921 .LVL354: 3922 .LFB355: 2607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 3923 .loc 1 2607 1 is_stmt 1 view -0 3924 .cfi_startproc 3925 @ args = 0, pretend = 0, frame = 0 3926 @ frame_needed = 0, uses_anonymous_args = 0 3927 @ link register save eliminated. 2609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3928 .loc 1 2609 3 view .LVU1311 2614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3929 .loc 1 2614 1 is_stmt 0 view .LVU1312 3930 0000 7047 bx lr 3931 .cfi_endproc 3932 .LFE355: 3934 .section .text.HAL_UART_ErrorCallback,"ax",%progbits 3935 .align 1 3936 .weak HAL_UART_ErrorCallback 3937 .syntax unified 3938 .thumb 3939 .thumb_func 3941 HAL_UART_ErrorCallback: 3942 .LVL355: 3943 .LFB356: 2622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 3944 .loc 1 2622 1 is_stmt 1 view -0 3945 .cfi_startproc 3946 @ args = 0, pretend = 0, frame = 0 3947 @ frame_needed = 0, uses_anonymous_args = 0 3948 @ link register save eliminated. 2624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3949 .loc 1 2624 3 view .LVU1314 2629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3950 .loc 1 2629 1 is_stmt 0 view .LVU1315 3951 0000 7047 bx lr 3952 .cfi_endproc 3953 .LFE356: 3955 .section .text.UART_DMAError,"ax",%progbits 3956 .align 1 3957 .syntax unified 3958 .thumb 3959 .thumb_func 3961 UART_DMAError: 3962 .LVL356: 3963 .LFB384: 3777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3964 .loc 1 3777 1 is_stmt 1 view -0 3965 .cfi_startproc 3966 @ args = 0, pretend = 0, frame = 0 3967 @ frame_needed = 0, uses_anonymous_args = 0 3777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3968 .loc 1 3777 1 is_stmt 0 view .LVU1317 3969 0000 38B5 push {r3, r4, r5, lr} 3970 .LCFI15: ARM GAS /tmp/cciGf5I5.s page 184 3971 .cfi_def_cfa_offset 16 3972 .cfi_offset 3, -16 3973 .cfi_offset 4, -12 3974 .cfi_offset 5, -8 3975 .cfi_offset 14, -4 3778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3976 .loc 1 3778 3 is_stmt 1 view .LVU1318 3778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3977 .loc 1 3778 23 is_stmt 0 view .LVU1319 3978 0002 846A ldr r4, [r0, #40] 3979 .LVL357: 3780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 3980 .loc 1 3780 3 is_stmt 1 view .LVU1320 3780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 3981 .loc 1 3780 31 is_stmt 0 view .LVU1321 3982 0004 D4F88820 ldr r2, [r4, #136] 3983 .LVL358: 3781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3984 .loc 1 3781 3 is_stmt 1 view .LVU1322 3781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3985 .loc 1 3781 31 is_stmt 0 view .LVU1323 3986 0008 D4F88C50 ldr r5, [r4, #140] 3987 .LVL359: 3784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 3988 .loc 1 3784 3 is_stmt 1 view .LVU1324 3784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 3989 .loc 1 3784 8 is_stmt 0 view .LVU1325 3990 000c 2368 ldr r3, [r4] 3991 000e 9B68 ldr r3, [r3, #8] 3784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 3992 .loc 1 3784 6 view .LVU1326 3993 0010 13F0800F tst r3, #128 3994 0014 01D0 beq .L160 3784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 3995 .loc 1 3784 62 discriminator 1 view .LVU1327 3996 0016 212A cmp r2, #33 3997 0018 10D0 beq .L163 3998 .LVL360: 3999 .L160: 3792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 4000 .loc 1 3792 3 is_stmt 1 view .LVU1328 3792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 4001 .loc 1 3792 8 is_stmt 0 view .LVU1329 4002 001a 2368 ldr r3, [r4] 4003 001c 9B68 ldr r3, [r3, #8] 3792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 4004 .loc 1 3792 6 view .LVU1330 4005 001e 13F0400F tst r3, #64 4006 0022 01D0 beq .L161 3792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 4007 .loc 1 3792 62 discriminator 1 view .LVU1331 4008 0024 222D cmp r5, #34 4009 0026 10D0 beq .L164 4010 .L161: 3799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4011 .loc 1 3799 3 is_stmt 1 view .LVU1332 3799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cciGf5I5.s page 185 4012 .loc 1 3799 8 is_stmt 0 view .LVU1333 4013 0028 D4F89030 ldr r3, [r4, #144] 3799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4014 .loc 1 3799 20 view .LVU1334 4015 002c 43F01003 orr r3, r3, #16 4016 0030 C4F89030 str r3, [r4, #144] 3806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4017 .loc 1 3806 3 is_stmt 1 view .LVU1335 4018 0034 2046 mov r0, r4 4019 0036 FFF7FEFF bl HAL_UART_ErrorCallback 4020 .LVL361: 3808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4021 .loc 1 3808 1 is_stmt 0 view .LVU1336 4022 003a 38BD pop {r3, r4, r5, pc} 4023 .LVL362: 4024 .L163: 3787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_EndTxTransfer(huart); 4025 .loc 1 3787 5 is_stmt 1 view .LVU1337 3787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_EndTxTransfer(huart); 4026 .loc 1 3787 24 is_stmt 0 view .LVU1338 4027 003c 0023 movs r3, #0 4028 003e A4F85630 strh r3, [r4, #86] @ movhi 3788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4029 .loc 1 3788 5 is_stmt 1 view .LVU1339 4030 0042 2046 mov r0, r4 4031 .LVL363: 3788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4032 .loc 1 3788 5 is_stmt 0 view .LVU1340 4033 0044 FFF7FEFF bl UART_EndTxTransfer 4034 .LVL364: 3788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4035 .loc 1 3788 5 view .LVU1341 4036 0048 E7E7 b .L160 4037 .L164: 3795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_EndRxTransfer(huart); 4038 .loc 1 3795 5 is_stmt 1 view .LVU1342 3795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_EndRxTransfer(huart); 4039 .loc 1 3795 24 is_stmt 0 view .LVU1343 4040 004a 0023 movs r3, #0 4041 004c A4F85E30 strh r3, [r4, #94] @ movhi 3796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4042 .loc 1 3796 5 is_stmt 1 view .LVU1344 4043 0050 2046 mov r0, r4 4044 0052 FFF7FEFF bl UART_EndRxTransfer 4045 .LVL365: 4046 0056 E7E7 b .L161 4047 .cfi_endproc 4048 .LFE384: 4050 .section .text.UART_DMAAbortOnError,"ax",%progbits 4051 .align 1 4052 .syntax unified 4053 .thumb 4054 .thumb_func 4056 UART_DMAAbortOnError: 4057 .LVL366: 4058 .LFB385: 3817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); ARM GAS /tmp/cciGf5I5.s page 186 4059 .loc 1 3817 1 view -0 4060 .cfi_startproc 4061 @ args = 0, pretend = 0, frame = 0 4062 @ frame_needed = 0, uses_anonymous_args = 0 3817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4063 .loc 1 3817 1 is_stmt 0 view .LVU1346 4064 0000 08B5 push {r3, lr} 4065 .LCFI16: 4066 .cfi_def_cfa_offset 8 4067 .cfi_offset 3, -8 4068 .cfi_offset 14, -4 3818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 4069 .loc 1 3818 3 is_stmt 1 view .LVU1347 3818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 4070 .loc 1 3818 23 is_stmt 0 view .LVU1348 4071 0002 806A ldr r0, [r0, #40] 4072 .LVL367: 3819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4073 .loc 1 3819 3 is_stmt 1 view .LVU1349 3819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4074 .loc 1 3819 22 is_stmt 0 view .LVU1350 4075 0004 0023 movs r3, #0 4076 0006 A0F85E30 strh r3, [r0, #94] @ movhi 3826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4077 .loc 1 3826 3 is_stmt 1 view .LVU1351 4078 000a FFF7FEFF bl HAL_UART_ErrorCallback 4079 .LVL368: 3828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4080 .loc 1 3828 1 is_stmt 0 view .LVU1352 4081 000e 08BD pop {r3, pc} 4082 .cfi_endproc 4083 .LFE385: 4085 .section .text.HAL_UART_AbortCpltCallback,"ax",%progbits 4086 .align 1 4087 .weak HAL_UART_AbortCpltCallback 4088 .syntax unified 4089 .thumb 4090 .thumb_func 4092 HAL_UART_AbortCpltCallback: 4093 .LVL369: 4094 .LFB357: 2637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 4095 .loc 1 2637 1 is_stmt 1 view -0 4096 .cfi_startproc 4097 @ args = 0, pretend = 0, frame = 0 4098 @ frame_needed = 0, uses_anonymous_args = 0 4099 @ link register save eliminated. 2639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4100 .loc 1 2639 3 view .LVU1354 2644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4101 .loc 1 2644 1 is_stmt 0 view .LVU1355 4102 0000 7047 bx lr 4103 .cfi_endproc 4104 .LFE357: 4106 .section .text.HAL_UART_Abort_IT,"ax",%progbits 4107 .align 1 4108 .global HAL_UART_Abort_IT ARM GAS /tmp/cciGf5I5.s page 187 4109 .syntax unified 4110 .thumb 4111 .thumb_func 4113 HAL_UART_Abort_IT: 4114 .LVL370: 4115 .LFB348: 1873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t abortcplt = 1U; 4116 .loc 1 1873 1 is_stmt 1 view -0 4117 .cfi_startproc 4118 @ args = 0, pretend = 0, frame = 0 4119 @ frame_needed = 0, uses_anonymous_args = 0 1873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t abortcplt = 1U; 4120 .loc 1 1873 1 is_stmt 0 view .LVU1357 4121 0000 38B5 push {r3, r4, r5, lr} 4122 .LCFI17: 4123 .cfi_def_cfa_offset 16 4124 .cfi_offset 3, -16 4125 .cfi_offset 4, -12 4126 .cfi_offset 5, -8 4127 .cfi_offset 14, -4 4128 0002 0446 mov r4, r0 1874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4129 .loc 1 1874 3 is_stmt 1 view .LVU1358 4130 .LVL371: 4131 .L169: 1877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 4132 .loc 1 1877 3 discriminator 1 view .LVU1359 4133 .LBB729: 1877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 4134 .loc 1 1877 3 discriminator 1 view .LVU1360 1877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 4135 .loc 1 1877 3 discriminator 1 view .LVU1361 1877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 4136 .loc 1 1877 3 discriminator 1 view .LVU1362 4137 0004 2268 ldr r2, [r4] 4138 .LVL372: 4139 .LBB730: 4140 .LBI730: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4141 .loc 2 1151 31 view .LVU1363 4142 .LBB731: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 4143 .loc 2 1153 5 view .LVU1364 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4144 .loc 2 1155 4 view .LVU1365 4145 .syntax unified 4146 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4147 0006 52E8003F ldrex r3, [r2] 4148 @ 0 "" 2 4149 .LVL373: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4150 .loc 2 1156 4 view .LVU1366 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4151 .loc 2 1156 4 is_stmt 0 view .LVU1367 4152 .thumb 4153 .syntax unified 4154 .LBE731: ARM GAS /tmp/cciGf5I5.s page 188 4155 .LBE730: 1877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 4156 .loc 1 1877 3 discriminator 1 view .LVU1368 4157 000a 23F4F073 bic r3, r3, #480 4158 .LVL374: 1877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 4159 .loc 1 1877 3 is_stmt 1 discriminator 1 view .LVU1369 4160 .LBB732: 4161 .LBI732: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4162 .loc 2 1202 31 view .LVU1370 4163 .LBB733: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 4164 .loc 2 1204 4 view .LVU1371 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4165 .loc 2 1206 4 view .LVU1372 4166 .syntax unified 4167 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4168 000e 42E80031 strex r1, r3, [r2] 4169 @ 0 "" 2 4170 .LVL375: 4171 .loc 2 1207 4 view .LVU1373 4172 .loc 2 1207 4 is_stmt 0 view .LVU1374 4173 .thumb 4174 .syntax unified 4175 .LBE733: 4176 .LBE732: 1877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 4177 .loc 1 1877 3 discriminator 1 view .LVU1375 4178 0012 0029 cmp r1, #0 4179 0014 F6D1 bne .L169 4180 .LVL376: 4181 .L170: 1877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 4182 .loc 1 1877 3 discriminator 1 view .LVU1376 4183 .LBE729: 1877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 4184 .loc 1 1877 3 is_stmt 1 discriminator 2 view .LVU1377 1879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4185 .loc 1 1879 3 discriminator 1 view .LVU1378 4186 .LBB734: 1879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4187 .loc 1 1879 3 discriminator 1 view .LVU1379 1879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4188 .loc 1 1879 3 discriminator 1 view .LVU1380 1879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4189 .loc 1 1879 3 discriminator 1 view .LVU1381 4190 0016 2268 ldr r2, [r4] 4191 .LVL377: 4192 .LBB735: 4193 .LBI735: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4194 .loc 2 1151 31 view .LVU1382 4195 .LBB736: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 4196 .loc 2 1153 5 view .LVU1383 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS /tmp/cciGf5I5.s page 189 4197 .loc 2 1155 4 view .LVU1384 4198 0018 02F10803 add r3, r2, #8 4199 .LVL378: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4200 .loc 2 1155 4 is_stmt 0 view .LVU1385 4201 .syntax unified 4202 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4203 001c 53E8003F ldrex r3, [r3] 4204 @ 0 "" 2 4205 .LVL379: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4206 .loc 2 1156 4 is_stmt 1 view .LVU1386 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4207 .loc 2 1156 4 is_stmt 0 view .LVU1387 4208 .thumb 4209 .syntax unified 4210 .LBE736: 4211 .LBE735: 1879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4212 .loc 1 1879 3 discriminator 1 view .LVU1388 4213 0020 23F08453 bic r3, r3, #276824064 4214 0024 23F00103 bic r3, r3, #1 4215 .LVL380: 1879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4216 .loc 1 1879 3 is_stmt 1 discriminator 1 view .LVU1389 4217 .LBB737: 4218 .LBI737: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4219 .loc 2 1202 31 view .LVU1390 4220 .LBB738: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 4221 .loc 2 1204 4 view .LVU1391 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4222 .loc 2 1206 4 view .LVU1392 4223 0028 0832 adds r2, r2, #8 4224 .LVL381: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4225 .loc 2 1206 4 is_stmt 0 view .LVU1393 4226 .syntax unified 4227 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4228 002a 42E80031 strex r1, r3, [r2] 4229 @ 0 "" 2 4230 .LVL382: 4231 .loc 2 1207 4 is_stmt 1 view .LVU1394 4232 .loc 2 1207 4 is_stmt 0 view .LVU1395 4233 .thumb 4234 .syntax unified 4235 .LBE738: 4236 .LBE737: 1879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4237 .loc 1 1879 3 discriminator 1 view .LVU1396 4238 002e 0029 cmp r1, #0 4239 0030 F1D1 bne .L170 4240 .LBE734: 1879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4241 .loc 1 1879 3 is_stmt 1 discriminator 2 view .LVU1397 1882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cciGf5I5.s page 190 4242 .loc 1 1882 3 view .LVU1398 1882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4243 .loc 1 1882 12 is_stmt 0 view .LVU1399 4244 0032 E36E ldr r3, [r4, #108] 4245 .LVL383: 1882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4246 .loc 1 1882 6 view .LVU1400 4247 0034 012B cmp r3, #1 4248 0036 2FD0 beq .L172 4249 .L171: 1884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4250 .loc 1 1884 5 is_stmt 1 discriminator 2 view .LVU1401 1890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4251 .loc 1 1890 3 view .LVU1402 1890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4252 .loc 1 1890 12 is_stmt 0 view .LVU1403 4253 0038 E36F ldr r3, [r4, #124] 1890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4254 .loc 1 1890 6 view .LVU1404 4255 003a 33B1 cbz r3, .L173 1894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4256 .loc 1 1894 5 is_stmt 1 view .LVU1405 1894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4257 .loc 1 1894 9 is_stmt 0 view .LVU1406 4258 003c 2268 ldr r2, [r4] 4259 003e 9268 ldr r2, [r2, #8] 1894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4260 .loc 1 1894 8 view .LVU1407 4261 0040 12F0800F tst r2, #128 4262 0044 32D0 beq .L174 1896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4263 .loc 1 1896 7 is_stmt 1 view .LVU1408 1896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4264 .loc 1 1896 40 is_stmt 0 view .LVU1409 4265 0046 404A ldr r2, .L188 4266 0048 9A63 str r2, [r3, #56] 4267 .L173: 1904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4268 .loc 1 1904 3 is_stmt 1 view .LVU1410 1904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4269 .loc 1 1904 12 is_stmt 0 view .LVU1411 4270 004a D4F88030 ldr r3, [r4, #128] 1904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4271 .loc 1 1904 6 view .LVU1412 4272 004e 33B1 cbz r3, .L175 1908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4273 .loc 1 1908 5 is_stmt 1 view .LVU1413 1908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4274 .loc 1 1908 9 is_stmt 0 view .LVU1414 4275 0050 2268 ldr r2, [r4] 4276 0052 9268 ldr r2, [r2, #8] 1908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4277 .loc 1 1908 8 view .LVU1415 4278 0054 12F0400F tst r2, #64 4279 0058 2BD0 beq .L176 1910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4280 .loc 1 1910 7 is_stmt 1 view .LVU1416 ARM GAS /tmp/cciGf5I5.s page 191 1910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4281 .loc 1 1910 40 is_stmt 0 view .LVU1417 4282 005a 3C4A ldr r2, .L188+4 4283 005c 9A63 str r2, [r3, #56] 4284 .L175: 1919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4285 .loc 1 1919 3 is_stmt 1 view .LVU1418 1919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4286 .loc 1 1919 7 is_stmt 0 view .LVU1419 4287 005e 2368 ldr r3, [r4] 4288 0060 9B68 ldr r3, [r3, #8] 1919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4289 .loc 1 1919 6 view .LVU1420 4290 0062 13F0800F tst r3, #128 4291 0066 27D0 beq .L184 4292 .L178: 1922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4293 .loc 1 1922 5 is_stmt 1 discriminator 1 view .LVU1421 4294 .LBB739: 1922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4295 .loc 1 1922 5 discriminator 1 view .LVU1422 1922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4296 .loc 1 1922 5 discriminator 1 view .LVU1423 1922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4297 .loc 1 1922 5 discriminator 1 view .LVU1424 4298 0068 2168 ldr r1, [r4] 4299 .LVL384: 4300 .LBB740: 4301 .LBI740: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4302 .loc 2 1151 31 view .LVU1425 4303 .LBB741: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 4304 .loc 2 1153 5 view .LVU1426 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4305 .loc 2 1155 4 view .LVU1427 4306 006a 01F10803 add r3, r1, #8 4307 .LVL385: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4308 .loc 2 1155 4 is_stmt 0 view .LVU1428 4309 .syntax unified 4310 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4311 006e 53E8003F ldrex r3, [r3] 4312 @ 0 "" 2 4313 .LVL386: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4314 .loc 2 1156 4 is_stmt 1 view .LVU1429 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4315 .loc 2 1156 4 is_stmt 0 view .LVU1430 4316 .thumb 4317 .syntax unified 4318 .LBE741: 4319 .LBE740: 1922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4320 .loc 1 1922 5 discriminator 1 view .LVU1431 4321 0072 23F08003 bic r3, r3, #128 4322 .LVL387: ARM GAS /tmp/cciGf5I5.s page 192 1922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4323 .loc 1 1922 5 is_stmt 1 discriminator 1 view .LVU1432 4324 .LBB742: 4325 .LBI742: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4326 .loc 2 1202 31 view .LVU1433 4327 .LBB743: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 4328 .loc 2 1204 4 view .LVU1434 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4329 .loc 2 1206 4 view .LVU1435 4330 0076 0831 adds r1, r1, #8 4331 .LVL388: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4332 .loc 2 1206 4 is_stmt 0 view .LVU1436 4333 .syntax unified 4334 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4335 0078 41E80032 strex r2, r3, [r1] 4336 @ 0 "" 2 4337 .thumb 4338 .syntax unified 4339 007c 1546 mov r5, r2 4340 .LVL389: 4341 .loc 2 1207 4 is_stmt 1 view .LVU1437 4342 .loc 2 1207 4 is_stmt 0 view .LVU1438 4343 .LBE743: 4344 .LBE742: 1922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4345 .loc 1 1922 5 discriminator 1 view .LVU1439 4346 007e 002A cmp r2, #0 4347 0080 F2D1 bne .L178 4348 .LBE739: 1922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4349 .loc 1 1922 5 is_stmt 1 discriminator 2 view .LVU1440 1925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4350 .loc 1 1925 5 view .LVU1441 1925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4351 .loc 1 1925 14 is_stmt 0 view .LVU1442 4352 0082 E06F ldr r0, [r4, #124] 4353 .LVL390: 1925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4354 .loc 1 1925 8 view .LVU1443 4355 0084 0028 cmp r0, #0 4356 0086 53D0 beq .L185 1931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4357 .loc 1 1931 7 is_stmt 1 view .LVU1444 1931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4358 .loc 1 1931 11 is_stmt 0 view .LVU1445 4359 0088 FFF7FEFF bl HAL_DMA_Abort_IT 4360 .LVL391: 1931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4361 .loc 1 1931 10 discriminator 1 view .LVU1446 4362 008c A8B1 cbz r0, .L177 1933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4363 .loc 1 1933 9 is_stmt 1 view .LVU1447 1933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4364 .loc 1 1933 14 is_stmt 0 view .LVU1448 ARM GAS /tmp/cciGf5I5.s page 193 4365 008e E36F ldr r3, [r4, #124] 1933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4366 .loc 1 1933 42 view .LVU1449 4367 0090 0022 movs r2, #0 4368 0092 9A63 str r2, [r3, #56] 1874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4369 .loc 1 1874 12 view .LVU1450 4370 0094 0125 movs r5, #1 4371 0096 10E0 b .L177 4372 .LVL392: 4373 .L172: 1884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4374 .loc 1 1884 5 is_stmt 1 discriminator 1 view .LVU1451 4375 .LBB744: 1884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4376 .loc 1 1884 5 discriminator 1 view .LVU1452 1884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4377 .loc 1 1884 5 discriminator 1 view .LVU1453 1884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4378 .loc 1 1884 5 discriminator 1 view .LVU1454 4379 0098 2268 ldr r2, [r4] 4380 .LVL393: 4381 .LBB745: 4382 .LBI745: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4383 .loc 2 1151 31 view .LVU1455 4384 .LBB746: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 4385 .loc 2 1153 5 view .LVU1456 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4386 .loc 2 1155 4 view .LVU1457 4387 .syntax unified 4388 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4389 009a 52E8003F ldrex r3, [r2] 4390 @ 0 "" 2 4391 .LVL394: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4392 .loc 2 1156 4 view .LVU1458 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4393 .loc 2 1156 4 is_stmt 0 view .LVU1459 4394 .thumb 4395 .syntax unified 4396 .LBE746: 4397 .LBE745: 1884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4398 .loc 1 1884 5 discriminator 1 view .LVU1460 4399 009e 23F01003 bic r3, r3, #16 4400 .LVL395: 1884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4401 .loc 1 1884 5 is_stmt 1 discriminator 1 view .LVU1461 4402 .LBB747: 4403 .LBI747: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4404 .loc 2 1202 31 view .LVU1462 4405 .LBB748: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 4406 .loc 2 1204 4 view .LVU1463 ARM GAS /tmp/cciGf5I5.s page 194 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4407 .loc 2 1206 4 view .LVU1464 4408 .syntax unified 4409 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4410 00a2 42E80031 strex r1, r3, [r2] 4411 @ 0 "" 2 4412 .LVL396: 4413 .loc 2 1207 4 view .LVU1465 4414 .loc 2 1207 4 is_stmt 0 view .LVU1466 4415 .thumb 4416 .syntax unified 4417 .LBE748: 4418 .LBE747: 1884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4419 .loc 1 1884 5 discriminator 1 view .LVU1467 4420 00a6 0029 cmp r1, #0 4421 00a8 F6D1 bne .L172 4422 00aa C5E7 b .L171 4423 .LVL397: 4424 .L174: 1884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4425 .loc 1 1884 5 discriminator 1 view .LVU1468 4426 .LBE744: 1900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4427 .loc 1 1900 7 is_stmt 1 view .LVU1469 1900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4428 .loc 1 1900 40 is_stmt 0 view .LVU1470 4429 00ac 0022 movs r2, #0 4430 00ae 9A63 str r2, [r3, #56] 4431 00b0 CBE7 b .L173 4432 .L176: 1914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4433 .loc 1 1914 7 is_stmt 1 view .LVU1471 1914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4434 .loc 1 1914 40 is_stmt 0 view .LVU1472 4435 00b2 0022 movs r2, #0 4436 00b4 9A63 str r2, [r3, #56] 4437 00b6 D2E7 b .L175 4438 .L184: 1874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4439 .loc 1 1874 12 view .LVU1473 4440 00b8 0125 movs r5, #1 4441 .LVL398: 4442 .L177: 1943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4443 .loc 1 1943 3 is_stmt 1 view .LVU1474 1943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4444 .loc 1 1943 7 is_stmt 0 view .LVU1475 4445 00ba 2368 ldr r3, [r4] 4446 00bc 9B68 ldr r3, [r3, #8] 1943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4447 .loc 1 1943 6 view .LVU1476 4448 00be 13F0400F tst r3, #64 4449 00c2 37D0 beq .L179 4450 .L180: 1946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4451 .loc 1 1946 5 is_stmt 1 discriminator 1 view .LVU1477 ARM GAS /tmp/cciGf5I5.s page 195 4452 .LBB749: 1946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4453 .loc 1 1946 5 discriminator 1 view .LVU1478 1946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4454 .loc 1 1946 5 discriminator 1 view .LVU1479 1946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4455 .loc 1 1946 5 discriminator 1 view .LVU1480 4456 00c4 2268 ldr r2, [r4] 4457 .LVL399: 4458 .LBB750: 4459 .LBI750: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4460 .loc 2 1151 31 view .LVU1481 4461 .LBB751: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 4462 .loc 2 1153 5 view .LVU1482 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4463 .loc 2 1155 4 view .LVU1483 4464 00c6 02F10803 add r3, r2, #8 4465 .LVL400: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4466 .loc 2 1155 4 is_stmt 0 view .LVU1484 4467 .syntax unified 4468 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4469 00ca 53E8003F ldrex r3, [r3] 4470 @ 0 "" 2 4471 .LVL401: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4472 .loc 2 1156 4 is_stmt 1 view .LVU1485 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4473 .loc 2 1156 4 is_stmt 0 view .LVU1486 4474 .thumb 4475 .syntax unified 4476 .LBE751: 4477 .LBE750: 1946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4478 .loc 1 1946 5 discriminator 1 view .LVU1487 4479 00ce 23F04003 bic r3, r3, #64 4480 .LVL402: 1946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4481 .loc 1 1946 5 is_stmt 1 discriminator 1 view .LVU1488 4482 .LBB752: 4483 .LBI752: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4484 .loc 2 1202 31 view .LVU1489 4485 .LBB753: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 4486 .loc 2 1204 4 view .LVU1490 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4487 .loc 2 1206 4 view .LVU1491 4488 00d2 0832 adds r2, r2, #8 4489 .LVL403: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4490 .loc 2 1206 4 is_stmt 0 view .LVU1492 4491 .syntax unified 4492 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4493 00d4 42E80031 strex r1, r3, [r2] ARM GAS /tmp/cciGf5I5.s page 196 4494 @ 0 "" 2 4495 .LVL404: 4496 .loc 2 1207 4 is_stmt 1 view .LVU1493 4497 .loc 2 1207 4 is_stmt 0 view .LVU1494 4498 .thumb 4499 .syntax unified 4500 .LBE753: 4501 .LBE752: 1946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4502 .loc 1 1946 5 discriminator 1 view .LVU1495 4503 00d8 0029 cmp r1, #0 4504 00da F3D1 bne .L180 4505 .LBE749: 1946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4506 .loc 1 1946 5 is_stmt 1 discriminator 2 view .LVU1496 1949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4507 .loc 1 1949 5 view .LVU1497 1949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4508 .loc 1 1949 14 is_stmt 0 view .LVU1498 4509 00dc D4F88000 ldr r0, [r4, #128] 1949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4510 .loc 1 1949 8 view .LVU1499 4511 00e0 40B3 cbz r0, .L179 1955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4512 .loc 1 1955 7 is_stmt 1 view .LVU1500 1955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4513 .loc 1 1955 11 is_stmt 0 view .LVU1501 4514 00e2 FFF7FEFF bl HAL_DMA_Abort_IT 4515 .LVL405: 1955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4516 .loc 1 1955 10 discriminator 1 view .LVU1502 4517 00e6 38B3 cbz r0, .L181 1957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** abortcplt = 1U; 4518 .loc 1 1957 9 is_stmt 1 view .LVU1503 1957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** abortcplt = 1U; 4519 .loc 1 1957 14 is_stmt 0 view .LVU1504 4520 00e8 D4F88030 ldr r3, [r4, #128] 1957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** abortcplt = 1U; 4521 .loc 1 1957 42 view .LVU1505 4522 00ec 0022 movs r2, #0 4523 00ee 9A63 str r2, [r3, #56] 1958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4524 .loc 1 1958 9 is_stmt 1 view .LVU1506 4525 .LVL406: 1968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4526 .loc 1 1968 3 view .LVU1507 4527 .L182: 1971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 4528 .loc 1 1971 5 view .LVU1508 1971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 4529 .loc 1 1971 24 is_stmt 0 view .LVU1509 4530 00f0 0023 movs r3, #0 4531 00f2 A4F85630 strh r3, [r4, #86] @ movhi 1972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4532 .loc 1 1972 5 is_stmt 1 view .LVU1510 1972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4533 .loc 1 1972 24 is_stmt 0 view .LVU1511 ARM GAS /tmp/cciGf5I5.s page 197 4534 00f6 A4F85E30 strh r3, [r4, #94] @ movhi 1975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL; 4535 .loc 1 1975 5 is_stmt 1 view .LVU1512 1975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL; 4536 .loc 1 1975 18 is_stmt 0 view .LVU1513 4537 00fa 6367 str r3, [r4, #116] 1976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4538 .loc 1 1976 5 is_stmt 1 view .LVU1514 1976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4539 .loc 1 1976 18 is_stmt 0 view .LVU1515 4540 00fc A367 str r3, [r4, #120] 1979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4541 .loc 1 1979 5 is_stmt 1 view .LVU1516 1979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4542 .loc 1 1979 22 is_stmt 0 view .LVU1517 4543 00fe C4F89030 str r3, [r4, #144] 1982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4544 .loc 1 1982 5 is_stmt 1 view .LVU1518 4545 0102 2368 ldr r3, [r4] 4546 0104 0F22 movs r2, #15 4547 0106 1A62 str r2, [r3, #32] 1985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4548 .loc 1 1985 5 view .LVU1519 1985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4549 .loc 1 1985 14 is_stmt 0 view .LVU1520 4550 0108 636E ldr r3, [r4, #100] 1985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4551 .loc 1 1985 8 view .LVU1521 4552 010a B3F1005F cmp r3, #536870912 4553 010e 15D0 beq .L187 4554 .L183: 1991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4555 .loc 1 1991 5 is_stmt 1 view .LVU1522 4556 0110 2268 ldr r2, [r4] 4557 0112 9369 ldr r3, [r2, #24] 4558 0114 43F00803 orr r3, r3, #8 4559 0118 9361 str r3, [r2, #24] 1994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4560 .loc 1 1994 5 view .LVU1523 1994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4561 .loc 1 1994 20 is_stmt 0 view .LVU1524 4562 011a 2023 movs r3, #32 4563 011c C4F88830 str r3, [r4, #136] 1995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4564 .loc 1 1995 5 is_stmt 1 view .LVU1525 1995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4565 .loc 1 1995 20 is_stmt 0 view .LVU1526 4566 0120 C4F88C30 str r3, [r4, #140] 1996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4567 .loc 1 1996 5 is_stmt 1 view .LVU1527 1996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4568 .loc 1 1996 26 is_stmt 0 view .LVU1528 4569 0124 0023 movs r3, #0 4570 0126 E366 str r3, [r4, #108] 2004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4571 .loc 1 2004 5 is_stmt 1 view .LVU1529 4572 0128 2046 mov r0, r4 ARM GAS /tmp/cciGf5I5.s page 198 4573 012a FFF7FEFF bl HAL_UART_AbortCpltCallback 4574 .LVL407: 4575 012e 03E0 b .L181 4576 .LVL408: 4577 .L185: 1874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4578 .loc 1 1874 12 is_stmt 0 view .LVU1530 4579 0130 0125 movs r5, #1 4580 0132 C2E7 b .L177 4581 .LVL409: 4582 .L179: 1968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4583 .loc 1 1968 3 is_stmt 1 view .LVU1531 1968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4584 .loc 1 1968 6 is_stmt 0 view .LVU1532 4585 0134 012D cmp r5, #1 4586 0136 DBD0 beq .L182 4587 .LVL410: 4588 .L181: 2008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4589 .loc 1 2008 3 is_stmt 1 view .LVU1533 2009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4590 .loc 1 2009 1 is_stmt 0 view .LVU1534 4591 0138 0020 movs r0, #0 4592 013a 38BD pop {r3, r4, r5, pc} 4593 .LVL411: 4594 .L187: 1987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4595 .loc 1 1987 7 is_stmt 1 view .LVU1535 4596 013c 2268 ldr r2, [r4] 4597 013e 9369 ldr r3, [r2, #24] 4598 0140 43F01003 orr r3, r3, #16 4599 0144 9361 str r3, [r2, #24] 4600 0146 E3E7 b .L183 4601 .L189: 4602 .align 2 4603 .L188: 4604 0148 00000000 .word UART_DMATxAbortCallback 4605 014c 00000000 .word UART_DMARxAbortCallback 4606 .cfi_endproc 4607 .LFE348: 4609 .section .text.UART_DMARxAbortCallback,"ax",%progbits 4610 .align 1 4611 .syntax unified 4612 .thumb 4613 .thumb_func 4615 UART_DMARxAbortCallback: 4616 .LVL412: 4617 .LFB387: 3894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4618 .loc 1 3894 1 view -0 4619 .cfi_startproc 4620 @ args = 0, pretend = 0, frame = 0 4621 @ frame_needed = 0, uses_anonymous_args = 0 3894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4622 .loc 1 3894 1 is_stmt 0 view .LVU1537 4623 0000 08B5 push {r3, lr} ARM GAS /tmp/cciGf5I5.s page 199 4624 .LCFI18: 4625 .cfi_def_cfa_offset 8 4626 .cfi_offset 3, -8 4627 .cfi_offset 14, -4 3895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4628 .loc 1 3895 3 is_stmt 1 view .LVU1538 3895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4629 .loc 1 3895 23 is_stmt 0 view .LVU1539 4630 0002 806A ldr r0, [r0, #40] 4631 .LVL413: 3897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4632 .loc 1 3897 3 is_stmt 1 view .LVU1540 3897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4633 .loc 1 3897 8 is_stmt 0 view .LVU1541 4634 0004 D0F88030 ldr r3, [r0, #128] 3897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4635 .loc 1 3897 36 view .LVU1542 4636 0008 0022 movs r2, #0 4637 000a 9A63 str r2, [r3, #56] 3900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4638 .loc 1 3900 3 is_stmt 1 view .LVU1543 3900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4639 .loc 1 3900 12 is_stmt 0 view .LVU1544 4640 000c C36F ldr r3, [r0, #124] 3900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4641 .loc 1 3900 6 view .LVU1545 4642 000e 0BB1 cbz r3, .L191 3902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4643 .loc 1 3902 5 is_stmt 1 view .LVU1546 3902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4644 .loc 1 3902 22 is_stmt 0 view .LVU1547 4645 0010 9B6B ldr r3, [r3, #56] 3902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4646 .loc 1 3902 8 view .LVU1548 4647 0012 B3B9 cbnz r3, .L190 4648 .L191: 3909:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 4649 .loc 1 3909 3 is_stmt 1 view .LVU1549 3909:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 4650 .loc 1 3909 22 is_stmt 0 view .LVU1550 4651 0014 0023 movs r3, #0 4652 0016 A0F85630 strh r3, [r0, #86] @ movhi 3910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4653 .loc 1 3910 3 is_stmt 1 view .LVU1551 3910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4654 .loc 1 3910 22 is_stmt 0 view .LVU1552 4655 001a A0F85E30 strh r3, [r0, #94] @ movhi 3913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4656 .loc 1 3913 3 is_stmt 1 view .LVU1553 3913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4657 .loc 1 3913 20 is_stmt 0 view .LVU1554 4658 001e C0F89030 str r3, [r0, #144] 3916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4659 .loc 1 3916 3 is_stmt 1 view .LVU1555 4660 0022 0268 ldr r2, [r0] 4661 0024 0F21 movs r1, #15 4662 0026 1162 str r1, [r2, #32] ARM GAS /tmp/cciGf5I5.s page 200 3919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4663 .loc 1 3919 3 view .LVU1556 4664 0028 0168 ldr r1, [r0] 4665 002a 8A69 ldr r2, [r1, #24] 4666 002c 42F00802 orr r2, r2, #8 4667 0030 8A61 str r2, [r1, #24] 3922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4668 .loc 1 3922 3 view .LVU1557 3922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4669 .loc 1 3922 18 is_stmt 0 view .LVU1558 4670 0032 2022 movs r2, #32 4671 0034 C0F88820 str r2, [r0, #136] 3923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4672 .loc 1 3923 3 is_stmt 1 view .LVU1559 3923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4673 .loc 1 3923 18 is_stmt 0 view .LVU1560 4674 0038 C0F88C20 str r2, [r0, #140] 3924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4675 .loc 1 3924 3 is_stmt 1 view .LVU1561 3924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4676 .loc 1 3924 24 is_stmt 0 view .LVU1562 4677 003c C366 str r3, [r0, #108] 3932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4678 .loc 1 3932 3 is_stmt 1 view .LVU1563 4679 003e FFF7FEFF bl HAL_UART_AbortCpltCallback 4680 .LVL414: 4681 .L190: 3934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4682 .loc 1 3934 1 is_stmt 0 view .LVU1564 4683 0042 08BD pop {r3, pc} 4684 .cfi_endproc 4685 .LFE387: 4687 .section .text.UART_DMATxAbortCallback,"ax",%progbits 4688 .align 1 4689 .syntax unified 4690 .thumb 4691 .thumb_func 4693 UART_DMATxAbortCallback: 4694 .LVL415: 4695 .LFB386: 3839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4696 .loc 1 3839 1 is_stmt 1 view -0 4697 .cfi_startproc 4698 @ args = 0, pretend = 0, frame = 0 4699 @ frame_needed = 0, uses_anonymous_args = 0 3839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4700 .loc 1 3839 1 is_stmt 0 view .LVU1566 4701 0000 08B5 push {r3, lr} 4702 .LCFI19: 4703 .cfi_def_cfa_offset 8 4704 .cfi_offset 3, -8 4705 .cfi_offset 14, -4 3840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4706 .loc 1 3840 3 is_stmt 1 view .LVU1567 3840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4707 .loc 1 3840 23 is_stmt 0 view .LVU1568 4708 0002 806A ldr r0, [r0, #40] ARM GAS /tmp/cciGf5I5.s page 201 4709 .LVL416: 3842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4710 .loc 1 3842 3 is_stmt 1 view .LVU1569 3842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4711 .loc 1 3842 8 is_stmt 0 view .LVU1570 4712 0004 C36F ldr r3, [r0, #124] 3842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4713 .loc 1 3842 36 view .LVU1571 4714 0006 0022 movs r2, #0 4715 0008 9A63 str r2, [r3, #56] 3845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4716 .loc 1 3845 3 is_stmt 1 view .LVU1572 3845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4717 .loc 1 3845 12 is_stmt 0 view .LVU1573 4718 000a D0F88030 ldr r3, [r0, #128] 3845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4719 .loc 1 3845 6 view .LVU1574 4720 000e 0BB1 cbz r3, .L195 3847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4721 .loc 1 3847 5 is_stmt 1 view .LVU1575 3847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4722 .loc 1 3847 22 is_stmt 0 view .LVU1576 4723 0010 9B6B ldr r3, [r3, #56] 3847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4724 .loc 1 3847 8 view .LVU1577 4725 0012 B3B9 cbnz r3, .L194 4726 .L195: 3854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 4727 .loc 1 3854 3 is_stmt 1 view .LVU1578 3854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 4728 .loc 1 3854 22 is_stmt 0 view .LVU1579 4729 0014 0023 movs r3, #0 4730 0016 A0F85630 strh r3, [r0, #86] @ movhi 3855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4731 .loc 1 3855 3 is_stmt 1 view .LVU1580 3855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4732 .loc 1 3855 22 is_stmt 0 view .LVU1581 4733 001a A0F85E30 strh r3, [r0, #94] @ movhi 3858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4734 .loc 1 3858 3 is_stmt 1 view .LVU1582 3858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4735 .loc 1 3858 20 is_stmt 0 view .LVU1583 4736 001e C0F89030 str r3, [r0, #144] 3861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4737 .loc 1 3861 3 is_stmt 1 view .LVU1584 4738 0022 0368 ldr r3, [r0] 4739 0024 0F22 movs r2, #15 4740 0026 1A62 str r2, [r3, #32] 3864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4741 .loc 1 3864 3 view .LVU1585 3864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4742 .loc 1 3864 12 is_stmt 0 view .LVU1586 4743 0028 436E ldr r3, [r0, #100] 3864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4744 .loc 1 3864 6 view .LVU1587 4745 002a B3F1005F cmp r3, #536870912 4746 002e 09D0 beq .L199 ARM GAS /tmp/cciGf5I5.s page 202 4747 .L197: 3870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4748 .loc 1 3870 3 is_stmt 1 view .LVU1588 3870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4749 .loc 1 3870 18 is_stmt 0 view .LVU1589 4750 0030 2023 movs r3, #32 4751 0032 C0F88830 str r3, [r0, #136] 3871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4752 .loc 1 3871 3 is_stmt 1 view .LVU1590 3871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4753 .loc 1 3871 18 is_stmt 0 view .LVU1591 4754 0036 C0F88C30 str r3, [r0, #140] 3872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4755 .loc 1 3872 3 is_stmt 1 view .LVU1592 3872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4756 .loc 1 3872 24 is_stmt 0 view .LVU1593 4757 003a 0023 movs r3, #0 4758 003c C366 str r3, [r0, #108] 3880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4759 .loc 1 3880 3 is_stmt 1 view .LVU1594 4760 003e FFF7FEFF bl HAL_UART_AbortCpltCallback 4761 .LVL417: 4762 .L194: 3882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4763 .loc 1 3882 1 is_stmt 0 view .LVU1595 4764 0042 08BD pop {r3, pc} 4765 .LVL418: 4766 .L199: 3866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4767 .loc 1 3866 5 is_stmt 1 view .LVU1596 4768 0044 0268 ldr r2, [r0] 4769 0046 9369 ldr r3, [r2, #24] 4770 0048 43F01003 orr r3, r3, #16 4771 004c 9361 str r3, [r2, #24] 4772 004e EFE7 b .L197 4773 .cfi_endproc 4774 .LFE386: 4776 .section .text.HAL_UART_AbortTransmitCpltCallback,"ax",%progbits 4777 .align 1 4778 .weak HAL_UART_AbortTransmitCpltCallback 4779 .syntax unified 4780 .thumb 4781 .thumb_func 4783 HAL_UART_AbortTransmitCpltCallback: 4784 .LVL419: 4785 .LFB358: 2652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 4786 .loc 1 2652 1 view -0 4787 .cfi_startproc 4788 @ args = 0, pretend = 0, frame = 0 4789 @ frame_needed = 0, uses_anonymous_args = 0 4790 @ link register save eliminated. 2654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4791 .loc 1 2654 3 view .LVU1598 2659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4792 .loc 1 2659 1 is_stmt 0 view .LVU1599 4793 0000 7047 bx lr ARM GAS /tmp/cciGf5I5.s page 203 4794 .cfi_endproc 4795 .LFE358: 4797 .section .text.HAL_UART_AbortTransmit_IT,"ax",%progbits 4798 .align 1 4799 .global HAL_UART_AbortTransmit_IT 4800 .syntax unified 4801 .thumb 4802 .thumb_func 4804 HAL_UART_AbortTransmit_IT: 4805 .LVL420: 4806 .LFB349: 2026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable interrupts */ 4807 .loc 1 2026 1 is_stmt 1 view -0 4808 .cfi_startproc 4809 @ args = 0, pretend = 0, frame = 0 4810 @ frame_needed = 0, uses_anonymous_args = 0 2026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable interrupts */ 4811 .loc 1 2026 1 is_stmt 0 view .LVU1601 4812 0000 10B5 push {r4, lr} 4813 .LCFI20: 4814 .cfi_def_cfa_offset 8 4815 .cfi_offset 4, -8 4816 .cfi_offset 14, -4 4817 0002 0446 mov r4, r0 4818 .L202: 2028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 4819 .loc 1 2028 3 is_stmt 1 discriminator 1 view .LVU1602 4820 .LBB754: 2028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 4821 .loc 1 2028 3 discriminator 1 view .LVU1603 2028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 4822 .loc 1 2028 3 discriminator 1 view .LVU1604 2028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 4823 .loc 1 2028 3 discriminator 1 view .LVU1605 4824 0004 2268 ldr r2, [r4] 4825 .LVL421: 4826 .LBB755: 4827 .LBI755: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4828 .loc 2 1151 31 view .LVU1606 4829 .LBB756: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 4830 .loc 2 1153 5 view .LVU1607 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4831 .loc 2 1155 4 view .LVU1608 4832 .syntax unified 4833 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4834 0006 52E8003F ldrex r3, [r2] 4835 @ 0 "" 2 4836 .LVL422: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4837 .loc 2 1156 4 view .LVU1609 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4838 .loc 2 1156 4 is_stmt 0 view .LVU1610 4839 .thumb 4840 .syntax unified 4841 .LBE756: ARM GAS /tmp/cciGf5I5.s page 204 4842 .LBE755: 2028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 4843 .loc 1 2028 3 discriminator 1 view .LVU1611 4844 000a 23F0C003 bic r3, r3, #192 4845 .LVL423: 2028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 4846 .loc 1 2028 3 is_stmt 1 discriminator 1 view .LVU1612 4847 .LBB757: 4848 .LBI757: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4849 .loc 2 1202 31 view .LVU1613 4850 .LBB758: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 4851 .loc 2 1204 4 view .LVU1614 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4852 .loc 2 1206 4 view .LVU1615 4853 .syntax unified 4854 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4855 000e 42E80031 strex r1, r3, [r2] 4856 @ 0 "" 2 4857 .LVL424: 4858 .loc 2 1207 4 view .LVU1616 4859 .loc 2 1207 4 is_stmt 0 view .LVU1617 4860 .thumb 4861 .syntax unified 4862 .LBE758: 4863 .LBE757: 2028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 4864 .loc 1 2028 3 discriminator 1 view .LVU1618 4865 0012 0029 cmp r1, #0 4866 0014 F6D1 bne .L202 4867 .LVL425: 4868 .L203: 2028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 4869 .loc 1 2028 3 discriminator 1 view .LVU1619 4870 .LBE754: 2028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 4871 .loc 1 2028 3 is_stmt 1 discriminator 2 view .LVU1620 2029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4872 .loc 1 2029 3 discriminator 1 view .LVU1621 4873 .LBB759: 2029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4874 .loc 1 2029 3 discriminator 1 view .LVU1622 2029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4875 .loc 1 2029 3 discriminator 1 view .LVU1623 2029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4876 .loc 1 2029 3 discriminator 1 view .LVU1624 4877 0016 2268 ldr r2, [r4] 4878 .LVL426: 4879 .LBB760: 4880 .LBI760: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4881 .loc 2 1151 31 view .LVU1625 4882 .LBB761: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 4883 .loc 2 1153 5 view .LVU1626 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS /tmp/cciGf5I5.s page 205 4884 .loc 2 1155 4 view .LVU1627 4885 0018 02F10803 add r3, r2, #8 4886 .LVL427: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4887 .loc 2 1155 4 is_stmt 0 view .LVU1628 4888 .syntax unified 4889 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4890 001c 53E8003F ldrex r3, [r3] 4891 @ 0 "" 2 4892 .LVL428: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4893 .loc 2 1156 4 is_stmt 1 view .LVU1629 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4894 .loc 2 1156 4 is_stmt 0 view .LVU1630 4895 .thumb 4896 .syntax unified 4897 .LBE761: 4898 .LBE760: 2029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4899 .loc 1 2029 3 discriminator 1 view .LVU1631 4900 0020 23F40003 bic r3, r3, #8388608 4901 .LVL429: 2029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4902 .loc 1 2029 3 is_stmt 1 discriminator 1 view .LVU1632 4903 .LBB762: 4904 .LBI762: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4905 .loc 2 1202 31 view .LVU1633 4906 .LBB763: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 4907 .loc 2 1204 4 view .LVU1634 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4908 .loc 2 1206 4 view .LVU1635 4909 0024 0832 adds r2, r2, #8 4910 .LVL430: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4911 .loc 2 1206 4 is_stmt 0 view .LVU1636 4912 .syntax unified 4913 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4914 0026 42E80031 strex r1, r3, [r2] 4915 @ 0 "" 2 4916 .LVL431: 4917 .loc 2 1207 4 is_stmt 1 view .LVU1637 4918 .loc 2 1207 4 is_stmt 0 view .LVU1638 4919 .thumb 4920 .syntax unified 4921 .LBE763: 4922 .LBE762: 2029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4923 .loc 1 2029 3 discriminator 1 view .LVU1639 4924 002a 0029 cmp r1, #0 4925 002c F3D1 bne .L203 4926 .LBE759: 2029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4927 .loc 1 2029 3 is_stmt 1 discriminator 2 view .LVU1640 2032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4928 .loc 1 2032 3 view .LVU1641 ARM GAS /tmp/cciGf5I5.s page 206 2032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4929 .loc 1 2032 7 is_stmt 0 view .LVU1642 4930 002e 2368 ldr r3, [r4] 4931 .LVL432: 2032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4932 .loc 1 2032 7 view .LVU1643 4933 0030 9A68 ldr r2, [r3, #8] 2032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4934 .loc 1 2032 6 view .LVU1644 4935 0032 12F0800F tst r2, #128 4936 0036 22D0 beq .L204 4937 .L205: 2035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4938 .loc 1 2035 5 is_stmt 1 discriminator 1 view .LVU1645 4939 .LBB764: 2035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4940 .loc 1 2035 5 discriminator 1 view .LVU1646 2035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4941 .loc 1 2035 5 discriminator 1 view .LVU1647 2035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4942 .loc 1 2035 5 discriminator 1 view .LVU1648 4943 0038 2268 ldr r2, [r4] 4944 .LVL433: 4945 .LBB765: 4946 .LBI765: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4947 .loc 2 1151 31 view .LVU1649 4948 .LBB766: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 4949 .loc 2 1153 5 view .LVU1650 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4950 .loc 2 1155 4 view .LVU1651 4951 003a 02F10803 add r3, r2, #8 4952 .LVL434: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4953 .loc 2 1155 4 is_stmt 0 view .LVU1652 4954 .syntax unified 4955 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4956 003e 53E8003F ldrex r3, [r3] 4957 @ 0 "" 2 4958 .LVL435: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4959 .loc 2 1156 4 is_stmt 1 view .LVU1653 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4960 .loc 2 1156 4 is_stmt 0 view .LVU1654 4961 .thumb 4962 .syntax unified 4963 .LBE766: 4964 .LBE765: 2035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4965 .loc 1 2035 5 discriminator 1 view .LVU1655 4966 0042 23F08003 bic r3, r3, #128 4967 .LVL436: 2035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4968 .loc 1 2035 5 is_stmt 1 discriminator 1 view .LVU1656 4969 .LBB767: 4970 .LBI767: ARM GAS /tmp/cciGf5I5.s page 207 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4971 .loc 2 1202 31 view .LVU1657 4972 .LBB768: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 4973 .loc 2 1204 4 view .LVU1658 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4974 .loc 2 1206 4 view .LVU1659 4975 0046 0832 adds r2, r2, #8 4976 .LVL437: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4977 .loc 2 1206 4 is_stmt 0 view .LVU1660 4978 .syntax unified 4979 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4980 0048 42E80031 strex r1, r3, [r2] 4981 @ 0 "" 2 4982 .LVL438: 4983 .loc 2 1207 4 is_stmt 1 view .LVU1661 4984 .loc 2 1207 4 is_stmt 0 view .LVU1662 4985 .thumb 4986 .syntax unified 4987 .LBE768: 4988 .LBE767: 2035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4989 .loc 1 2035 5 discriminator 1 view .LVU1663 4990 004c 0029 cmp r1, #0 4991 004e F3D1 bne .L205 4992 .LBE764: 2035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4993 .loc 1 2035 5 is_stmt 1 discriminator 2 view .LVU1664 2038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4994 .loc 1 2038 5 view .LVU1665 2038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4995 .loc 1 2038 14 is_stmt 0 view .LVU1666 4996 0050 E36F ldr r3, [r4, #124] 4997 .LVL439: 2038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4998 .loc 1 2038 8 view .LVU1667 4999 0052 4BB1 cbz r3, .L206 2042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5000 .loc 1 2042 7 is_stmt 1 view .LVU1668 2042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5001 .loc 1 2042 40 is_stmt 0 view .LVU1669 5002 0054 144A ldr r2, .L211 5003 0056 9A63 str r2, [r3, #56] 2045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5004 .loc 1 2045 7 is_stmt 1 view .LVU1670 2045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5005 .loc 1 2045 11 is_stmt 0 view .LVU1671 5006 0058 E06F ldr r0, [r4, #124] 5007 .LVL440: 2045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5008 .loc 1 2045 11 view .LVU1672 5009 005a FFF7FEFF bl HAL_DMA_Abort_IT 5010 .LVL441: 2045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5011 .loc 1 2045 10 discriminator 1 view .LVU1673 5012 005e E0B1 cbz r0, .L207 ARM GAS /tmp/cciGf5I5.s page 208 2048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5013 .loc 1 2048 9 is_stmt 1 view .LVU1674 2048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5014 .loc 1 2048 14 is_stmt 0 view .LVU1675 5015 0060 E06F ldr r0, [r4, #124] 2048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5016 .loc 1 2048 22 view .LVU1676 5017 0062 836B ldr r3, [r0, #56] 2048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5018 .loc 1 2048 9 view .LVU1677 5019 0064 9847 blx r3 5020 .LVL442: 5021 0066 18E0 b .L207 5022 .LVL443: 5023 .L206: 2054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5024 .loc 1 2054 7 is_stmt 1 view .LVU1678 2054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5025 .loc 1 2054 26 is_stmt 0 view .LVU1679 5026 0068 0023 movs r3, #0 5027 006a A4F85630 strh r3, [r4, #86] @ movhi 2057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5028 .loc 1 2057 7 is_stmt 1 view .LVU1680 2057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5029 .loc 1 2057 20 is_stmt 0 view .LVU1681 5030 006e A367 str r3, [r4, #120] 2060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5031 .loc 1 2060 7 is_stmt 1 view .LVU1682 2060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5032 .loc 1 2060 21 is_stmt 0 view .LVU1683 5033 0070 2023 movs r3, #32 5034 0072 C4F88830 str r3, [r4, #136] 2068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5035 .loc 1 2068 7 is_stmt 1 view .LVU1684 5036 0076 2046 mov r0, r4 5037 .LVL444: 2068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5038 .loc 1 2068 7 is_stmt 0 view .LVU1685 5039 0078 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback 5040 .LVL445: 5041 007c 0DE0 b .L207 5042 .LVL446: 5043 .L204: 2075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5044 .loc 1 2075 5 is_stmt 1 view .LVU1686 2075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5045 .loc 1 2075 24 is_stmt 0 view .LVU1687 5046 007e 0022 movs r2, #0 5047 0080 A4F85620 strh r2, [r4, #86] @ movhi 2078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5048 .loc 1 2078 5 is_stmt 1 view .LVU1688 2078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5049 .loc 1 2078 18 is_stmt 0 view .LVU1689 5050 0084 A267 str r2, [r4, #120] 2081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5051 .loc 1 2081 5 is_stmt 1 view .LVU1690 2081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cciGf5I5.s page 209 5052 .loc 1 2081 14 is_stmt 0 view .LVU1691 5053 0086 626E ldr r2, [r4, #100] 2081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5054 .loc 1 2081 8 view .LVU1692 5055 0088 B2F1005F cmp r2, #536870912 5056 008c 07D0 beq .L210 5057 .L208: 2087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5058 .loc 1 2087 5 is_stmt 1 view .LVU1693 2087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5059 .loc 1 2087 19 is_stmt 0 view .LVU1694 5060 008e 2023 movs r3, #32 5061 0090 C4F88830 str r3, [r4, #136] 2095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5062 .loc 1 2095 5 is_stmt 1 view .LVU1695 5063 0094 2046 mov r0, r4 5064 .LVL447: 2095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5065 .loc 1 2095 5 is_stmt 0 view .LVU1696 5066 0096 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback 5067 .LVL448: 5068 .L207: 2099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5069 .loc 1 2099 3 is_stmt 1 view .LVU1697 2100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5070 .loc 1 2100 1 is_stmt 0 view .LVU1698 5071 009a 0020 movs r0, #0 5072 009c 10BD pop {r4, pc} 5073 .LVL449: 5074 .L210: 2083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5075 .loc 1 2083 7 is_stmt 1 view .LVU1699 5076 009e 9A69 ldr r2, [r3, #24] 5077 00a0 42F01002 orr r2, r2, #16 5078 00a4 9A61 str r2, [r3, #24] 5079 00a6 F2E7 b .L208 5080 .L212: 5081 .align 2 5082 .L211: 5083 00a8 00000000 .word UART_DMATxOnlyAbortCallback 5084 .cfi_endproc 5085 .LFE349: 5087 .section .text.UART_DMATxOnlyAbortCallback,"ax",%progbits 5088 .align 1 5089 .syntax unified 5090 .thumb 5091 .thumb_func 5093 UART_DMATxOnlyAbortCallback: 5094 .LVL450: 5095 .LFB388: 3946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 5096 .loc 1 3946 1 view -0 5097 .cfi_startproc 5098 @ args = 0, pretend = 0, frame = 0 5099 @ frame_needed = 0, uses_anonymous_args = 0 3946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 5100 .loc 1 3946 1 is_stmt 0 view .LVU1701 ARM GAS /tmp/cciGf5I5.s page 210 5101 0000 08B5 push {r3, lr} 5102 .LCFI21: 5103 .cfi_def_cfa_offset 8 5104 .cfi_offset 3, -8 5105 .cfi_offset 14, -4 3947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5106 .loc 1 3947 3 is_stmt 1 view .LVU1702 3947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5107 .loc 1 3947 23 is_stmt 0 view .LVU1703 5108 0002 806A ldr r0, [r0, #40] 5109 .LVL451: 3949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5110 .loc 1 3949 3 is_stmt 1 view .LVU1704 3949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5111 .loc 1 3949 22 is_stmt 0 view .LVU1705 5112 0004 0023 movs r3, #0 5113 0006 A0F85630 strh r3, [r0, #86] @ movhi 3952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5114 .loc 1 3952 3 is_stmt 1 view .LVU1706 3952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5115 .loc 1 3952 12 is_stmt 0 view .LVU1707 5116 000a 436E ldr r3, [r0, #100] 3952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5117 .loc 1 3952 6 view .LVU1708 5118 000c B3F1005F cmp r3, #536870912 5119 0010 05D0 beq .L216 5120 .L214: 3958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5121 .loc 1 3958 3 is_stmt 1 view .LVU1709 3958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5122 .loc 1 3958 17 is_stmt 0 view .LVU1710 5123 0012 2023 movs r3, #32 5124 0014 C0F88830 str r3, [r0, #136] 3966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5125 .loc 1 3966 3 is_stmt 1 view .LVU1711 5126 0018 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback 5127 .LVL452: 3968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5128 .loc 1 3968 1 is_stmt 0 view .LVU1712 5129 001c 08BD pop {r3, pc} 5130 .LVL453: 5131 .L216: 3954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5132 .loc 1 3954 5 is_stmt 1 view .LVU1713 5133 001e 0268 ldr r2, [r0] 5134 0020 9369 ldr r3, [r2, #24] 5135 0022 43F01003 orr r3, r3, #16 5136 0026 9361 str r3, [r2, #24] 5137 0028 F3E7 b .L214 5138 .cfi_endproc 5139 .LFE388: 5141 .section .text.HAL_UART_AbortReceiveCpltCallback,"ax",%progbits 5142 .align 1 5143 .weak HAL_UART_AbortReceiveCpltCallback 5144 .syntax unified 5145 .thumb 5146 .thumb_func ARM GAS /tmp/cciGf5I5.s page 211 5148 HAL_UART_AbortReceiveCpltCallback: 5149 .LVL454: 5150 .LFB359: 2667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 5151 .loc 1 2667 1 view -0 5152 .cfi_startproc 5153 @ args = 0, pretend = 0, frame = 0 5154 @ frame_needed = 0, uses_anonymous_args = 0 5155 @ link register save eliminated. 2669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5156 .loc 1 2669 3 view .LVU1715 2674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5157 .loc 1 2674 1 is_stmt 0 view .LVU1716 5158 0000 7047 bx lr 5159 .cfi_endproc 5160 .LFE359: 5162 .section .text.HAL_UART_AbortReceive_IT,"ax",%progbits 5163 .align 1 5164 .global HAL_UART_AbortReceive_IT 5165 .syntax unified 5166 .thumb 5167 .thumb_func 5169 HAL_UART_AbortReceive_IT: 5170 .LVL455: 5171 .LFB350: 2117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 5172 .loc 1 2117 1 is_stmt 1 view -0 5173 .cfi_startproc 5174 @ args = 0, pretend = 0, frame = 0 5175 @ frame_needed = 0, uses_anonymous_args = 0 2117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 5176 .loc 1 2117 1 is_stmt 0 view .LVU1718 5177 0000 10B5 push {r4, lr} 5178 .LCFI22: 5179 .cfi_def_cfa_offset 8 5180 .cfi_offset 4, -8 5181 .cfi_offset 14, -4 5182 0002 0446 mov r4, r0 5183 .L219: 2119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 5184 .loc 1 2119 3 is_stmt 1 discriminator 1 view .LVU1719 5185 .LBB769: 2119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 5186 .loc 1 2119 3 discriminator 1 view .LVU1720 2119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 5187 .loc 1 2119 3 discriminator 1 view .LVU1721 2119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 5188 .loc 1 2119 3 discriminator 1 view .LVU1722 5189 0004 2268 ldr r2, [r4] 5190 .LVL456: 5191 .LBB770: 5192 .LBI770: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5193 .loc 2 1151 31 view .LVU1723 5194 .LBB771: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 5195 .loc 2 1153 5 view .LVU1724 ARM GAS /tmp/cciGf5I5.s page 212 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5196 .loc 2 1155 4 view .LVU1725 5197 .syntax unified 5198 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5199 0006 52E8003F ldrex r3, [r2] 5200 @ 0 "" 2 5201 .LVL457: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5202 .loc 2 1156 4 view .LVU1726 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5203 .loc 2 1156 4 is_stmt 0 view .LVU1727 5204 .thumb 5205 .syntax unified 5206 .LBE771: 5207 .LBE770: 2119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 5208 .loc 1 2119 3 discriminator 1 view .LVU1728 5209 000a 23F49073 bic r3, r3, #288 5210 .LVL458: 2119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 5211 .loc 1 2119 3 is_stmt 1 discriminator 1 view .LVU1729 5212 .LBB772: 5213 .LBI772: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5214 .loc 2 1202 31 view .LVU1730 5215 .LBB773: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 5216 .loc 2 1204 4 view .LVU1731 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5217 .loc 2 1206 4 view .LVU1732 5218 .syntax unified 5219 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5220 000e 42E80031 strex r1, r3, [r2] 5221 @ 0 "" 2 5222 .LVL459: 5223 .loc 2 1207 4 view .LVU1733 5224 .loc 2 1207 4 is_stmt 0 view .LVU1734 5225 .thumb 5226 .syntax unified 5227 .LBE773: 5228 .LBE772: 2119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 5229 .loc 1 2119 3 discriminator 1 view .LVU1735 5230 0012 0029 cmp r1, #0 5231 0014 F6D1 bne .L219 5232 .LVL460: 5233 .L220: 2119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 5234 .loc 1 2119 3 discriminator 1 view .LVU1736 5235 .LBE769: 2119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 5236 .loc 1 2119 3 is_stmt 1 discriminator 2 view .LVU1737 2120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5237 .loc 1 2120 3 discriminator 1 view .LVU1738 5238 .LBB774: 2120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5239 .loc 1 2120 3 discriminator 1 view .LVU1739 ARM GAS /tmp/cciGf5I5.s page 213 2120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5240 .loc 1 2120 3 discriminator 1 view .LVU1740 2120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5241 .loc 1 2120 3 discriminator 1 view .LVU1741 5242 0016 2268 ldr r2, [r4] 5243 .LVL461: 5244 .LBB775: 5245 .LBI775: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5246 .loc 2 1151 31 view .LVU1742 5247 .LBB776: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 5248 .loc 2 1153 5 view .LVU1743 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5249 .loc 2 1155 4 view .LVU1744 5250 0018 02F10803 add r3, r2, #8 5251 .LVL462: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5252 .loc 2 1155 4 is_stmt 0 view .LVU1745 5253 .syntax unified 5254 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5255 001c 53E8003F ldrex r3, [r3] 5256 @ 0 "" 2 5257 .LVL463: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5258 .loc 2 1156 4 is_stmt 1 view .LVU1746 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5259 .loc 2 1156 4 is_stmt 0 view .LVU1747 5260 .thumb 5261 .syntax unified 5262 .LBE776: 5263 .LBE775: 2120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5264 .loc 1 2120 3 discriminator 1 view .LVU1748 5265 0020 23F08053 bic r3, r3, #268435456 5266 0024 23F00103 bic r3, r3, #1 5267 .LVL464: 2120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5268 .loc 1 2120 3 is_stmt 1 discriminator 1 view .LVU1749 5269 .LBB777: 5270 .LBI777: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5271 .loc 2 1202 31 view .LVU1750 5272 .LBB778: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 5273 .loc 2 1204 4 view .LVU1751 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5274 .loc 2 1206 4 view .LVU1752 5275 0028 0832 adds r2, r2, #8 5276 .LVL465: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5277 .loc 2 1206 4 is_stmt 0 view .LVU1753 5278 .syntax unified 5279 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5280 002a 42E80031 strex r1, r3, [r2] 5281 @ 0 "" 2 5282 .LVL466: ARM GAS /tmp/cciGf5I5.s page 214 5283 .loc 2 1207 4 is_stmt 1 view .LVU1754 5284 .loc 2 1207 4 is_stmt 0 view .LVU1755 5285 .thumb 5286 .syntax unified 5287 .LBE778: 5288 .LBE777: 2120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5289 .loc 1 2120 3 discriminator 1 view .LVU1756 5290 002e 0029 cmp r1, #0 5291 0030 F1D1 bne .L220 5292 .LBE774: 2120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5293 .loc 1 2120 3 is_stmt 1 discriminator 2 view .LVU1757 2123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5294 .loc 1 2123 3 view .LVU1758 2123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5295 .loc 1 2123 12 is_stmt 0 view .LVU1759 5296 0032 E36E ldr r3, [r4, #108] 5297 .LVL467: 2123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5298 .loc 1 2123 6 view .LVU1760 5299 0034 012B cmp r3, #1 5300 0036 1FD0 beq .L222 5301 .L221: 2125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5302 .loc 1 2125 5 is_stmt 1 discriminator 2 view .LVU1761 2129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5303 .loc 1 2129 3 view .LVU1762 2129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5304 .loc 1 2129 7 is_stmt 0 view .LVU1763 5305 0038 2368 ldr r3, [r4] 5306 003a 9A68 ldr r2, [r3, #8] 2129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5307 .loc 1 2129 6 view .LVU1764 5308 003c 12F0400F tst r2, #64 5309 0040 38D0 beq .L223 5310 .L224: 2132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5311 .loc 1 2132 5 is_stmt 1 discriminator 1 view .LVU1765 5312 .LBB779: 2132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5313 .loc 1 2132 5 discriminator 1 view .LVU1766 2132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5314 .loc 1 2132 5 discriminator 1 view .LVU1767 2132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5315 .loc 1 2132 5 discriminator 1 view .LVU1768 5316 0042 2268 ldr r2, [r4] 5317 .LVL468: 5318 .LBB780: 5319 .LBI780: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5320 .loc 2 1151 31 view .LVU1769 5321 .LBB781: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 5322 .loc 2 1153 5 view .LVU1770 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5323 .loc 2 1155 4 view .LVU1771 ARM GAS /tmp/cciGf5I5.s page 215 5324 0044 02F10803 add r3, r2, #8 5325 .LVL469: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5326 .loc 2 1155 4 is_stmt 0 view .LVU1772 5327 .syntax unified 5328 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5329 0048 53E8003F ldrex r3, [r3] 5330 @ 0 "" 2 5331 .LVL470: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5332 .loc 2 1156 4 is_stmt 1 view .LVU1773 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5333 .loc 2 1156 4 is_stmt 0 view .LVU1774 5334 .thumb 5335 .syntax unified 5336 .LBE781: 5337 .LBE780: 2132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5338 .loc 1 2132 5 discriminator 1 view .LVU1775 5339 004c 23F04003 bic r3, r3, #64 5340 .LVL471: 2132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5341 .loc 1 2132 5 is_stmt 1 discriminator 1 view .LVU1776 5342 .LBB782: 5343 .LBI782: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5344 .loc 2 1202 31 view .LVU1777 5345 .LBB783: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 5346 .loc 2 1204 4 view .LVU1778 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5347 .loc 2 1206 4 view .LVU1779 5348 0050 0832 adds r2, r2, #8 5349 .LVL472: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5350 .loc 2 1206 4 is_stmt 0 view .LVU1780 5351 .syntax unified 5352 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5353 0052 42E80031 strex r1, r3, [r2] 5354 @ 0 "" 2 5355 .LVL473: 5356 .loc 2 1207 4 is_stmt 1 view .LVU1781 5357 .loc 2 1207 4 is_stmt 0 view .LVU1782 5358 .thumb 5359 .syntax unified 5360 .LBE783: 5361 .LBE782: 2132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5362 .loc 1 2132 5 discriminator 1 view .LVU1783 5363 0056 0029 cmp r1, #0 5364 0058 F3D1 bne .L224 5365 .LBE779: 2132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5366 .loc 1 2132 5 is_stmt 1 discriminator 2 view .LVU1784 2135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5367 .loc 1 2135 5 view .LVU1785 2135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cciGf5I5.s page 216 5368 .loc 1 2135 14 is_stmt 0 view .LVU1786 5369 005a D4F88030 ldr r3, [r4, #128] 5370 .LVL474: 2135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5371 .loc 1 2135 8 view .LVU1787 5372 005e ABB1 cbz r3, .L225 2139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5373 .loc 1 2139 7 is_stmt 1 view .LVU1788 2139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5374 .loc 1 2139 40 is_stmt 0 view .LVU1789 5375 0060 1C4A ldr r2, .L228 5376 0062 9A63 str r2, [r3, #56] 2142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5377 .loc 1 2142 7 is_stmt 1 view .LVU1790 2142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5378 .loc 1 2142 11 is_stmt 0 view .LVU1791 5379 0064 D4F88000 ldr r0, [r4, #128] 5380 .LVL475: 2142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5381 .loc 1 2142 11 view .LVU1792 5382 0068 FFF7FEFF bl HAL_DMA_Abort_IT 5383 .LVL476: 2142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5384 .loc 1 2142 10 discriminator 1 view .LVU1793 5385 006c 78B3 cbz r0, .L226 2145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5386 .loc 1 2145 9 is_stmt 1 view .LVU1794 2145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5387 .loc 1 2145 14 is_stmt 0 view .LVU1795 5388 006e D4F88000 ldr r0, [r4, #128] 2145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5389 .loc 1 2145 22 view .LVU1796 5390 0072 836B ldr r3, [r0, #56] 2145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5391 .loc 1 2145 9 view .LVU1797 5392 0074 9847 blx r3 5393 .LVL477: 5394 0076 2AE0 b .L226 5395 .LVL478: 5396 .L222: 2125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5397 .loc 1 2125 5 is_stmt 1 discriminator 1 view .LVU1798 5398 .LBB784: 2125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5399 .loc 1 2125 5 discriminator 1 view .LVU1799 2125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5400 .loc 1 2125 5 discriminator 1 view .LVU1800 2125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5401 .loc 1 2125 5 discriminator 1 view .LVU1801 5402 0078 2268 ldr r2, [r4] 5403 .LVL479: 5404 .LBB785: 5405 .LBI785: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5406 .loc 2 1151 31 view .LVU1802 5407 .LBB786: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** ARM GAS /tmp/cciGf5I5.s page 217 5408 .loc 2 1153 5 view .LVU1803 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5409 .loc 2 1155 4 view .LVU1804 5410 .syntax unified 5411 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5412 007a 52E8003F ldrex r3, [r2] 5413 @ 0 "" 2 5414 .LVL480: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5415 .loc 2 1156 4 view .LVU1805 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5416 .loc 2 1156 4 is_stmt 0 view .LVU1806 5417 .thumb 5418 .syntax unified 5419 .LBE786: 5420 .LBE785: 2125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5421 .loc 1 2125 5 discriminator 1 view .LVU1807 5422 007e 23F01003 bic r3, r3, #16 5423 .LVL481: 2125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5424 .loc 1 2125 5 is_stmt 1 discriminator 1 view .LVU1808 5425 .LBB787: 5426 .LBI787: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5427 .loc 2 1202 31 view .LVU1809 5428 .LBB788: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 5429 .loc 2 1204 4 view .LVU1810 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5430 .loc 2 1206 4 view .LVU1811 5431 .syntax unified 5432 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5433 0082 42E80031 strex r1, r3, [r2] 5434 @ 0 "" 2 5435 .LVL482: 5436 .loc 2 1207 4 view .LVU1812 5437 .loc 2 1207 4 is_stmt 0 view .LVU1813 5438 .thumb 5439 .syntax unified 5440 .LBE788: 5441 .LBE787: 2125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5442 .loc 1 2125 5 discriminator 1 view .LVU1814 5443 0086 0029 cmp r1, #0 5444 0088 F6D1 bne .L222 5445 008a D5E7 b .L221 5446 .LVL483: 5447 .L225: 2125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5448 .loc 1 2125 5 discriminator 1 view .LVU1815 5449 .LBE784: 2151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5450 .loc 1 2151 7 is_stmt 1 view .LVU1816 2151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5451 .loc 1 2151 26 is_stmt 0 view .LVU1817 5452 008c 0023 movs r3, #0 ARM GAS /tmp/cciGf5I5.s page 218 5453 008e A4F85E30 strh r3, [r4, #94] @ movhi 2154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5454 .loc 1 2154 7 is_stmt 1 view .LVU1818 2154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5455 .loc 1 2154 25 is_stmt 0 view .LVU1819 5456 0092 A365 str r3, [r4, #88] 2157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5457 .loc 1 2157 7 is_stmt 1 view .LVU1820 5458 0094 2268 ldr r2, [r4] 5459 0096 0F21 movs r1, #15 5460 0098 1162 str r1, [r2, #32] 2160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5461 .loc 1 2160 7 view .LVU1821 5462 009a 2168 ldr r1, [r4] 5463 009c 8A69 ldr r2, [r1, #24] 5464 009e 42F00802 orr r2, r2, #8 5465 00a2 8A61 str r2, [r1, #24] 2163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5466 .loc 1 2163 7 view .LVU1822 2163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5467 .loc 1 2163 22 is_stmt 0 view .LVU1823 5468 00a4 2022 movs r2, #32 5469 00a6 C4F88C20 str r2, [r4, #140] 2164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5470 .loc 1 2164 7 is_stmt 1 view .LVU1824 2164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5471 .loc 1 2164 28 is_stmt 0 view .LVU1825 5472 00aa E366 str r3, [r4, #108] 2172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5473 .loc 1 2172 7 is_stmt 1 view .LVU1826 5474 00ac 2046 mov r0, r4 5475 .LVL484: 2172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5476 .loc 1 2172 7 is_stmt 0 view .LVU1827 5477 00ae FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback 5478 .LVL485: 5479 00b2 0CE0 b .L226 5480 .LVL486: 5481 .L223: 2179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5482 .loc 1 2179 5 is_stmt 1 view .LVU1828 2179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5483 .loc 1 2179 24 is_stmt 0 view .LVU1829 5484 00b4 0022 movs r2, #0 5485 00b6 A4F85E20 strh r2, [r4, #94] @ movhi 2182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5486 .loc 1 2182 5 is_stmt 1 view .LVU1830 2182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5487 .loc 1 2182 23 is_stmt 0 view .LVU1831 5488 00ba A265 str r2, [r4, #88] 2185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5489 .loc 1 2185 5 is_stmt 1 view .LVU1832 5490 00bc 0F21 movs r1, #15 5491 00be 1962 str r1, [r3, #32] 2188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5492 .loc 1 2188 5 view .LVU1833 2188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; ARM GAS /tmp/cciGf5I5.s page 219 5493 .loc 1 2188 20 is_stmt 0 view .LVU1834 5494 00c0 2023 movs r3, #32 5495 00c2 C4F88C30 str r3, [r4, #140] 2189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5496 .loc 1 2189 5 is_stmt 1 view .LVU1835 2189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5497 .loc 1 2189 26 is_stmt 0 view .LVU1836 5498 00c6 E266 str r2, [r4, #108] 2197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5499 .loc 1 2197 5 is_stmt 1 view .LVU1837 5500 00c8 2046 mov r0, r4 5501 .LVL487: 2197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5502 .loc 1 2197 5 is_stmt 0 view .LVU1838 5503 00ca FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback 5504 .LVL488: 5505 .L226: 2201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5506 .loc 1 2201 3 is_stmt 1 view .LVU1839 2202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5507 .loc 1 2202 1 is_stmt 0 view .LVU1840 5508 00ce 0020 movs r0, #0 5509 00d0 10BD pop {r4, pc} 5510 .LVL489: 5511 .L229: 2202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5512 .loc 1 2202 1 view .LVU1841 5513 00d2 00BF .align 2 5514 .L228: 5515 00d4 00000000 .word UART_DMARxOnlyAbortCallback 5516 .cfi_endproc 5517 .LFE350: 5519 .section .text.UART_DMARxOnlyAbortCallback,"ax",%progbits 5520 .align 1 5521 .syntax unified 5522 .thumb 5523 .thumb_func 5525 UART_DMARxOnlyAbortCallback: 5526 .LVL490: 5527 .LFB389: 3979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 5528 .loc 1 3979 1 is_stmt 1 view -0 5529 .cfi_startproc 5530 @ args = 0, pretend = 0, frame = 0 5531 @ frame_needed = 0, uses_anonymous_args = 0 3979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 5532 .loc 1 3979 1 is_stmt 0 view .LVU1843 5533 0000 08B5 push {r3, lr} 5534 .LCFI23: 5535 .cfi_def_cfa_offset 8 5536 .cfi_offset 3, -8 5537 .cfi_offset 14, -4 3980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5538 .loc 1 3980 3 is_stmt 1 view .LVU1844 3980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5539 .loc 1 3980 23 is_stmt 0 view .LVU1845 5540 0002 806A ldr r0, [r0, #40] ARM GAS /tmp/cciGf5I5.s page 220 5541 .LVL491: 3982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5542 .loc 1 3982 3 is_stmt 1 view .LVU1846 3982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5543 .loc 1 3982 22 is_stmt 0 view .LVU1847 5544 0004 0022 movs r2, #0 5545 0006 A0F85E20 strh r2, [r0, #94] @ movhi 3985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5546 .loc 1 3985 3 is_stmt 1 view .LVU1848 5547 000a 0368 ldr r3, [r0] 5548 000c 0F21 movs r1, #15 5549 000e 1962 str r1, [r3, #32] 3988:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5550 .loc 1 3988 3 view .LVU1849 5551 0010 0168 ldr r1, [r0] 5552 0012 8B69 ldr r3, [r1, #24] 5553 0014 43F00803 orr r3, r3, #8 5554 0018 8B61 str r3, [r1, #24] 3991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5555 .loc 1 3991 3 view .LVU1850 3991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5556 .loc 1 3991 18 is_stmt 0 view .LVU1851 5557 001a 2023 movs r3, #32 5558 001c C0F88C30 str r3, [r0, #140] 3992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5559 .loc 1 3992 3 is_stmt 1 view .LVU1852 3992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5560 .loc 1 3992 24 is_stmt 0 view .LVU1853 5561 0020 C266 str r2, [r0, #108] 4000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5562 .loc 1 4000 3 is_stmt 1 view .LVU1854 5563 0022 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback 5564 .LVL492: 4002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5565 .loc 1 4002 1 is_stmt 0 view .LVU1855 5566 0026 08BD pop {r3, pc} 5567 .cfi_endproc 5568 .LFE389: 5570 .section .text.HAL_UARTEx_RxEventCallback,"ax",%progbits 5571 .align 1 5572 .weak HAL_UARTEx_RxEventCallback 5573 .syntax unified 5574 .thumb 5575 .thumb_func 5577 HAL_UARTEx_RxEventCallback: 5578 .LVL493: 5579 .LFB360: 2684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 5580 .loc 1 2684 1 is_stmt 1 view -0 5581 .cfi_startproc 5582 @ args = 0, pretend = 0, frame = 0 5583 @ frame_needed = 0, uses_anonymous_args = 0 5584 @ link register save eliminated. 2686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(Size); 5585 .loc 1 2686 3 view .LVU1857 2687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5586 .loc 1 2687 3 view .LVU1858 ARM GAS /tmp/cciGf5I5.s page 221 2692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5587 .loc 1 2692 1 is_stmt 0 view .LVU1859 5588 0000 7047 bx lr 5589 .cfi_endproc 5590 .LFE360: 5592 .section .text.HAL_UART_IRQHandler,"ax",%progbits 5593 .align 1 5594 .global HAL_UART_IRQHandler 5595 .syntax unified 5596 .thumb 5597 .thumb_func 5599 HAL_UART_IRQHandler: 5600 .LVL494: 5601 .LFB351: 2210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR); 5602 .loc 1 2210 1 is_stmt 1 view -0 5603 .cfi_startproc 5604 @ args = 0, pretend = 0, frame = 0 5605 @ frame_needed = 0, uses_anonymous_args = 0 2210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR); 5606 .loc 1 2210 1 is_stmt 0 view .LVU1861 5607 0000 70B5 push {r4, r5, r6, lr} 5608 .LCFI24: 5609 .cfi_def_cfa_offset 16 5610 .cfi_offset 4, -16 5611 .cfi_offset 5, -12 5612 .cfi_offset 6, -8 5613 .cfi_offset 14, -4 5614 0002 0446 mov r4, r0 2211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 5615 .loc 1 2211 3 is_stmt 1 view .LVU1862 2211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 5616 .loc 1 2211 25 is_stmt 0 view .LVU1863 5617 0004 0268 ldr r2, [r0] 2211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 5618 .loc 1 2211 12 view .LVU1864 5619 0006 D369 ldr r3, [r2, #28] 5620 .LVL495: 2212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3); 5621 .loc 1 2212 3 is_stmt 1 view .LVU1865 2212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3); 5622 .loc 1 2212 12 is_stmt 0 view .LVU1866 5623 0008 1068 ldr r0, [r2] 5624 .LVL496: 2213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5625 .loc 1 2213 3 is_stmt 1 view .LVU1867 2213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5626 .loc 1 2213 12 is_stmt 0 view .LVU1868 5627 000a 9168 ldr r1, [r2, #8] 5628 .LVL497: 2215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t errorcode; 5629 .loc 1 2215 3 is_stmt 1 view .LVU1869 2216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5630 .loc 1 2216 3 view .LVU1870 2219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (errorflags == 0U) 5631 .loc 1 2219 3 view .LVU1871 2220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cciGf5I5.s page 222 5632 .loc 1 2220 3 view .LVU1872 2220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5633 .loc 1 2220 6 is_stmt 0 view .LVU1873 5634 000c 40F60F0C movw ip, #2063 5635 0010 13EA0C0F tst r3, ip 5636 0014 0DD1 bne .L234 2223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U) 5637 .loc 1 2223 5 is_stmt 1 view .LVU1874 2223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U) 5638 .loc 1 2223 8 is_stmt 0 view .LVU1875 5639 0016 13F0200F tst r3, #32 5640 001a 10D0 beq .L235 2224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** || ((cr3its & USART_CR3_RXFTIE) != 0U))) 5641 .loc 1 2224 9 view .LVU1876 5642 001c 10F0200F tst r0, #32 5643 0020 02D1 bne .L236 2225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5644 .loc 1 2225 13 view .LVU1877 5645 0022 11F0805F tst r1, #268435456 5646 0026 0AD0 beq .L235 5647 .L236: 2227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5648 .loc 1 2227 7 is_stmt 1 view .LVU1878 2227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5649 .loc 1 2227 16 is_stmt 0 view .LVU1879 5650 0028 636F ldr r3, [r4, #116] 5651 .LVL498: 2227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5652 .loc 1 2227 10 view .LVU1880 5653 002a 93B3 cbz r3, .L233 2229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5654 .loc 1 2229 9 is_stmt 1 view .LVU1881 5655 002c 2046 mov r0, r4 5656 .LVL499: 2229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5657 .loc 1 2229 9 is_stmt 0 view .LVU1882 5658 002e 9847 blx r3 5659 .LVL500: 2231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5660 .loc 1 2231 7 is_stmt 1 view .LVU1883 5661 0030 2FE0 b .L233 5662 .LVL501: 5663 .L234: 2237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U)))) 5664 .loc 1 2237 21 is_stmt 0 view .LVU1884 5665 0032 9D4D ldr r5, .L279 2237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U)))) 5666 .loc 1 2237 7 view .LVU1885 5667 0034 0D40 ands r5, r1, r5 5668 0036 2DD1 bne .L239 2238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5669 .loc 1 2238 12 view .LVU1886 5670 0038 9C4E ldr r6, .L279+4 5671 003a 3042 tst r0, r6 5672 003c 2AD1 bne .L239 5673 .L235: 2375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U) ARM GAS /tmp/cciGf5I5.s page 223 5674 .loc 1 2375 3 is_stmt 1 view .LVU1887 2375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U) 5675 .loc 1 2375 13 is_stmt 0 view .LVU1888 5676 003e E56E ldr r5, [r4, #108] 2375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U) 5677 .loc 1 2375 6 view .LVU1889 5678 0040 012D cmp r5, #1 5679 0042 00F0C080 beq .L274 5680 .L254: 2493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5681 .loc 1 2493 3 is_stmt 1 view .LVU1890 2493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5682 .loc 1 2493 6 is_stmt 0 view .LVU1891 5683 0046 13F4801F tst r3, #1048576 5684 004a 03D0 beq .L267 2493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5685 .loc 1 2493 42 discriminator 1 view .LVU1892 5686 004c 11F4800F tst r1, #4194304 5687 0050 40F06C81 bne .L275 5688 .L267: 2511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (((cr1its & USART_CR1_TXEIE_TXFNFIE) != 0U) 5689 .loc 1 2511 3 is_stmt 1 view .LVU1893 2511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (((cr1its & USART_CR1_TXEIE_TXFNFIE) != 0U) 5690 .loc 1 2511 6 is_stmt 0 view .LVU1894 5691 0054 13F0800F tst r3, #128 5692 0058 07D0 beq .L268 2512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** || ((cr3its & USART_CR3_TXFTIE) != 0U))) 5693 .loc 1 2512 7 view .LVU1895 5694 005a 10F0800F tst r0, #128 5695 005e 40F06C81 bne .L269 2513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5696 .loc 1 2513 11 view .LVU1896 5697 0062 11F4000F tst r1, #8388608 5698 0066 40F06881 bne .L269 5699 .L268: 2523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5700 .loc 1 2523 3 is_stmt 1 view .LVU1897 2523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5701 .loc 1 2523 6 is_stmt 0 view .LVU1898 5702 006a 13F0400F tst r3, #64 5703 006e 03D0 beq .L271 2523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5704 .loc 1 2523 41 discriminator 1 view .LVU1899 5705 0070 10F0400F tst r0, #64 5706 0074 40F06881 bne .L276 5707 .L271: 2530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5708 .loc 1 2530 3 is_stmt 1 view .LVU1900 2530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5709 .loc 1 2530 6 is_stmt 0 view .LVU1901 5710 0078 13F4000F tst r3, #8388608 5711 007c 03D0 beq .L272 2530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5712 .loc 1 2530 43 discriminator 1 view .LVU1902 5713 007e 10F0804F tst r0, #1073741824 5714 0082 40F06581 bne .L277 5715 .L272: ARM GAS /tmp/cciGf5I5.s page 224 2543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5716 .loc 1 2543 3 is_stmt 1 view .LVU1903 2543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5717 .loc 1 2543 6 is_stmt 0 view .LVU1904 5718 0086 13F0807F tst r3, #16777216 5719 008a 02D0 beq .L233 2543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5720 .loc 1 2543 43 discriminator 1 view .LVU1905 5721 008c 0028 cmp r0, #0 5722 008e C0F26381 blt .L278 5723 .LVL502: 5724 .L233: 2554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5725 .loc 1 2554 1 view .LVU1906 5726 0092 70BD pop {r4, r5, r6, pc} 5727 .LVL503: 5728 .L239: 2241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5729 .loc 1 2241 5 is_stmt 1 view .LVU1907 2241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5730 .loc 1 2241 8 is_stmt 0 view .LVU1908 5731 0094 13F0010F tst r3, #1 5732 0098 09D0 beq .L240 2241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5733 .loc 1 2241 43 discriminator 1 view .LVU1909 5734 009a 10F4807F tst r0, #256 5735 009e 06D0 beq .L240 2243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5736 .loc 1 2243 7 is_stmt 1 view .LVU1910 5737 00a0 0126 movs r6, #1 5738 00a2 1662 str r6, [r2, #32] 2245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5739 .loc 1 2245 7 view .LVU1911 2245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5740 .loc 1 2245 12 is_stmt 0 view .LVU1912 5741 00a4 D4F89020 ldr r2, [r4, #144] 2245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5742 .loc 1 2245 24 view .LVU1913 5743 00a8 3243 orrs r2, r2, r6 5744 00aa C4F89020 str r2, [r4, #144] 5745 .L240: 2249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5746 .loc 1 2249 5 is_stmt 1 view .LVU1914 2249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5747 .loc 1 2249 8 is_stmt 0 view .LVU1915 5748 00ae 13F0020F tst r3, #2 5749 00b2 0BD0 beq .L241 2249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5750 .loc 1 2249 43 discriminator 1 view .LVU1916 5751 00b4 11F0010F tst r1, #1 5752 00b8 08D0 beq .L241 2251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5753 .loc 1 2251 7 is_stmt 1 view .LVU1917 5754 00ba 2268 ldr r2, [r4] 5755 00bc 0226 movs r6, #2 5756 00be 1662 str r6, [r2, #32] 2253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cciGf5I5.s page 225 5757 .loc 1 2253 7 view .LVU1918 2253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5758 .loc 1 2253 12 is_stmt 0 view .LVU1919 5759 00c0 D4F89020 ldr r2, [r4, #144] 2253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5760 .loc 1 2253 24 view .LVU1920 5761 00c4 42F00402 orr r2, r2, #4 5762 00c8 C4F89020 str r2, [r4, #144] 5763 .L241: 2257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5764 .loc 1 2257 5 is_stmt 1 view .LVU1921 2257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5765 .loc 1 2257 8 is_stmt 0 view .LVU1922 5766 00cc 13F0040F tst r3, #4 5767 00d0 0BD0 beq .L242 2257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5768 .loc 1 2257 43 discriminator 1 view .LVU1923 5769 00d2 11F0010F tst r1, #1 5770 00d6 08D0 beq .L242 2259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5771 .loc 1 2259 7 is_stmt 1 view .LVU1924 5772 00d8 2268 ldr r2, [r4] 5773 00da 0426 movs r6, #4 5774 00dc 1662 str r6, [r2, #32] 2261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5775 .loc 1 2261 7 view .LVU1925 2261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5776 .loc 1 2261 12 is_stmt 0 view .LVU1926 5777 00de D4F89020 ldr r2, [r4, #144] 2261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5778 .loc 1 2261 24 view .LVU1927 5779 00e2 42F00202 orr r2, r2, #2 5780 00e6 C4F89020 str r2, [r4, #144] 5781 .L242: 2265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U) || 5782 .loc 1 2265 5 is_stmt 1 view .LVU1928 2265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U) || 5783 .loc 1 2265 8 is_stmt 0 view .LVU1929 5784 00ea 13F0080F tst r3, #8 5785 00ee 0BD0 beq .L243 2266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ((cr3its & (USART_CR3_RXFTIE | USART_CR3_EIE)) != 0U))) 5786 .loc 1 2266 9 view .LVU1930 5787 00f0 10F0200F tst r0, #32 5788 00f4 00D1 bne .L244 2266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ((cr3its & (USART_CR3_RXFTIE | USART_CR3_EIE)) != 0U))) 5789 .loc 1 2266 57 discriminator 1 view .LVU1931 5790 00f6 3DB1 cbz r5, .L243 5791 .L244: 2269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5792 .loc 1 2269 7 is_stmt 1 view .LVU1932 5793 00f8 2268 ldr r2, [r4] 5794 00fa 0825 movs r5, #8 5795 00fc 1562 str r5, [r2, #32] 2271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5796 .loc 1 2271 7 view .LVU1933 2271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5797 .loc 1 2271 12 is_stmt 0 view .LVU1934 ARM GAS /tmp/cciGf5I5.s page 226 5798 00fe D4F89020 ldr r2, [r4, #144] 2271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5799 .loc 1 2271 24 view .LVU1935 5800 0102 2A43 orrs r2, r2, r5 5801 0104 C4F89020 str r2, [r4, #144] 5802 .L243: 2275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5803 .loc 1 2275 5 is_stmt 1 view .LVU1936 2275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5804 .loc 1 2275 8 is_stmt 0 view .LVU1937 5805 0108 13F4006F tst r3, #2048 5806 010c 0CD0 beq .L245 2275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5807 .loc 1 2275 45 discriminator 1 view .LVU1938 5808 010e 10F0806F tst r0, #67108864 5809 0112 09D0 beq .L245 2277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5810 .loc 1 2277 7 is_stmt 1 view .LVU1939 5811 0114 2268 ldr r2, [r4] 5812 0116 4FF40065 mov r5, #2048 5813 011a 1562 str r5, [r2, #32] 2279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5814 .loc 1 2279 7 view .LVU1940 2279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5815 .loc 1 2279 12 is_stmt 0 view .LVU1941 5816 011c D4F89020 ldr r2, [r4, #144] 2279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5817 .loc 1 2279 24 view .LVU1942 5818 0120 42F02002 orr r2, r2, #32 5819 0124 C4F89020 str r2, [r4, #144] 5820 .L245: 2283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5821 .loc 1 2283 5 is_stmt 1 view .LVU1943 2283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5822 .loc 1 2283 14 is_stmt 0 view .LVU1944 5823 0128 D4F89020 ldr r2, [r4, #144] 2283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5824 .loc 1 2283 8 view .LVU1945 5825 012c 002A cmp r2, #0 5826 012e B0D0 beq .L233 2286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U) 5827 .loc 1 2286 7 is_stmt 1 view .LVU1946 2286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U) 5828 .loc 1 2286 10 is_stmt 0 view .LVU1947 5829 0130 13F0200F tst r3, #32 5830 0134 09D0 beq .L247 2287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** || ((cr3its & USART_CR3_RXFTIE) != 0U))) 5831 .loc 1 2287 11 view .LVU1948 5832 0136 10F0200F tst r0, #32 5833 013a 02D1 bne .L248 2288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5834 .loc 1 2288 15 view .LVU1949 5835 013c 11F0805F tst r1, #268435456 5836 0140 03D0 beq .L247 5837 .L248: 2290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5838 .loc 1 2290 9 is_stmt 1 view .LVU1950 ARM GAS /tmp/cciGf5I5.s page 227 2290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5839 .loc 1 2290 18 is_stmt 0 view .LVU1951 5840 0142 636F ldr r3, [r4, #116] 5841 .LVL504: 2290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5842 .loc 1 2290 12 view .LVU1952 5843 0144 0BB1 cbz r3, .L247 2292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5844 .loc 1 2292 11 is_stmt 1 view .LVU1953 5845 0146 2046 mov r0, r4 5846 .LVL505: 2292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5847 .loc 1 2292 11 is_stmt 0 view .LVU1954 5848 0148 9847 blx r3 5849 .LVL506: 5850 .L247: 2301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) || 5851 .loc 1 2301 7 is_stmt 1 view .LVU1955 2301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) || 5852 .loc 1 2301 17 is_stmt 0 view .LVU1956 5853 014a D4F89020 ldr r2, [r4, #144] 5854 .LVL507: 2302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 5855 .loc 1 2302 7 is_stmt 1 view .LVU1957 2302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 5856 .loc 1 2302 12 is_stmt 0 view .LVU1958 5857 014e 2368 ldr r3, [r4] 5858 0150 9B68 ldr r3, [r3, #8] 2302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 5859 .loc 1 2302 10 view .LVU1959 5860 0152 13F0400F tst r3, #64 5861 0156 02D1 bne .L249 2302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 5862 .loc 1 2302 66 discriminator 1 view .LVU1960 5863 0158 12F0280F tst r2, #40 5864 015c 2CD0 beq .L250 5865 .L249: 2308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5866 .loc 1 2308 9 is_stmt 1 view .LVU1961 5867 015e 2046 mov r0, r4 5868 0160 FFF7FEFF bl UART_EndRxTransfer 5869 .LVL508: 2311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5870 .loc 1 2311 9 view .LVU1962 2311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5871 .loc 1 2311 13 is_stmt 0 view .LVU1963 5872 0164 2368 ldr r3, [r4] 5873 0166 9B68 ldr r3, [r3, #8] 2311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5874 .loc 1 2311 12 view .LVU1964 5875 0168 13F0400F tst r3, #64 5876 016c 20D0 beq .L251 5877 .L252: 2314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5878 .loc 1 2314 11 is_stmt 1 discriminator 1 view .LVU1965 5879 .LBB789: 2314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cciGf5I5.s page 228 5880 .loc 1 2314 11 discriminator 1 view .LVU1966 2314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5881 .loc 1 2314 11 discriminator 1 view .LVU1967 2314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5882 .loc 1 2314 11 discriminator 1 view .LVU1968 5883 016e 2268 ldr r2, [r4] 5884 .LVL509: 5885 .LBB790: 5886 .LBI790: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5887 .loc 2 1151 31 view .LVU1969 5888 .LBB791: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 5889 .loc 2 1153 5 view .LVU1970 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5890 .loc 2 1155 4 view .LVU1971 5891 0170 02F10803 add r3, r2, #8 5892 .LVL510: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5893 .loc 2 1155 4 is_stmt 0 view .LVU1972 5894 .syntax unified 5895 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5896 0174 53E8003F ldrex r3, [r3] 5897 @ 0 "" 2 5898 .LVL511: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5899 .loc 2 1156 4 is_stmt 1 view .LVU1973 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5900 .loc 2 1156 4 is_stmt 0 view .LVU1974 5901 .thumb 5902 .syntax unified 5903 .LBE791: 5904 .LBE790: 2314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5905 .loc 1 2314 11 discriminator 1 view .LVU1975 5906 0178 23F04003 bic r3, r3, #64 5907 .LVL512: 2314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5908 .loc 1 2314 11 is_stmt 1 discriminator 1 view .LVU1976 5909 .LBB792: 5910 .LBI792: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5911 .loc 2 1202 31 view .LVU1977 5912 .LBB793: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 5913 .loc 2 1204 4 view .LVU1978 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5914 .loc 2 1206 4 view .LVU1979 5915 017c 0832 adds r2, r2, #8 5916 .LVL513: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5917 .loc 2 1206 4 is_stmt 0 view .LVU1980 5918 .syntax unified 5919 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5920 017e 42E80031 strex r1, r3, [r2] 5921 @ 0 "" 2 5922 .LVL514: ARM GAS /tmp/cciGf5I5.s page 229 5923 .loc 2 1207 4 is_stmt 1 view .LVU1981 5924 .loc 2 1207 4 is_stmt 0 view .LVU1982 5925 .thumb 5926 .syntax unified 5927 .LBE793: 5928 .LBE792: 2314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5929 .loc 1 2314 11 discriminator 1 view .LVU1983 5930 0182 0029 cmp r1, #0 5931 0184 F3D1 bne .L252 5932 .LBE789: 2314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5933 .loc 1 2314 11 is_stmt 1 discriminator 2 view .LVU1984 2317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5934 .loc 1 2317 11 view .LVU1985 2317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5935 .loc 1 2317 20 is_stmt 0 view .LVU1986 5936 0186 D4F88030 ldr r3, [r4, #128] 5937 .LVL515: 2317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5938 .loc 1 2317 14 view .LVU1987 5939 018a 6BB1 cbz r3, .L253 2321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5940 .loc 1 2321 13 is_stmt 1 view .LVU1988 2321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5941 .loc 1 2321 46 is_stmt 0 view .LVU1989 5942 018c 484A ldr r2, .L279+8 5943 018e 9A63 str r2, [r3, #56] 2324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5944 .loc 1 2324 13 is_stmt 1 view .LVU1990 2324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5945 .loc 1 2324 17 is_stmt 0 view .LVU1991 5946 0190 D4F88000 ldr r0, [r4, #128] 5947 0194 FFF7FEFF bl HAL_DMA_Abort_IT 5948 .LVL516: 2324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5949 .loc 1 2324 16 discriminator 1 view .LVU1992 5950 0198 0028 cmp r0, #0 5951 019a 3FF47AAF beq .L233 2327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5952 .loc 1 2327 15 is_stmt 1 view .LVU1993 2327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5953 .loc 1 2327 20 is_stmt 0 view .LVU1994 5954 019e D4F88000 ldr r0, [r4, #128] 2327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5955 .loc 1 2327 28 view .LVU1995 5956 01a2 836B ldr r3, [r0, #56] 2327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5957 .loc 1 2327 15 view .LVU1996 5958 01a4 9847 blx r3 5959 .LVL517: 5960 01a6 74E7 b .L233 5961 .L253: 2338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5962 .loc 1 2338 13 is_stmt 1 view .LVU1997 5963 01a8 2046 mov r0, r4 5964 01aa FFF7FEFF bl HAL_UART_ErrorCallback ARM GAS /tmp/cciGf5I5.s page 230 5965 .LVL518: 5966 01ae 70E7 b .L233 5967 .LVL519: 5968 .L251: 2351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5969 .loc 1 2351 11 view .LVU1998 5970 01b0 2046 mov r0, r4 5971 01b2 FFF7FEFF bl HAL_UART_ErrorCallback 5972 .LVL520: 5973 01b6 6CE7 b .L233 5974 .LVL521: 5975 .L250: 2364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5976 .loc 1 2364 9 view .LVU1999 5977 01b8 2046 mov r0, r4 5978 01ba FFF7FEFF bl HAL_UART_ErrorCallback 5979 .LVL522: 2366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5980 .loc 1 2366 9 view .LVU2000 2366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5981 .loc 1 2366 26 is_stmt 0 view .LVU2001 5982 01be 0023 movs r3, #0 5983 01c0 C4F89030 str r3, [r4, #144] 2369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5984 .loc 1 2369 5 is_stmt 1 view .LVU2002 5985 01c4 65E7 b .L233 5986 .LVL523: 5987 .L274: 2376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && ((cr1its & USART_ISR_IDLE) != 0U)) 5988 .loc 1 2376 7 is_stmt 0 view .LVU2003 5989 01c6 13F0100F tst r3, #16 5990 01ca 3FF43CAF beq .L254 2377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5991 .loc 1 2377 7 view .LVU2004 5992 01ce 10F0100F tst r0, #16 5993 01d2 3FF438AF beq .L254 2379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5994 .loc 1 2379 5 is_stmt 1 view .LVU2005 5995 01d6 1023 movs r3, #16 5996 .LVL524: 2379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5997 .loc 1 2379 5 is_stmt 0 view .LVU2006 5998 01d8 1362 str r3, [r2, #32] 2382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5999 .loc 1 2382 5 is_stmt 1 view .LVU2007 2382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6000 .loc 1 2382 9 is_stmt 0 view .LVU2008 6001 01da 2368 ldr r3, [r4] 6002 01dc 9B68 ldr r3, [r3, #8] 2382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6003 .loc 1 2382 8 view .LVU2009 6004 01de 13F0400F tst r3, #64 6005 01e2 67D0 beq .L255 6006 .LBB794: 2388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U) 6007 .loc 1 2388 7 is_stmt 1 view .LVU2010 2388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U) ARM GAS /tmp/cciGf5I5.s page 231 6008 .loc 1 2388 50 is_stmt 0 view .LVU2011 6009 01e4 D4F88010 ldr r1, [r4, #128] 6010 .LVL525: 2388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U) 6011 .loc 1 2388 50 view .LVU2012 6012 01e8 0A68 ldr r2, [r1] 6013 01ea 5368 ldr r3, [r2, #4] 2388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U) 6014 .loc 1 2388 16 view .LVU2013 6015 01ec 9BB2 uxth r3, r3 6016 .LVL526: 2389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize)) 6017 .loc 1 2389 7 is_stmt 1 view .LVU2014 2389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize)) 6018 .loc 1 2389 10 is_stmt 0 view .LVU2015 6019 01ee 002B cmp r3, #0 6020 01f0 4AD0 beq .L256 2390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6021 .loc 1 2390 43 view .LVU2016 6022 01f2 B4F85C00 ldrh r0, [r4, #92] 6023 .LVL527: 2390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6024 .loc 1 2390 11 view .LVU2017 6025 01f6 9842 cmp r0, r3 6026 01f8 46D9 bls .L256 2393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6027 .loc 1 2393 9 is_stmt 1 view .LVU2018 2393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6028 .loc 1 2393 28 is_stmt 0 view .LVU2019 6029 01fa A4F85E30 strh r3, [r4, #94] @ movhi 2396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6030 .loc 1 2396 9 is_stmt 1 view .LVU2020 2396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6031 .loc 1 2396 13 is_stmt 0 view .LVU2021 6032 01fe 0B68 ldr r3, [r1] 6033 .LVL528: 2396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6034 .loc 1 2396 13 view .LVU2022 6035 0200 1B68 ldr r3, [r3] 2396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6036 .loc 1 2396 12 view .LVU2023 6037 0202 13F0200F tst r3, #32 6038 0206 32D1 bne .L257 6039 .L258: 2399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6040 .loc 1 2399 11 is_stmt 1 discriminator 1 view .LVU2024 6041 .LBB795: 2399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6042 .loc 1 2399 11 discriminator 1 view .LVU2025 2399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6043 .loc 1 2399 11 discriminator 1 view .LVU2026 2399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6044 .loc 1 2399 11 discriminator 1 view .LVU2027 6045 0208 2268 ldr r2, [r4] 6046 .LVL529: 6047 .LBB796: 6048 .LBI796: ARM GAS /tmp/cciGf5I5.s page 232 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6049 .loc 2 1151 31 view .LVU2028 6050 .LBB797: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 6051 .loc 2 1153 5 view .LVU2029 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6052 .loc 2 1155 4 view .LVU2030 6053 .syntax unified 6054 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6055 020a 52E8003F ldrex r3, [r2] 6056 @ 0 "" 2 6057 .LVL530: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6058 .loc 2 1156 4 view .LVU2031 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6059 .loc 2 1156 4 is_stmt 0 view .LVU2032 6060 .thumb 6061 .syntax unified 6062 .LBE797: 6063 .LBE796: 2399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6064 .loc 1 2399 11 discriminator 1 view .LVU2033 6065 020e 23F48073 bic r3, r3, #256 6066 .LVL531: 2399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6067 .loc 1 2399 11 is_stmt 1 discriminator 1 view .LVU2034 6068 .LBB798: 6069 .LBI798: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6070 .loc 2 1202 31 view .LVU2035 6071 .LBB799: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 6072 .loc 2 1204 4 view .LVU2036 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6073 .loc 2 1206 4 view .LVU2037 6074 .syntax unified 6075 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6076 0212 42E80031 strex r1, r3, [r2] 6077 @ 0 "" 2 6078 .LVL532: 6079 .loc 2 1207 4 view .LVU2038 6080 .loc 2 1207 4 is_stmt 0 view .LVU2039 6081 .thumb 6082 .syntax unified 6083 .LBE799: 6084 .LBE798: 2399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6085 .loc 1 2399 11 discriminator 1 view .LVU2040 6086 0216 0029 cmp r1, #0 6087 0218 F6D1 bne .L258 6088 .LVL533: 6089 .L259: 2399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6090 .loc 1 2399 11 discriminator 1 view .LVU2041 6091 .LBE795: 2399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6092 .loc 1 2399 11 is_stmt 1 discriminator 2 view .LVU2042 ARM GAS /tmp/cciGf5I5.s page 233 2400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6093 .loc 1 2400 11 discriminator 1 view .LVU2043 6094 .LBB800: 2400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6095 .loc 1 2400 11 discriminator 1 view .LVU2044 2400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6096 .loc 1 2400 11 discriminator 1 view .LVU2045 2400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6097 .loc 1 2400 11 discriminator 1 view .LVU2046 6098 021a 2268 ldr r2, [r4] 6099 .LVL534: 6100 .LBB801: 6101 .LBI801: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6102 .loc 2 1151 31 view .LVU2047 6103 .LBB802: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 6104 .loc 2 1153 5 view .LVU2048 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6105 .loc 2 1155 4 view .LVU2049 6106 021c 02F10803 add r3, r2, #8 6107 .LVL535: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6108 .loc 2 1155 4 is_stmt 0 view .LVU2050 6109 .syntax unified 6110 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6111 0220 53E8003F ldrex r3, [r3] 6112 @ 0 "" 2 6113 .LVL536: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6114 .loc 2 1156 4 is_stmt 1 view .LVU2051 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6115 .loc 2 1156 4 is_stmt 0 view .LVU2052 6116 .thumb 6117 .syntax unified 6118 .LBE802: 6119 .LBE801: 2400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6120 .loc 1 2400 11 discriminator 1 view .LVU2053 6121 0224 23F00103 bic r3, r3, #1 6122 .LVL537: 2400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6123 .loc 1 2400 11 is_stmt 1 discriminator 1 view .LVU2054 6124 .LBB803: 6125 .LBI803: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6126 .loc 2 1202 31 view .LVU2055 6127 .LBB804: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 6128 .loc 2 1204 4 view .LVU2056 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6129 .loc 2 1206 4 view .LVU2057 6130 0228 0832 adds r2, r2, #8 6131 .LVL538: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6132 .loc 2 1206 4 is_stmt 0 view .LVU2058 6133 .syntax unified ARM GAS /tmp/cciGf5I5.s page 234 6134 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6135 022a 42E80031 strex r1, r3, [r2] 6136 @ 0 "" 2 6137 .LVL539: 6138 .loc 2 1207 4 is_stmt 1 view .LVU2059 6139 .loc 2 1207 4 is_stmt 0 view .LVU2060 6140 .thumb 6141 .syntax unified 6142 .LBE804: 6143 .LBE803: 2400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6144 .loc 1 2400 11 discriminator 1 view .LVU2061 6145 022e 0029 cmp r1, #0 6146 0230 F3D1 bne .L259 6147 .LVL540: 6148 .L260: 2400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6149 .loc 1 2400 11 discriminator 1 view .LVU2062 6150 .LBE800: 2400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6151 .loc 1 2400 11 is_stmt 1 discriminator 2 view .LVU2063 2404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6152 .loc 1 2404 11 discriminator 1 view .LVU2064 6153 .LBB805: 2404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6154 .loc 1 2404 11 discriminator 1 view .LVU2065 2404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6155 .loc 1 2404 11 discriminator 1 view .LVU2066 2404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6156 .loc 1 2404 11 discriminator 1 view .LVU2067 6157 0232 2268 ldr r2, [r4] 6158 .LVL541: 6159 .LBB806: 6160 .LBI806: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6161 .loc 2 1151 31 view .LVU2068 6162 .LBB807: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 6163 .loc 2 1153 5 view .LVU2069 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6164 .loc 2 1155 4 view .LVU2070 6165 0234 02F10803 add r3, r2, #8 6166 .LVL542: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6167 .loc 2 1155 4 is_stmt 0 view .LVU2071 6168 .syntax unified 6169 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6170 0238 53E8003F ldrex r3, [r3] 6171 @ 0 "" 2 6172 .LVL543: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6173 .loc 2 1156 4 is_stmt 1 view .LVU2072 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6174 .loc 2 1156 4 is_stmt 0 view .LVU2073 6175 .thumb 6176 .syntax unified 6177 .LBE807: ARM GAS /tmp/cciGf5I5.s page 235 6178 .LBE806: 2404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6179 .loc 1 2404 11 discriminator 1 view .LVU2074 6180 023c 23F04003 bic r3, r3, #64 6181 .LVL544: 2404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6182 .loc 1 2404 11 is_stmt 1 discriminator 1 view .LVU2075 6183 .LBB808: 6184 .LBI808: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6185 .loc 2 1202 31 view .LVU2076 6186 .LBB809: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 6187 .loc 2 1204 4 view .LVU2077 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6188 .loc 2 1206 4 view .LVU2078 6189 0240 0832 adds r2, r2, #8 6190 .LVL545: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6191 .loc 2 1206 4 is_stmt 0 view .LVU2079 6192 .syntax unified 6193 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6194 0242 42E80031 strex r1, r3, [r2] 6195 @ 0 "" 2 6196 .LVL546: 6197 .loc 2 1207 4 is_stmt 1 view .LVU2080 6198 .loc 2 1207 4 is_stmt 0 view .LVU2081 6199 .thumb 6200 .syntax unified 6201 .LBE809: 6202 .LBE808: 2404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6203 .loc 1 2404 11 discriminator 1 view .LVU2082 6204 0246 0029 cmp r1, #0 6205 0248 F3D1 bne .L260 6206 .LBE805: 2404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6207 .loc 1 2404 11 is_stmt 1 discriminator 2 view .LVU2083 2407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 6208 .loc 1 2407 11 view .LVU2084 2407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 6209 .loc 1 2407 26 is_stmt 0 view .LVU2085 6210 024a 2023 movs r3, #32 6211 .LVL547: 2407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 6212 .loc 1 2407 26 view .LVU2086 6213 024c C4F88C30 str r3, [r4, #140] 6214 .LVL548: 2408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6215 .loc 1 2408 11 is_stmt 1 view .LVU2087 2408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6216 .loc 1 2408 32 is_stmt 0 view .LVU2088 6217 0250 0023 movs r3, #0 6218 0252 E366 str r3, [r4, #108] 6219 .L261: 2410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6220 .loc 1 2410 11 is_stmt 1 discriminator 1 view .LVU2089 ARM GAS /tmp/cciGf5I5.s page 236 6221 .LBB810: 2410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6222 .loc 1 2410 11 discriminator 1 view .LVU2090 2410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6223 .loc 1 2410 11 discriminator 1 view .LVU2091 2410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6224 .loc 1 2410 11 discriminator 1 view .LVU2092 6225 0254 2268 ldr r2, [r4] 6226 .LVL549: 6227 .LBB811: 6228 .LBI811: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6229 .loc 2 1151 31 view .LVU2093 6230 .LBB812: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 6231 .loc 2 1153 5 view .LVU2094 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6232 .loc 2 1155 4 view .LVU2095 6233 .syntax unified 6234 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6235 0256 52E8003F ldrex r3, [r2] 6236 @ 0 "" 2 6237 .LVL550: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6238 .loc 2 1156 4 view .LVU2096 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6239 .loc 2 1156 4 is_stmt 0 view .LVU2097 6240 .thumb 6241 .syntax unified 6242 .LBE812: 6243 .LBE811: 2410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6244 .loc 1 2410 11 discriminator 1 view .LVU2098 6245 025a 23F01003 bic r3, r3, #16 6246 .LVL551: 2410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6247 .loc 1 2410 11 is_stmt 1 discriminator 1 view .LVU2099 6248 .LBB813: 6249 .LBI813: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6250 .loc 2 1202 31 view .LVU2100 6251 .LBB814: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 6252 .loc 2 1204 4 view .LVU2101 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6253 .loc 2 1206 4 view .LVU2102 6254 .syntax unified 6255 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6256 025e 42E80031 strex r1, r3, [r2] 6257 @ 0 "" 2 6258 .LVL552: 6259 .loc 2 1207 4 view .LVU2103 6260 .loc 2 1207 4 is_stmt 0 view .LVU2104 6261 .thumb 6262 .syntax unified 6263 .LBE814: 6264 .LBE813: ARM GAS /tmp/cciGf5I5.s page 237 2410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6265 .loc 1 2410 11 discriminator 1 view .LVU2105 6266 0262 0029 cmp r1, #0 6267 0264 F6D1 bne .L261 6268 .LBE810: 2410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6269 .loc 1 2410 11 is_stmt 1 discriminator 2 view .LVU2106 2413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6270 .loc 1 2413 11 view .LVU2107 2413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6271 .loc 1 2413 17 is_stmt 0 view .LVU2108 6272 0266 D4F88000 ldr r0, [r4, #128] 6273 026a FFF7FEFF bl HAL_DMA_Abort 6274 .LVL553: 6275 .L257: 2418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6276 .loc 1 2418 9 is_stmt 1 view .LVU2109 2418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6277 .loc 1 2418 28 is_stmt 0 view .LVU2110 6278 026e 0223 movs r3, #2 6279 0270 2367 str r3, [r4, #112] 2425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6280 .loc 1 2425 9 is_stmt 1 view .LVU2111 2425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6281 .loc 1 2425 49 is_stmt 0 view .LVU2112 6282 0272 B4F85C10 ldrh r1, [r4, #92] 2425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6283 .loc 1 2425 69 view .LVU2113 6284 0276 B4F85E30 ldrh r3, [r4, #94] 6285 027a 9BB2 uxth r3, r3 2425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6286 .loc 1 2425 9 view .LVU2114 6287 027c C91A subs r1, r1, r3 6288 027e 89B2 uxth r1, r1 6289 0280 2046 mov r0, r4 6290 0282 FFF7FEFF bl HAL_UARTEx_RxEventCallback 6291 .LVL554: 6292 0286 04E7 b .L233 6293 .LVL555: 6294 .L256: 2432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6295 .loc 1 2432 9 is_stmt 1 view .LVU2115 2432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6296 .loc 1 2432 42 is_stmt 0 view .LVU2116 6297 0288 B4F85C10 ldrh r1, [r4, #92] 2432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6298 .loc 1 2432 12 view .LVU2117 6299 028c 9942 cmp r1, r3 6300 028e 7FF400AF bne .L233 2434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6301 .loc 1 2434 11 is_stmt 1 view .LVU2118 2434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6302 .loc 1 2434 15 is_stmt 0 view .LVU2119 6303 0292 1368 ldr r3, [r2] 6304 .LVL556: 2434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6305 .loc 1 2434 14 view .LVU2120 ARM GAS /tmp/cciGf5I5.s page 238 6306 0294 13F0200F tst r3, #32 6307 0298 3FF4FBAE beq .L233 2438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6308 .loc 1 2438 13 is_stmt 1 view .LVU2121 2438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6309 .loc 1 2438 32 is_stmt 0 view .LVU2122 6310 029c 0223 movs r3, #2 6311 029e 2367 str r3, [r4, #112] 2445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6312 .loc 1 2445 13 is_stmt 1 view .LVU2123 6313 02a0 2046 mov r0, r4 6314 02a2 FFF7FEFF bl HAL_UARTEx_RxEventCallback 6315 .LVL557: 2450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6316 .loc 1 2450 7 view .LVU2124 6317 02a6 F4E6 b .L233 6318 .L280: 6319 .align 2 6320 .L279: 6321 02a8 01000010 .word 268435457 6322 02ac 20010004 .word 67109152 6323 02b0 00000000 .word UART_DMAAbortOnError 6324 .LVL558: 6325 .L255: 2450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6326 .loc 1 2450 7 is_stmt 0 view .LVU2125 6327 .LBE794: 6328 .LBB815: 2457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 6329 .loc 1 2457 7 is_stmt 1 view .LVU2126 2457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 6330 .loc 1 2457 34 is_stmt 0 view .LVU2127 6331 02b4 B4F85C10 ldrh r1, [r4, #92] 6332 .LVL559: 2457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 6333 .loc 1 2457 54 view .LVU2128 6334 02b8 B4F85E30 ldrh r3, [r4, #94] 6335 02bc 9BB2 uxth r3, r3 2457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 6336 .loc 1 2457 16 view .LVU2129 6337 02be C91A subs r1, r1, r3 6338 02c0 89B2 uxth r1, r1 6339 .LVL560: 2458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (nb_rx_data > 0U)) 6340 .loc 1 2458 7 is_stmt 1 view .LVU2130 2458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (nb_rx_data > 0U)) 6341 .loc 1 2458 17 is_stmt 0 view .LVU2131 6342 02c2 B4F85E30 ldrh r3, [r4, #94] 6343 02c6 9BB2 uxth r3, r3 2458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (nb_rx_data > 0U)) 6344 .loc 1 2458 10 view .LVU2132 6345 02c8 002B cmp r3, #0 6346 02ca 3FF4E2AE beq .L233 2459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6347 .loc 1 2459 11 view .LVU2133 6348 02ce 0029 cmp r1, #0 6349 02d0 3FF4DFAE beq .L233 ARM GAS /tmp/cciGf5I5.s page 239 6350 .LVL561: 6351 .L264: 2462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6352 .loc 1 2462 9 is_stmt 1 discriminator 1 view .LVU2134 6353 .LBB816: 2462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6354 .loc 1 2462 9 discriminator 1 view .LVU2135 2462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6355 .loc 1 2462 9 discriminator 1 view .LVU2136 2462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6356 .loc 1 2462 9 discriminator 1 view .LVU2137 6357 02d4 2268 ldr r2, [r4] 6358 .LVL562: 6359 .LBB817: 6360 .LBI817: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6361 .loc 2 1151 31 view .LVU2138 6362 .LBB818: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 6363 .loc 2 1153 5 view .LVU2139 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6364 .loc 2 1155 4 view .LVU2140 6365 .syntax unified 6366 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6367 02d6 52E8003F ldrex r3, [r2] 6368 @ 0 "" 2 6369 .LVL563: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6370 .loc 2 1156 4 view .LVU2141 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6371 .loc 2 1156 4 is_stmt 0 view .LVU2142 6372 .thumb 6373 .syntax unified 6374 .LBE818: 6375 .LBE817: 2462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6376 .loc 1 2462 9 discriminator 1 view .LVU2143 6377 02da 23F49073 bic r3, r3, #288 6378 .LVL564: 2462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6379 .loc 1 2462 9 is_stmt 1 discriminator 1 view .LVU2144 6380 .LBB819: 6381 .LBI819: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6382 .loc 2 1202 31 view .LVU2145 6383 .LBB820: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 6384 .loc 2 1204 4 view .LVU2146 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6385 .loc 2 1206 4 view .LVU2147 6386 .syntax unified 6387 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6388 02de 42E80030 strex r0, r3, [r2] 6389 @ 0 "" 2 6390 .LVL565: 6391 .loc 2 1207 4 view .LVU2148 6392 .loc 2 1207 4 is_stmt 0 view .LVU2149 ARM GAS /tmp/cciGf5I5.s page 240 6393 .thumb 6394 .syntax unified 6395 .LBE820: 6396 .LBE819: 2462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6397 .loc 1 2462 9 discriminator 1 view .LVU2150 6398 02e2 0028 cmp r0, #0 6399 02e4 F6D1 bne .L264 6400 .LVL566: 6401 .L265: 2462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6402 .loc 1 2462 9 discriminator 1 view .LVU2151 6403 .LBE816: 2462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6404 .loc 1 2462 9 is_stmt 1 discriminator 2 view .LVU2152 2465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6405 .loc 1 2465 9 discriminator 1 view .LVU2153 6406 .LBB821: 2465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6407 .loc 1 2465 9 discriminator 1 view .LVU2154 2465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6408 .loc 1 2465 9 discriminator 1 view .LVU2155 2465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6409 .loc 1 2465 9 discriminator 1 view .LVU2156 6410 02e6 2268 ldr r2, [r4] 6411 .LVL567: 6412 .LBB822: 6413 .LBI822: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6414 .loc 2 1151 31 view .LVU2157 6415 .LBB823: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 6416 .loc 2 1153 5 view .LVU2158 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6417 .loc 2 1155 4 view .LVU2159 6418 02e8 02F10803 add r3, r2, #8 6419 .LVL568: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6420 .loc 2 1155 4 is_stmt 0 view .LVU2160 6421 .syntax unified 6422 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6423 02ec 53E8003F ldrex r3, [r3] 6424 @ 0 "" 2 6425 .LVL569: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6426 .loc 2 1156 4 is_stmt 1 view .LVU2161 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6427 .loc 2 1156 4 is_stmt 0 view .LVU2162 6428 .thumb 6429 .syntax unified 6430 .LBE823: 6431 .LBE822: 2465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6432 .loc 1 2465 9 discriminator 1 view .LVU2163 6433 02f0 23F08053 bic r3, r3, #268435456 6434 02f4 23F00103 bic r3, r3, #1 6435 .LVL570: ARM GAS /tmp/cciGf5I5.s page 241 2465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6436 .loc 1 2465 9 is_stmt 1 discriminator 1 view .LVU2164 6437 .LBB824: 6438 .LBI824: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6439 .loc 2 1202 31 view .LVU2165 6440 .LBB825: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 6441 .loc 2 1204 4 view .LVU2166 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6442 .loc 2 1206 4 view .LVU2167 6443 02f8 0832 adds r2, r2, #8 6444 .LVL571: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6445 .loc 2 1206 4 is_stmt 0 view .LVU2168 6446 .syntax unified 6447 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6448 02fa 42E80030 strex r0, r3, [r2] 6449 @ 0 "" 2 6450 .LVL572: 6451 .loc 2 1207 4 is_stmt 1 view .LVU2169 6452 .loc 2 1207 4 is_stmt 0 view .LVU2170 6453 .thumb 6454 .syntax unified 6455 .LBE825: 6456 .LBE824: 2465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6457 .loc 1 2465 9 discriminator 1 view .LVU2171 6458 02fe 0028 cmp r0, #0 6459 0300 F1D1 bne .L265 6460 .LBE821: 2465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6461 .loc 1 2465 9 is_stmt 1 discriminator 2 view .LVU2172 2468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 6462 .loc 1 2468 9 view .LVU2173 2468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 6463 .loc 1 2468 24 is_stmt 0 view .LVU2174 6464 0302 2023 movs r3, #32 6465 .LVL573: 2468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 6466 .loc 1 2468 24 view .LVU2175 6467 0304 C4F88C30 str r3, [r4, #140] 2469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6468 .loc 1 2469 9 is_stmt 1 view .LVU2176 2469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6469 .loc 1 2469 30 is_stmt 0 view .LVU2177 6470 0308 0023 movs r3, #0 6471 030a E366 str r3, [r4, #108] 2472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6472 .loc 1 2472 9 is_stmt 1 view .LVU2178 2472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6473 .loc 1 2472 22 is_stmt 0 view .LVU2179 6474 030c 6367 str r3, [r4, #116] 6475 .L266: 2474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6476 .loc 1 2474 9 is_stmt 1 discriminator 1 view .LVU2180 6477 .LBB826: ARM GAS /tmp/cciGf5I5.s page 242 2474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6478 .loc 1 2474 9 discriminator 1 view .LVU2181 2474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6479 .loc 1 2474 9 discriminator 1 view .LVU2182 2474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6480 .loc 1 2474 9 discriminator 1 view .LVU2183 6481 030e 2268 ldr r2, [r4] 6482 .LVL574: 6483 .LBB827: 6484 .LBI827: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6485 .loc 2 1151 31 view .LVU2184 6486 .LBB828: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 6487 .loc 2 1153 5 view .LVU2185 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6488 .loc 2 1155 4 view .LVU2186 6489 .syntax unified 6490 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6491 0310 52E8003F ldrex r3, [r2] 6492 @ 0 "" 2 6493 .LVL575: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6494 .loc 2 1156 4 view .LVU2187 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6495 .loc 2 1156 4 is_stmt 0 view .LVU2188 6496 .thumb 6497 .syntax unified 6498 .LBE828: 6499 .LBE827: 2474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6500 .loc 1 2474 9 discriminator 1 view .LVU2189 6501 0314 23F01003 bic r3, r3, #16 6502 .LVL576: 2474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6503 .loc 1 2474 9 is_stmt 1 discriminator 1 view .LVU2190 6504 .LBB829: 6505 .LBI829: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6506 .loc 2 1202 31 view .LVU2191 6507 .LBB830: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 6508 .loc 2 1204 4 view .LVU2192 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6509 .loc 2 1206 4 view .LVU2193 6510 .syntax unified 6511 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6512 0318 42E80030 strex r0, r3, [r2] 6513 @ 0 "" 2 6514 .LVL577: 6515 .loc 2 1207 4 view .LVU2194 6516 .loc 2 1207 4 is_stmt 0 view .LVU2195 6517 .thumb 6518 .syntax unified 6519 .LBE830: 6520 .LBE829: 2474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cciGf5I5.s page 243 6521 .loc 1 2474 9 discriminator 1 view .LVU2196 6522 031c 0028 cmp r0, #0 6523 031e F6D1 bne .L266 6524 .LBE826: 2474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6525 .loc 1 2474 9 is_stmt 1 discriminator 2 view .LVU2197 2478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6526 .loc 1 2478 9 view .LVU2198 2478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6527 .loc 1 2478 28 is_stmt 0 view .LVU2199 6528 0320 0223 movs r3, #2 6529 .LVL578: 2478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6530 .loc 1 2478 28 view .LVU2200 6531 0322 2367 str r3, [r4, #112] 2485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6532 .loc 1 2485 9 is_stmt 1 view .LVU2201 6533 0324 2046 mov r0, r4 6534 0326 FFF7FEFF bl HAL_UARTEx_RxEventCallback 6535 .LVL579: 2488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6536 .loc 1 2488 7 view .LVU2202 6537 032a B2E6 b .L233 6538 .LVL580: 6539 .L275: 2488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6540 .loc 1 2488 7 is_stmt 0 view .LVU2203 6541 .LBE815: 2495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6542 .loc 1 2495 5 is_stmt 1 view .LVU2204 6543 032c 4FF48013 mov r3, #1048576 6544 .LVL581: 2495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6545 .loc 1 2495 5 is_stmt 0 view .LVU2205 6546 0330 1362 str r3, [r2, #32] 2505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6547 .loc 1 2505 5 is_stmt 1 view .LVU2206 6548 0332 2046 mov r0, r4 6549 .LVL582: 2505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6550 .loc 1 2505 5 is_stmt 0 view .LVU2207 6551 0334 FFF7FEFF bl HAL_UARTEx_WakeupCallback 6552 .LVL583: 2507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6553 .loc 1 2507 5 is_stmt 1 view .LVU2208 6554 0338 ABE6 b .L233 6555 .LVL584: 6556 .L269: 2515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6557 .loc 1 2515 5 view .LVU2209 2515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6558 .loc 1 2515 14 is_stmt 0 view .LVU2210 6559 033a A36F ldr r3, [r4, #120] 6560 .LVL585: 2515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6561 .loc 1 2515 8 view .LVU2211 6562 033c 002B cmp r3, #0 ARM GAS /tmp/cciGf5I5.s page 244 6563 033e 3FF4A8AE beq .L233 2517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6564 .loc 1 2517 7 is_stmt 1 view .LVU2212 6565 0342 2046 mov r0, r4 6566 .LVL586: 2517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6567 .loc 1 2517 7 is_stmt 0 view .LVU2213 6568 0344 9847 blx r3 6569 .LVL587: 2519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6570 .loc 1 2519 5 is_stmt 1 view .LVU2214 6571 0346 A4E6 b .L233 6572 .LVL588: 6573 .L276: 2525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return; 6574 .loc 1 2525 5 view .LVU2215 6575 0348 2046 mov r0, r4 6576 .LVL589: 2525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return; 6577 .loc 1 2525 5 is_stmt 0 view .LVU2216 6578 034a FFF7FEFF bl UART_EndTransmit_IT 6579 .LVL590: 2526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6580 .loc 1 2526 5 is_stmt 1 view .LVU2217 6581 034e A0E6 b .L233 6582 .LVL591: 6583 .L277: 2537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6584 .loc 1 2537 5 view .LVU2218 6585 0350 2046 mov r0, r4 6586 .LVL592: 2537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6587 .loc 1 2537 5 is_stmt 0 view .LVU2219 6588 0352 FFF7FEFF bl HAL_UARTEx_TxFifoEmptyCallback 6589 .LVL593: 2539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6590 .loc 1 2539 5 is_stmt 1 view .LVU2220 6591 0356 9CE6 b .L233 6592 .LVL594: 6593 .L278: 2550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6594 .loc 1 2550 5 view .LVU2221 6595 0358 2046 mov r0, r4 6596 .LVL595: 2550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6597 .loc 1 2550 5 is_stmt 0 view .LVU2222 6598 035a FFF7FEFF bl HAL_UARTEx_RxFifoFullCallback 6599 .LVL596: 2552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6600 .loc 1 2552 5 is_stmt 1 view .LVU2223 6601 035e 98E6 b .L233 6602 .cfi_endproc 6603 .LFE351: 6605 .section .text.UART_RxISR_8BIT,"ax",%progbits 6606 .align 1 6607 .syntax unified 6608 .thumb ARM GAS /tmp/cciGf5I5.s page 245 6609 .thumb_func 6611 UART_RxISR_8BIT: 6612 .LVL597: 6613 .LFB395: 4172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 4174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief RX interrupt handler for 7 or 8 bits data word length . 4175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 4176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 4177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 4178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_RxISR_8BIT(UART_HandleTypeDef *huart) 4179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6614 .loc 1 4179 1 view -0 6615 .cfi_startproc 6616 @ args = 0, pretend = 0, frame = 0 6617 @ frame_needed = 0, uses_anonymous_args = 0 6618 .loc 1 4179 1 is_stmt 0 view .LVU2225 6619 0000 08B5 push {r3, lr} 6620 .LCFI25: 6621 .cfi_def_cfa_offset 8 6622 .cfi_offset 3, -8 6623 .cfi_offset 14, -4 4180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t uhMask = huart->Mask; 6624 .loc 1 4180 3 is_stmt 1 view .LVU2226 6625 .loc 1 4180 12 is_stmt 0 view .LVU2227 6626 0002 B0F86030 ldrh r3, [r0, #96] 6627 .LVL598: 4181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t uhdata; 6628 .loc 1 4181 3 is_stmt 1 view .LVU2228 4182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Rx process is ongoing */ 4184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX) 6629 .loc 1 4184 3 view .LVU2229 6630 .loc 1 4184 12 is_stmt 0 view .LVU2230 6631 0006 D0F88C20 ldr r2, [r0, #140] 6632 .loc 1 4184 6 view .LVU2231 6633 000a 222A cmp r2, #34 6634 000c 05D0 beq .L292 4185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR); 4187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask); 4188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr++; 4189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 4190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxXferCount == 0U) 4192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupts */ 4194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE)); 4195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 4197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */ 4200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear RxISR function pointer */ 4203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL; ARM GAS /tmp/cciGf5I5.s page 246 4204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Initialize type of RxEvent to Transfer Complete */ 4206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 4207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance))) 4209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that USART RTOEN bit is set */ 4211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U) 4212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */ 4214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_RTOIE); 4215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check current reception Mode : 4219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** If Reception till IDLE event has been selected : */ 4220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 4221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set reception type to Standard */ 4223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable IDLE interrupt */ 4226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 4227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE) == SET) 4229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear IDLE Flag */ 4231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF); 4232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 4235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx Event callback*/ 4236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize); 4237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 4238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 4239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize); 4240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 4241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 4243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Standard reception API called */ 4245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 4246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx complete callback*/ 4247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxCpltCallback(huart); 4248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 4249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/ 4250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart); 4251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 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); 6635 .loc 1 4258 5 is_stmt 1 view .LVU2232 6636 000e 0268 ldr r2, [r0] ARM GAS /tmp/cciGf5I5.s page 247 6637 0010 9369 ldr r3, [r2, #24] 6638 .LVL599: 6639 .loc 1 4258 5 is_stmt 0 view .LVU2233 6640 0012 43F00803 orr r3, r3, #8 6641 0016 9361 str r3, [r2, #24] 6642 .LVL600: 6643 .L281: 4259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6644 .loc 1 4260 1 view .LVU2234 6645 0018 08BD pop {r3, pc} 6646 .LVL601: 6647 .L292: 4186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask); 6648 .loc 1 4186 5 is_stmt 1 view .LVU2235 4186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask); 6649 .loc 1 4186 25 is_stmt 0 view .LVU2236 6650 001a 0268 ldr r2, [r0] 6651 001c 516A ldr r1, [r2, #36] 6652 .LVL602: 4187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr++; 6653 .loc 1 4187 5 is_stmt 1 view .LVU2237 4187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr++; 6654 .loc 1 4187 45 is_stmt 0 view .LVU2238 6655 001e DBB2 uxtb r3, r3 6656 .LVL603: 4187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr++; 6657 .loc 1 4187 11 view .LVU2239 6658 0020 826D ldr r2, [r0, #88] 4187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr++; 6659 .loc 1 4187 26 view .LVU2240 6660 0022 0B40 ands r3, r3, r1 4187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr++; 6661 .loc 1 4187 24 view .LVU2241 6662 0024 1370 strb r3, [r2] 6663 .LVL604: 4188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 6664 .loc 1 4188 5 is_stmt 1 view .LVU2242 4188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 6665 .loc 1 4188 10 is_stmt 0 view .LVU2243 6666 0026 836D ldr r3, [r0, #88] 4188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 6667 .loc 1 4188 22 view .LVU2244 6668 0028 0133 adds r3, r3, #1 6669 002a 8365 str r3, [r0, #88] 4189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6670 .loc 1 4189 5 is_stmt 1 view .LVU2245 4189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6671 .loc 1 4189 10 is_stmt 0 view .LVU2246 6672 002c B0F85E30 ldrh r3, [r0, #94] 6673 0030 9BB2 uxth r3, r3 4189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6674 .loc 1 4189 23 view .LVU2247 6675 0032 013B subs r3, r3, #1 6676 0034 9BB2 uxth r3, r3 6677 0036 A0F85E30 strh r3, [r0, #94] @ movhi 4191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cciGf5I5.s page 248 6678 .loc 1 4191 5 is_stmt 1 view .LVU2248 4191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6679 .loc 1 4191 14 is_stmt 0 view .LVU2249 6680 003a B0F85E30 ldrh r3, [r0, #94] 6681 003e 9BB2 uxth r3, r3 4191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6682 .loc 1 4191 8 view .LVU2250 6683 0040 002B cmp r3, #0 6684 0042 E9D1 bne .L281 6685 .LVL605: 6686 .L284: 4194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6687 .loc 1 4194 7 is_stmt 1 discriminator 1 view .LVU2251 6688 .LBB831: 4194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6689 .loc 1 4194 7 discriminator 1 view .LVU2252 4194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6690 .loc 1 4194 7 discriminator 1 view .LVU2253 4194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6691 .loc 1 4194 7 discriminator 1 view .LVU2254 6692 0044 0268 ldr r2, [r0] 6693 .LVL606: 6694 .LBB832: 6695 .LBI832: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6696 .loc 2 1151 31 view .LVU2255 6697 .LBB833: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 6698 .loc 2 1153 5 view .LVU2256 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6699 .loc 2 1155 4 view .LVU2257 6700 .syntax unified 6701 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6702 0046 52E8003F ldrex r3, [r2] 6703 @ 0 "" 2 6704 .LVL607: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6705 .loc 2 1156 4 view .LVU2258 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6706 .loc 2 1156 4 is_stmt 0 view .LVU2259 6707 .thumb 6708 .syntax unified 6709 .LBE833: 6710 .LBE832: 4194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6711 .loc 1 4194 7 discriminator 1 view .LVU2260 6712 004a 23F49073 bic r3, r3, #288 6713 .LVL608: 4194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6714 .loc 1 4194 7 is_stmt 1 discriminator 1 view .LVU2261 6715 .LBB834: 6716 .LBI834: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6717 .loc 2 1202 31 view .LVU2262 6718 .LBB835: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 6719 .loc 2 1204 4 view .LVU2263 ARM GAS /tmp/cciGf5I5.s page 249 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6720 .loc 2 1206 4 view .LVU2264 6721 .syntax unified 6722 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6723 004e 42E80031 strex r1, r3, [r2] 6724 @ 0 "" 2 6725 .LVL609: 6726 .loc 2 1207 4 view .LVU2265 6727 .loc 2 1207 4 is_stmt 0 view .LVU2266 6728 .thumb 6729 .syntax unified 6730 .LBE835: 6731 .LBE834: 4194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6732 .loc 1 4194 7 discriminator 1 view .LVU2267 6733 0052 0029 cmp r1, #0 6734 0054 F6D1 bne .L284 6735 .LVL610: 6736 .L285: 4194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6737 .loc 1 4194 7 discriminator 1 view .LVU2268 6738 .LBE831: 4194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6739 .loc 1 4194 7 is_stmt 1 discriminator 2 view .LVU2269 4197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6740 .loc 1 4197 7 discriminator 1 view .LVU2270 6741 .LBB836: 4197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6742 .loc 1 4197 7 discriminator 1 view .LVU2271 4197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6743 .loc 1 4197 7 discriminator 1 view .LVU2272 4197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6744 .loc 1 4197 7 discriminator 1 view .LVU2273 6745 0056 0268 ldr r2, [r0] 6746 .LVL611: 6747 .LBB837: 6748 .LBI837: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6749 .loc 2 1151 31 view .LVU2274 6750 .LBB838: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 6751 .loc 2 1153 5 view .LVU2275 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6752 .loc 2 1155 4 view .LVU2276 6753 0058 02F10803 add r3, r2, #8 6754 .LVL612: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6755 .loc 2 1155 4 is_stmt 0 view .LVU2277 6756 .syntax unified 6757 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6758 005c 53E8003F ldrex r3, [r3] 6759 @ 0 "" 2 6760 .LVL613: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6761 .loc 2 1156 4 is_stmt 1 view .LVU2278 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6762 .loc 2 1156 4 is_stmt 0 view .LVU2279 ARM GAS /tmp/cciGf5I5.s page 250 6763 .thumb 6764 .syntax unified 6765 .LBE838: 6766 .LBE837: 4197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6767 .loc 1 4197 7 discriminator 1 view .LVU2280 6768 0060 23F00103 bic r3, r3, #1 6769 .LVL614: 4197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6770 .loc 1 4197 7 is_stmt 1 discriminator 1 view .LVU2281 6771 .LBB839: 6772 .LBI839: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6773 .loc 2 1202 31 view .LVU2282 6774 .LBB840: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 6775 .loc 2 1204 4 view .LVU2283 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6776 .loc 2 1206 4 view .LVU2284 6777 0064 0832 adds r2, r2, #8 6778 .LVL615: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6779 .loc 2 1206 4 is_stmt 0 view .LVU2285 6780 .syntax unified 6781 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6782 0066 42E80031 strex r1, r3, [r2] 6783 @ 0 "" 2 6784 .LVL616: 6785 .loc 2 1207 4 is_stmt 1 view .LVU2286 6786 .loc 2 1207 4 is_stmt 0 view .LVU2287 6787 .thumb 6788 .syntax unified 6789 .LBE840: 6790 .LBE839: 4197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6791 .loc 1 4197 7 discriminator 1 view .LVU2288 6792 006a 0029 cmp r1, #0 6793 006c F3D1 bne .L285 6794 .LBE836: 4197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6795 .loc 1 4197 7 is_stmt 1 discriminator 2 view .LVU2289 4200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6796 .loc 1 4200 7 view .LVU2290 4200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6797 .loc 1 4200 22 is_stmt 0 view .LVU2291 6798 006e 2023 movs r3, #32 6799 .LVL617: 4200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6800 .loc 1 4200 22 view .LVU2292 6801 0070 C0F88C30 str r3, [r0, #140] 4203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6802 .loc 1 4203 7 is_stmt 1 view .LVU2293 4203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6803 .loc 1 4203 20 is_stmt 0 view .LVU2294 6804 0074 0023 movs r3, #0 6805 0076 4367 str r3, [r0, #116] 4206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cciGf5I5.s page 251 6806 .loc 1 4206 7 is_stmt 1 view .LVU2295 4206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6807 .loc 1 4206 26 is_stmt 0 view .LVU2296 6808 0078 0367 str r3, [r0, #112] 4208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6809 .loc 1 4208 7 is_stmt 1 view .LVU2297 4208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6810 .loc 1 4208 13 is_stmt 0 view .LVU2298 6811 007a 0368 ldr r3, [r0] 4208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6812 .loc 1 4208 10 view .LVU2299 6813 007c 164A ldr r2, .L293 6814 007e 9342 cmp r3, r2 6815 0080 0CD0 beq .L286 4211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6816 .loc 1 4211 9 is_stmt 1 view .LVU2300 4211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6817 .loc 1 4211 13 is_stmt 0 view .LVU2301 6818 0082 5B68 ldr r3, [r3, #4] 4211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6819 .loc 1 4211 12 view .LVU2302 6820 0084 13F4000F tst r3, #8388608 6821 0088 08D0 beq .L286 6822 .L287: 4214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6823 .loc 1 4214 11 is_stmt 1 discriminator 1 view .LVU2303 6824 .LBB841: 4214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6825 .loc 1 4214 11 discriminator 1 view .LVU2304 4214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6826 .loc 1 4214 11 discriminator 1 view .LVU2305 4214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6827 .loc 1 4214 11 discriminator 1 view .LVU2306 6828 008a 0268 ldr r2, [r0] 6829 .LVL618: 6830 .LBB842: 6831 .LBI842: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6832 .loc 2 1151 31 view .LVU2307 6833 .LBB843: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 6834 .loc 2 1153 5 view .LVU2308 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6835 .loc 2 1155 4 view .LVU2309 6836 .syntax unified 6837 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6838 008c 52E8003F ldrex r3, [r2] 6839 @ 0 "" 2 6840 .LVL619: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6841 .loc 2 1156 4 view .LVU2310 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6842 .loc 2 1156 4 is_stmt 0 view .LVU2311 6843 .thumb 6844 .syntax unified 6845 .LBE843: 6846 .LBE842: ARM GAS /tmp/cciGf5I5.s page 252 4214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6847 .loc 1 4214 11 discriminator 1 view .LVU2312 6848 0090 23F08063 bic r3, r3, #67108864 6849 .LVL620: 4214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6850 .loc 1 4214 11 is_stmt 1 discriminator 1 view .LVU2313 6851 .LBB844: 6852 .LBI844: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6853 .loc 2 1202 31 view .LVU2314 6854 .LBB845: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 6855 .loc 2 1204 4 view .LVU2315 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6856 .loc 2 1206 4 view .LVU2316 6857 .syntax unified 6858 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6859 0094 42E80031 strex r1, r3, [r2] 6860 @ 0 "" 2 6861 .LVL621: 6862 .loc 2 1207 4 view .LVU2317 6863 .loc 2 1207 4 is_stmt 0 view .LVU2318 6864 .thumb 6865 .syntax unified 6866 .LBE845: 6867 .LBE844: 4214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6868 .loc 1 4214 11 discriminator 1 view .LVU2319 6869 0098 0029 cmp r1, #0 6870 009a F6D1 bne .L287 6871 .LVL622: 6872 .L286: 4214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6873 .loc 1 4214 11 discriminator 1 view .LVU2320 6874 .LBE841: 4214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6875 .loc 1 4214 11 is_stmt 1 discriminator 2 view .LVU2321 4220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6876 .loc 1 4220 7 view .LVU2322 4220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6877 .loc 1 4220 16 is_stmt 0 view .LVU2323 6878 009c C36E ldr r3, [r0, #108] 4220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6879 .loc 1 4220 10 view .LVU2324 6880 009e 012B cmp r3, #1 6881 00a0 16D1 bne .L288 4223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6882 .loc 1 4223 9 is_stmt 1 view .LVU2325 4223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6883 .loc 1 4223 30 is_stmt 0 view .LVU2326 6884 00a2 0023 movs r3, #0 6885 00a4 C366 str r3, [r0, #108] 6886 .L289: 4226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6887 .loc 1 4226 9 is_stmt 1 discriminator 1 view .LVU2327 6888 .LBB846: 4226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cciGf5I5.s page 253 6889 .loc 1 4226 9 discriminator 1 view .LVU2328 4226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6890 .loc 1 4226 9 discriminator 1 view .LVU2329 4226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6891 .loc 1 4226 9 discriminator 1 view .LVU2330 6892 00a6 0268 ldr r2, [r0] 6893 .LVL623: 6894 .LBB847: 6895 .LBI847: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6896 .loc 2 1151 31 view .LVU2331 6897 .LBB848: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 6898 .loc 2 1153 5 view .LVU2332 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6899 .loc 2 1155 4 view .LVU2333 6900 .syntax unified 6901 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6902 00a8 52E8003F ldrex r3, [r2] 6903 @ 0 "" 2 6904 .LVL624: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6905 .loc 2 1156 4 view .LVU2334 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6906 .loc 2 1156 4 is_stmt 0 view .LVU2335 6907 .thumb 6908 .syntax unified 6909 .LBE848: 6910 .LBE847: 4226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6911 .loc 1 4226 9 discriminator 1 view .LVU2336 6912 00ac 23F01003 bic r3, r3, #16 6913 .LVL625: 4226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6914 .loc 1 4226 9 is_stmt 1 discriminator 1 view .LVU2337 6915 .LBB849: 6916 .LBI849: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6917 .loc 2 1202 31 view .LVU2338 6918 .LBB850: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 6919 .loc 2 1204 4 view .LVU2339 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6920 .loc 2 1206 4 view .LVU2340 6921 .syntax unified 6922 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6923 00b0 42E80031 strex r1, r3, [r2] 6924 @ 0 "" 2 6925 .LVL626: 6926 .loc 2 1207 4 view .LVU2341 6927 .loc 2 1207 4 is_stmt 0 view .LVU2342 6928 .thumb 6929 .syntax unified 6930 .LBE850: 6931 .LBE849: 4226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6932 .loc 1 4226 9 discriminator 1 view .LVU2343 ARM GAS /tmp/cciGf5I5.s page 254 6933 00b4 0029 cmp r1, #0 6934 00b6 F6D1 bne .L289 6935 .LBE846: 4226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6936 .loc 1 4226 9 is_stmt 1 discriminator 2 view .LVU2344 4228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6937 .loc 1 4228 9 view .LVU2345 4228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6938 .loc 1 4228 13 is_stmt 0 view .LVU2346 6939 00b8 0368 ldr r3, [r0] 6940 .LVL627: 4228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6941 .loc 1 4228 13 view .LVU2347 6942 00ba DA69 ldr r2, [r3, #28] 4228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6943 .loc 1 4228 12 view .LVU2348 6944 00bc 12F0100F tst r2, #16 6945 00c0 01D0 beq .L290 4231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6946 .loc 1 4231 11 is_stmt 1 view .LVU2349 6947 00c2 1022 movs r2, #16 6948 00c4 1A62 str r2, [r3, #32] 6949 .L290: 4239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6950 .loc 1 4239 9 view .LVU2350 6951 00c6 B0F85C10 ldrh r1, [r0, #92] 6952 00ca FFF7FEFF bl HAL_UARTEx_RxEventCallback 6953 .LVL628: 4239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6954 .loc 1 4239 9 is_stmt 0 view .LVU2351 6955 00ce A3E7 b .L281 6956 .LVL629: 6957 .L288: 4250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6958 .loc 1 4250 9 is_stmt 1 view .LVU2352 6959 00d0 FFF7FEFF bl HAL_UART_RxCpltCallback 6960 .LVL630: 4250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6961 .loc 1 4250 9 is_stmt 0 view .LVU2353 6962 00d4 A0E7 b .L281 6963 .L294: 6964 00d6 00BF .align 2 6965 .L293: 6966 00d8 00800040 .word 1073774592 6967 .cfi_endproc 6968 .LFE395: 6970 .section .text.UART_RxISR_16BIT,"ax",%progbits 6971 .align 1 6972 .syntax unified 6973 .thumb 6974 .thumb_func 6976 UART_RxISR_16BIT: 6977 .LVL631: 6978 .LFB396: 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 9 bits data word length . ARM GAS /tmp/cciGf5I5.s page 255 4264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note Function is called under interruption only, once 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_16BIT(UART_HandleTypeDef *huart) 4270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6979 .loc 1 4270 1 is_stmt 1 view -0 6980 .cfi_startproc 6981 @ args = 0, pretend = 0, frame = 0 6982 @ frame_needed = 0, uses_anonymous_args = 0 6983 .loc 1 4270 1 is_stmt 0 view .LVU2355 6984 0000 08B5 push {r3, lr} 6985 .LCFI26: 6986 .cfi_def_cfa_offset 8 6987 .cfi_offset 3, -8 6988 .cfi_offset 14, -4 4271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t *tmp; 6989 .loc 1 4271 3 is_stmt 1 view .LVU2356 4272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t uhMask = huart->Mask; 6990 .loc 1 4272 3 view .LVU2357 6991 .loc 1 4272 12 is_stmt 0 view .LVU2358 6992 0002 B0F86020 ldrh r2, [r0, #96] 6993 .LVL632: 4273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t uhdata; 6994 .loc 1 4273 3 is_stmt 1 view .LVU2359 4274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Rx process is ongoing */ 4276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX) 6995 .loc 1 4276 3 view .LVU2360 6996 .loc 1 4276 12 is_stmt 0 view .LVU2361 6997 0006 D0F88C30 ldr r3, [r0, #140] 6998 .loc 1 4276 6 view .LVU2362 6999 000a 222B cmp r3, #34 7000 000c 05D0 beq .L306 4277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR); 4279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ; 4280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask); 4281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 4282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 4283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxXferCount == 0U) 4285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupt*/ 4287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE)); 4288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 4290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */ 4293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear RxISR function pointer */ 4296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL; 4297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Initialize type of RxEvent to Transfer Complete */ ARM GAS /tmp/cciGf5I5.s page 256 4299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 4300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance))) 4302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that USART RTOEN bit is set */ 4304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U) 4305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */ 4307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_RTOIE); 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 **** 4311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check current reception Mode : 4312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** If Reception till IDLE event has been selected : */ 4313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 4314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set reception type to Standard */ 4316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable IDLE interrupt */ 4319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 4320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE) == SET) 4322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear IDLE Flag */ 4324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF); 4325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 4328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx Event callback*/ 4329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize); 4330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 4331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 4332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize); 4333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 4334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 4336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Standard reception API called */ 4338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 4339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx complete callback*/ 4340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxCpltCallback(huart); 4341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 4342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/ 4343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart); 4344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 4349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear RXNE interrupt flag */ 4351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 7001 .loc 1 4351 5 is_stmt 1 view .LVU2363 7002 000e 0268 ldr r2, [r0] 7003 .LVL633: 7004 .loc 1 4351 5 is_stmt 0 view .LVU2364 ARM GAS /tmp/cciGf5I5.s page 257 7005 0010 9369 ldr r3, [r2, #24] 7006 0012 43F00803 orr r3, r3, #8 7007 0016 9361 str r3, [r2, #24] 7008 .LVL634: 7009 .L295: 4352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7010 .loc 1 4353 1 view .LVU2365 7011 0018 08BD pop {r3, pc} 7012 .LVL635: 7013 .L306: 4278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ; 7014 .loc 1 4278 5 is_stmt 1 view .LVU2366 4278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ; 7015 .loc 1 4278 25 is_stmt 0 view .LVU2367 7016 001a 0368 ldr r3, [r0] 7017 001c 5B6A ldr r3, [r3, #36] 7018 .LVL636: 4279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask); 7019 .loc 1 4279 5 is_stmt 1 view .LVU2368 4279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask); 7020 .loc 1 4279 9 is_stmt 0 view .LVU2369 7021 001e 816D ldr r1, [r0, #88] 7022 .LVL637: 4280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 7023 .loc 1 4280 5 is_stmt 1 view .LVU2370 4280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 7024 .loc 1 4280 12 is_stmt 0 view .LVU2371 7025 0020 1340 ands r3, r3, r2 7026 .LVL638: 4280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 7027 .loc 1 4280 10 view .LVU2372 7028 0022 0B80 strh r3, [r1] @ movhi 4281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 7029 .loc 1 4281 5 is_stmt 1 view .LVU2373 4281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 7030 .loc 1 4281 10 is_stmt 0 view .LVU2374 7031 0024 836D ldr r3, [r0, #88] 4281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 7032 .loc 1 4281 23 view .LVU2375 7033 0026 0233 adds r3, r3, #2 7034 0028 8365 str r3, [r0, #88] 4282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7035 .loc 1 4282 5 is_stmt 1 view .LVU2376 4282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7036 .loc 1 4282 10 is_stmt 0 view .LVU2377 7037 002a B0F85E30 ldrh r3, [r0, #94] 7038 002e 9BB2 uxth r3, r3 4282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7039 .loc 1 4282 23 view .LVU2378 7040 0030 013B subs r3, r3, #1 7041 0032 9BB2 uxth r3, r3 7042 0034 A0F85E30 strh r3, [r0, #94] @ movhi 4284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7043 .loc 1 4284 5 is_stmt 1 view .LVU2379 4284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7044 .loc 1 4284 14 is_stmt 0 view .LVU2380 ARM GAS /tmp/cciGf5I5.s page 258 7045 0038 B0F85E30 ldrh r3, [r0, #94] 7046 003c 9BB2 uxth r3, r3 4284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7047 .loc 1 4284 8 view .LVU2381 7048 003e 002B cmp r3, #0 7049 0040 EAD1 bne .L295 7050 .LVL639: 7051 .L298: 4287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7052 .loc 1 4287 7 is_stmt 1 discriminator 1 view .LVU2382 7053 .LBB851: 4287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7054 .loc 1 4287 7 discriminator 1 view .LVU2383 4287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7055 .loc 1 4287 7 discriminator 1 view .LVU2384 4287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7056 .loc 1 4287 7 discriminator 1 view .LVU2385 7057 0042 0268 ldr r2, [r0] 7058 .LVL640: 7059 .LBB852: 7060 .LBI852: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7061 .loc 2 1151 31 view .LVU2386 7062 .LBB853: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 7063 .loc 2 1153 5 view .LVU2387 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7064 .loc 2 1155 4 view .LVU2388 7065 .syntax unified 7066 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7067 0044 52E8003F ldrex r3, [r2] 7068 @ 0 "" 2 7069 .LVL641: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7070 .loc 2 1156 4 view .LVU2389 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7071 .loc 2 1156 4 is_stmt 0 view .LVU2390 7072 .thumb 7073 .syntax unified 7074 .LBE853: 7075 .LBE852: 4287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7076 .loc 1 4287 7 discriminator 1 view .LVU2391 7077 0048 23F49073 bic r3, r3, #288 7078 .LVL642: 4287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7079 .loc 1 4287 7 is_stmt 1 discriminator 1 view .LVU2392 7080 .LBB854: 7081 .LBI854: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7082 .loc 2 1202 31 view .LVU2393 7083 .LBB855: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 7084 .loc 2 1204 4 view .LVU2394 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7085 .loc 2 1206 4 view .LVU2395 7086 .syntax unified ARM GAS /tmp/cciGf5I5.s page 259 7087 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7088 004c 42E80031 strex r1, r3, [r2] 7089 @ 0 "" 2 7090 .LVL643: 7091 .loc 2 1207 4 view .LVU2396 7092 .loc 2 1207 4 is_stmt 0 view .LVU2397 7093 .thumb 7094 .syntax unified 7095 .LBE855: 7096 .LBE854: 4287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7097 .loc 1 4287 7 discriminator 1 view .LVU2398 7098 0050 0029 cmp r1, #0 7099 0052 F6D1 bne .L298 7100 .LVL644: 7101 .L299: 4287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7102 .loc 1 4287 7 discriminator 1 view .LVU2399 7103 .LBE851: 4287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7104 .loc 1 4287 7 is_stmt 1 discriminator 2 view .LVU2400 4290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7105 .loc 1 4290 7 discriminator 1 view .LVU2401 7106 .LBB856: 4290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7107 .loc 1 4290 7 discriminator 1 view .LVU2402 4290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7108 .loc 1 4290 7 discriminator 1 view .LVU2403 4290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7109 .loc 1 4290 7 discriminator 1 view .LVU2404 7110 0054 0268 ldr r2, [r0] 7111 .LVL645: 7112 .LBB857: 7113 .LBI857: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7114 .loc 2 1151 31 view .LVU2405 7115 .LBB858: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 7116 .loc 2 1153 5 view .LVU2406 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7117 .loc 2 1155 4 view .LVU2407 7118 0056 02F10803 add r3, r2, #8 7119 .LVL646: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7120 .loc 2 1155 4 is_stmt 0 view .LVU2408 7121 .syntax unified 7122 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7123 005a 53E8003F ldrex r3, [r3] 7124 @ 0 "" 2 7125 .LVL647: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7126 .loc 2 1156 4 is_stmt 1 view .LVU2409 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7127 .loc 2 1156 4 is_stmt 0 view .LVU2410 7128 .thumb 7129 .syntax unified 7130 .LBE858: ARM GAS /tmp/cciGf5I5.s page 260 7131 .LBE857: 4290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7132 .loc 1 4290 7 discriminator 1 view .LVU2411 7133 005e 23F00103 bic r3, r3, #1 7134 .LVL648: 4290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7135 .loc 1 4290 7 is_stmt 1 discriminator 1 view .LVU2412 7136 .LBB859: 7137 .LBI859: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7138 .loc 2 1202 31 view .LVU2413 7139 .LBB860: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 7140 .loc 2 1204 4 view .LVU2414 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7141 .loc 2 1206 4 view .LVU2415 7142 0062 0832 adds r2, r2, #8 7143 .LVL649: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7144 .loc 2 1206 4 is_stmt 0 view .LVU2416 7145 .syntax unified 7146 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7147 0064 42E80031 strex r1, r3, [r2] 7148 @ 0 "" 2 7149 .LVL650: 7150 .loc 2 1207 4 is_stmt 1 view .LVU2417 7151 .loc 2 1207 4 is_stmt 0 view .LVU2418 7152 .thumb 7153 .syntax unified 7154 .LBE860: 7155 .LBE859: 4290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7156 .loc 1 4290 7 discriminator 1 view .LVU2419 7157 0068 0029 cmp r1, #0 7158 006a F3D1 bne .L299 7159 .LBE856: 4290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7160 .loc 1 4290 7 is_stmt 1 discriminator 2 view .LVU2420 4293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7161 .loc 1 4293 7 view .LVU2421 4293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7162 .loc 1 4293 22 is_stmt 0 view .LVU2422 7163 006c 2023 movs r3, #32 7164 .LVL651: 4293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7165 .loc 1 4293 22 view .LVU2423 7166 006e C0F88C30 str r3, [r0, #140] 4296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7167 .loc 1 4296 7 is_stmt 1 view .LVU2424 4296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7168 .loc 1 4296 20 is_stmt 0 view .LVU2425 7169 0072 0023 movs r3, #0 7170 0074 4367 str r3, [r0, #116] 4299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7171 .loc 1 4299 7 is_stmt 1 view .LVU2426 4299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7172 .loc 1 4299 26 is_stmt 0 view .LVU2427 ARM GAS /tmp/cciGf5I5.s page 261 7173 0076 0367 str r3, [r0, #112] 4301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7174 .loc 1 4301 7 is_stmt 1 view .LVU2428 4301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7175 .loc 1 4301 13 is_stmt 0 view .LVU2429 7176 0078 0368 ldr r3, [r0] 4301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7177 .loc 1 4301 10 view .LVU2430 7178 007a 164A ldr r2, .L307 7179 007c 9342 cmp r3, r2 7180 007e 0CD0 beq .L300 4304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7181 .loc 1 4304 9 is_stmt 1 view .LVU2431 4304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7182 .loc 1 4304 13 is_stmt 0 view .LVU2432 7183 0080 5B68 ldr r3, [r3, #4] 4304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7184 .loc 1 4304 12 view .LVU2433 7185 0082 13F4000F tst r3, #8388608 7186 0086 08D0 beq .L300 7187 .L301: 4307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7188 .loc 1 4307 11 is_stmt 1 discriminator 1 view .LVU2434 7189 .LBB861: 4307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7190 .loc 1 4307 11 discriminator 1 view .LVU2435 4307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7191 .loc 1 4307 11 discriminator 1 view .LVU2436 4307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7192 .loc 1 4307 11 discriminator 1 view .LVU2437 7193 0088 0268 ldr r2, [r0] 7194 .LVL652: 7195 .LBB862: 7196 .LBI862: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7197 .loc 2 1151 31 view .LVU2438 7198 .LBB863: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 7199 .loc 2 1153 5 view .LVU2439 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7200 .loc 2 1155 4 view .LVU2440 7201 .syntax unified 7202 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7203 008a 52E8003F ldrex r3, [r2] 7204 @ 0 "" 2 7205 .LVL653: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7206 .loc 2 1156 4 view .LVU2441 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7207 .loc 2 1156 4 is_stmt 0 view .LVU2442 7208 .thumb 7209 .syntax unified 7210 .LBE863: 7211 .LBE862: 4307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7212 .loc 1 4307 11 discriminator 1 view .LVU2443 7213 008e 23F08063 bic r3, r3, #67108864 ARM GAS /tmp/cciGf5I5.s page 262 7214 .LVL654: 4307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7215 .loc 1 4307 11 is_stmt 1 discriminator 1 view .LVU2444 7216 .LBB864: 7217 .LBI864: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7218 .loc 2 1202 31 view .LVU2445 7219 .LBB865: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 7220 .loc 2 1204 4 view .LVU2446 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7221 .loc 2 1206 4 view .LVU2447 7222 .syntax unified 7223 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7224 0092 42E80031 strex r1, r3, [r2] 7225 @ 0 "" 2 7226 .LVL655: 7227 .loc 2 1207 4 view .LVU2448 7228 .loc 2 1207 4 is_stmt 0 view .LVU2449 7229 .thumb 7230 .syntax unified 7231 .LBE865: 7232 .LBE864: 4307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7233 .loc 1 4307 11 discriminator 1 view .LVU2450 7234 0096 0029 cmp r1, #0 7235 0098 F6D1 bne .L301 7236 .LVL656: 7237 .L300: 4307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7238 .loc 1 4307 11 discriminator 1 view .LVU2451 7239 .LBE861: 4307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7240 .loc 1 4307 11 is_stmt 1 discriminator 2 view .LVU2452 4313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7241 .loc 1 4313 7 view .LVU2453 4313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7242 .loc 1 4313 16 is_stmt 0 view .LVU2454 7243 009a C36E ldr r3, [r0, #108] 4313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7244 .loc 1 4313 10 view .LVU2455 7245 009c 012B cmp r3, #1 7246 009e 16D1 bne .L302 4316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7247 .loc 1 4316 9 is_stmt 1 view .LVU2456 4316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7248 .loc 1 4316 30 is_stmt 0 view .LVU2457 7249 00a0 0023 movs r3, #0 7250 00a2 C366 str r3, [r0, #108] 7251 .L303: 4319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7252 .loc 1 4319 9 is_stmt 1 discriminator 1 view .LVU2458 7253 .LBB866: 4319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7254 .loc 1 4319 9 discriminator 1 view .LVU2459 4319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7255 .loc 1 4319 9 discriminator 1 view .LVU2460 ARM GAS /tmp/cciGf5I5.s page 263 4319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7256 .loc 1 4319 9 discriminator 1 view .LVU2461 7257 00a4 0268 ldr r2, [r0] 7258 .LVL657: 7259 .LBB867: 7260 .LBI867: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7261 .loc 2 1151 31 view .LVU2462 7262 .LBB868: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 7263 .loc 2 1153 5 view .LVU2463 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7264 .loc 2 1155 4 view .LVU2464 7265 .syntax unified 7266 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7267 00a6 52E8003F ldrex r3, [r2] 7268 @ 0 "" 2 7269 .LVL658: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7270 .loc 2 1156 4 view .LVU2465 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7271 .loc 2 1156 4 is_stmt 0 view .LVU2466 7272 .thumb 7273 .syntax unified 7274 .LBE868: 7275 .LBE867: 4319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7276 .loc 1 4319 9 discriminator 1 view .LVU2467 7277 00aa 23F01003 bic r3, r3, #16 7278 .LVL659: 4319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7279 .loc 1 4319 9 is_stmt 1 discriminator 1 view .LVU2468 7280 .LBB869: 7281 .LBI869: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7282 .loc 2 1202 31 view .LVU2469 7283 .LBB870: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 7284 .loc 2 1204 4 view .LVU2470 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7285 .loc 2 1206 4 view .LVU2471 7286 .syntax unified 7287 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7288 00ae 42E80031 strex r1, r3, [r2] 7289 @ 0 "" 2 7290 .LVL660: 7291 .loc 2 1207 4 view .LVU2472 7292 .loc 2 1207 4 is_stmt 0 view .LVU2473 7293 .thumb 7294 .syntax unified 7295 .LBE870: 7296 .LBE869: 4319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7297 .loc 1 4319 9 discriminator 1 view .LVU2474 7298 00b2 0029 cmp r1, #0 7299 00b4 F6D1 bne .L303 7300 .LBE866: ARM GAS /tmp/cciGf5I5.s page 264 4319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7301 .loc 1 4319 9 is_stmt 1 discriminator 2 view .LVU2475 4321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7302 .loc 1 4321 9 view .LVU2476 4321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7303 .loc 1 4321 13 is_stmt 0 view .LVU2477 7304 00b6 0368 ldr r3, [r0] 7305 .LVL661: 4321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7306 .loc 1 4321 13 view .LVU2478 7307 00b8 DA69 ldr r2, [r3, #28] 4321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7308 .loc 1 4321 12 view .LVU2479 7309 00ba 12F0100F tst r2, #16 7310 00be 01D0 beq .L304 4324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7311 .loc 1 4324 11 is_stmt 1 view .LVU2480 7312 00c0 1022 movs r2, #16 7313 00c2 1A62 str r2, [r3, #32] 7314 .L304: 4332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 7315 .loc 1 4332 9 view .LVU2481 7316 00c4 B0F85C10 ldrh r1, [r0, #92] 7317 00c8 FFF7FEFF bl HAL_UARTEx_RxEventCallback 7318 .LVL662: 4332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 7319 .loc 1 4332 9 is_stmt 0 view .LVU2482 7320 00cc A4E7 b .L295 7321 .LVL663: 7322 .L302: 4343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 7323 .loc 1 4343 9 is_stmt 1 view .LVU2483 7324 00ce FFF7FEFF bl HAL_UART_RxCpltCallback 7325 .LVL664: 4343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 7326 .loc 1 4343 9 is_stmt 0 view .LVU2484 7327 00d2 A1E7 b .L295 7328 .L308: 7329 .align 2 7330 .L307: 7331 00d4 00800040 .word 1073774592 7332 .cfi_endproc 7333 .LFE396: 7335 .section .text.UART_RxISR_8BIT_FIFOEN,"ax",%progbits 7336 .align 1 7337 .syntax unified 7338 .thumb 7339 .thumb_func 7341 UART_RxISR_8BIT_FIFOEN: 7342 .LVL665: 7343 .LFB397: 4354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 4356: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. 4357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note Function is called under interruption only, once 4358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Receive_IT() 4359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. ARM GAS /tmp/cciGf5I5.s page 265 4360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 4361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 4362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_RxISR_8BIT_FIFOEN(UART_HandleTypeDef *huart) 4363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7344 .loc 1 4363 1 is_stmt 1 view -0 7345 .cfi_startproc 7346 @ args = 0, pretend = 0, frame = 0 7347 @ frame_needed = 0, uses_anonymous_args = 0 7348 .loc 1 4363 1 is_stmt 0 view .LVU2486 7349 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr} 7350 .LCFI27: 7351 .cfi_def_cfa_offset 32 7352 .cfi_offset 3, -32 7353 .cfi_offset 4, -28 7354 .cfi_offset 5, -24 7355 .cfi_offset 6, -20 7356 .cfi_offset 7, -16 7357 .cfi_offset 8, -12 7358 .cfi_offset 9, -8 7359 .cfi_offset 14, -4 4364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t uhMask = huart->Mask; 7360 .loc 1 4364 3 is_stmt 1 view .LVU2487 7361 .loc 1 4364 13 is_stmt 0 view .LVU2488 7362 0004 B0F86050 ldrh r5, [r0, #96] 7363 .LVL666: 4365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t uhdata; 7364 .loc 1 4365 3 is_stmt 1 view .LVU2489 4366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t nb_rx_data; 7365 .loc 1 4366 3 view .LVU2490 4367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t rxdatacount; 7366 .loc 1 4367 3 view .LVU2491 4368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR); 7367 .loc 1 4368 3 view .LVU2492 7368 .loc 1 4368 24 is_stmt 0 view .LVU2493 7369 0008 0368 ldr r3, [r0] 7370 .loc 1 4368 13 view .LVU2494 7371 000a D3F81C90 ldr r9, [r3, #28] 7372 .LVL667: 4369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 7373 .loc 1 4369 3 is_stmt 1 view .LVU2495 7374 .loc 1 4369 13 is_stmt 0 view .LVU2496 7375 000e D3F80080 ldr r8, [r3] 7376 .LVL668: 4370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3); 7377 .loc 1 4370 3 is_stmt 1 view .LVU2497 7378 .loc 1 4370 13 is_stmt 0 view .LVU2498 7379 0012 9F68 ldr r7, [r3, #8] 7380 .LVL669: 4371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Rx process is ongoing */ 4373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX) 7381 .loc 1 4373 3 is_stmt 1 view .LVU2499 7382 .loc 1 4373 12 is_stmt 0 view .LVU2500 7383 0014 D0F88C20 ldr r2, [r0, #140] 7384 .loc 1 4373 6 view .LVU2501 7385 0018 222A cmp r2, #34 7386 001a 05D0 beq .L329 ARM GAS /tmp/cciGf5I5.s page 266 4374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** nb_rx_data = huart->NbRxDataToProcess; 4376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** while ((nb_rx_data > 0U) && ((isrflags & USART_ISR_RXNE_RXFNE) != 0U)) 4377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR); 4379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask); 4380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr++; 4381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 4382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** isrflags = READ_REG(huart->Instance->ISR); 4383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If some non blocking errors occurred */ 4385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((isrflags & (USART_ISR_PE | USART_ISR_FE | USART_ISR_NE)) != 0U) 4386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART parity error interrupt occurred -------------------------------------*/ 4388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_PE) != 0U) && ((cr1its & USART_CR1_PEIE) != 0U)) 4389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_PEF); 4391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_PE; 4393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART frame error interrupt occurred --------------------------------------*/ 4396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_FE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U)) 4397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_FEF); 4399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_FE; 4401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART noise error interrupt occurred --------------------------------------*/ 4404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_NE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U)) 4405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_NEF); 4407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_NE; 4409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call UART Error Call back function if need be ----------------------------*/ 4412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ErrorCode != HAL_UART_ERROR_NONE) 4413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Non Blocking error : transfer could go on. 4415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Error is notified to user through user error callback */ 4416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 4417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered error callback*/ 4418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCallback(huart); 4419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 4420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak error callback*/ 4421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 4422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 4424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxXferCount == 0U) 4428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXFT interrupt*/ 4430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); ARM GAS /tmp/cciGf5I5.s page 267 4431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) 4433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** and RX FIFO Threshold interrupt */ 4434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 4435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */ 4437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear RxISR function pointer */ 4440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL; 4441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Initialize type of RxEvent to Transfer Complete */ 4443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 4444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance))) 4446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that USART RTOEN bit is set */ 4448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U) 4449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */ 4451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_RTOIE); 4452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check current reception Mode : 4456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** If Reception till IDLE event has been selected : */ 4457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 4458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set reception type to Standard */ 4460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable IDLE interrupt */ 4463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 4464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE) == SET) 4466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear IDLE Flag */ 4468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF); 4469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 4472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx Event callback*/ 4473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize); 4474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 4475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 4476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize); 4477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 4478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 4480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Standard reception API called */ 4482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 4483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx complete callback*/ 4484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxCpltCallback(huart); 4485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 4486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/ 4487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart); ARM GAS /tmp/cciGf5I5.s page 268 4488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 4491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* When remaining number of bytes to receive is less than the RX FIFO 4495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** threshold, next incoming frames are processed as if FIFO mode was 4496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** disabled (i.e. one interrupt per received frame). 4497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 4498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** rxdatacount = huart->RxXferCount; 4499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((rxdatacount != 0U) && (rxdatacount < huart->NbRxDataToProcess)) 4500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART RXFT interrupt*/ 4502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_RXFTIE); 4503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Update the RxISR function pointer */ 4505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = UART_RxISR_8BIT; 4506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Data Register Not Empty interrupt */ 4508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RXNEIE_RXFNEIE); 4509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 4512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear RXNE interrupt flag */ 4514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 7387 .loc 1 4514 5 is_stmt 1 view .LVU2502 7388 001c 9A69 ldr r2, [r3, #24] 7389 001e 42F00802 orr r2, r2, #8 7390 0022 9A61 str r2, [r3, #24] 7391 .LVL670: 7392 .L309: 4515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7393 .loc 1 4516 1 is_stmt 0 view .LVU2503 7394 0024 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 7395 .LVL671: 7396 .L329: 7397 .loc 1 4516 1 view .LVU2504 7398 0028 0446 mov r4, r0 4375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** while ((nb_rx_data > 0U) && ((isrflags & USART_ISR_RXNE_RXFNE) != 0U)) 7399 .loc 1 4375 5 is_stmt 1 view .LVU2505 4375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** while ((nb_rx_data > 0U) && ((isrflags & USART_ISR_RXNE_RXFNE) != 0U)) 7400 .loc 1 4375 16 is_stmt 0 view .LVU2506 7401 002a B0F86860 ldrh r6, [r0, #104] 7402 .LVL672: 4376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7403 .loc 1 4376 5 is_stmt 1 view .LVU2507 4376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7404 .loc 1 4376 11 is_stmt 0 view .LVU2508 7405 002e 08E0 b .L311 7406 .LVL673: 7407 .L315: 4412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7408 .loc 1 4412 9 is_stmt 1 view .LVU2509 4412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cciGf5I5.s page 269 7409 .loc 1 4412 18 is_stmt 0 view .LVU2510 7410 0030 D4F89030 ldr r3, [r4, #144] 4412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7411 .loc 1 4412 12 view .LVU2511 7412 0034 002B cmp r3, #0 7413 0036 4DD1 bne .L330 7414 .LVL674: 7415 .L312: 4427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7416 .loc 1 4427 7 is_stmt 1 view .LVU2512 4427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7417 .loc 1 4427 16 is_stmt 0 view .LVU2513 7418 0038 B4F85E30 ldrh r3, [r4, #94] 7419 003c 9BB2 uxth r3, r3 4427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7420 .loc 1 4427 10 view .LVU2514 7421 003e 002B cmp r3, #0 7422 0040 4FD0 beq .L316 7423 .LVL675: 7424 .L311: 4376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7425 .loc 1 4376 30 is_stmt 1 view .LVU2515 7426 0042 002E cmp r6, #0 7427 0044 00F09580 beq .L323 4376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7428 .loc 1 4376 30 is_stmt 0 discriminator 1 view .LVU2516 7429 0048 19F0200F tst r9, #32 7430 004c 00F09180 beq .L323 4378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask); 7431 .loc 1 4378 7 is_stmt 1 view .LVU2517 4378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask); 7432 .loc 1 4378 27 is_stmt 0 view .LVU2518 7433 0050 2368 ldr r3, [r4] 7434 0052 596A ldr r1, [r3, #36] 7435 .LVL676: 4379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr++; 7436 .loc 1 4379 7 is_stmt 1 view .LVU2519 4379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr++; 7437 .loc 1 4379 47 is_stmt 0 view .LVU2520 7438 0054 EBB2 uxtb r3, r5 4379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr++; 7439 .loc 1 4379 13 view .LVU2521 7440 0056 A26D ldr r2, [r4, #88] 4379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr++; 7441 .loc 1 4379 28 view .LVU2522 7442 0058 0B40 ands r3, r3, r1 4379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr++; 7443 .loc 1 4379 26 view .LVU2523 7444 005a 1370 strb r3, [r2] 4380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 7445 .loc 1 4380 7 is_stmt 1 view .LVU2524 4380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 7446 .loc 1 4380 12 is_stmt 0 view .LVU2525 7447 005c A36D ldr r3, [r4, #88] 4380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 7448 .loc 1 4380 24 view .LVU2526 7449 005e 0133 adds r3, r3, #1 ARM GAS /tmp/cciGf5I5.s page 270 7450 0060 A365 str r3, [r4, #88] 4381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** isrflags = READ_REG(huart->Instance->ISR); 7451 .loc 1 4381 7 is_stmt 1 view .LVU2527 4381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** isrflags = READ_REG(huart->Instance->ISR); 7452 .loc 1 4381 12 is_stmt 0 view .LVU2528 7453 0062 B4F85E30 ldrh r3, [r4, #94] 7454 0066 9BB2 uxth r3, r3 4381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** isrflags = READ_REG(huart->Instance->ISR); 7455 .loc 1 4381 25 view .LVU2529 7456 0068 013B subs r3, r3, #1 7457 006a 9BB2 uxth r3, r3 7458 006c A4F85E30 strh r3, [r4, #94] @ movhi 4382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7459 .loc 1 4382 7 is_stmt 1 view .LVU2530 4382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7460 .loc 1 4382 18 is_stmt 0 view .LVU2531 7461 0070 2368 ldr r3, [r4] 4382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7462 .loc 1 4382 16 view .LVU2532 7463 0072 D3F81C90 ldr r9, [r3, #28] 7464 .LVL677: 4385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7465 .loc 1 4385 7 is_stmt 1 view .LVU2533 4385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7466 .loc 1 4385 10 is_stmt 0 view .LVU2534 7467 0076 19F0070F tst r9, #7 7468 007a DDD0 beq .L312 4388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7469 .loc 1 4388 9 is_stmt 1 view .LVU2535 4388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7470 .loc 1 4388 12 is_stmt 0 view .LVU2536 7471 007c 19F0010F tst r9, #1 7472 0080 09D0 beq .L313 4388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7473 .loc 1 4388 47 discriminator 1 view .LVU2537 7474 0082 18F4807F tst r8, #256 7475 0086 06D0 beq .L313 4390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7476 .loc 1 4390 11 is_stmt 1 view .LVU2538 7477 0088 0122 movs r2, #1 7478 008a 1A62 str r2, [r3, #32] 4392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7479 .loc 1 4392 11 view .LVU2539 4392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7480 .loc 1 4392 16 is_stmt 0 view .LVU2540 7481 008c D4F89030 ldr r3, [r4, #144] 4392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7482 .loc 1 4392 28 view .LVU2541 7483 0090 1343 orrs r3, r3, r2 7484 0092 C4F89030 str r3, [r4, #144] 7485 .L313: 4396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7486 .loc 1 4396 9 is_stmt 1 view .LVU2542 4396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7487 .loc 1 4396 12 is_stmt 0 view .LVU2543 7488 0096 19F0020F tst r9, #2 7489 009a 0BD0 beq .L314 ARM GAS /tmp/cciGf5I5.s page 271 4396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7490 .loc 1 4396 47 discriminator 1 view .LVU2544 7491 009c 17F0010F tst r7, #1 7492 00a0 08D0 beq .L314 4398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7493 .loc 1 4398 11 is_stmt 1 view .LVU2545 7494 00a2 2368 ldr r3, [r4] 7495 00a4 0222 movs r2, #2 7496 00a6 1A62 str r2, [r3, #32] 4400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7497 .loc 1 4400 11 view .LVU2546 4400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7498 .loc 1 4400 16 is_stmt 0 view .LVU2547 7499 00a8 D4F89030 ldr r3, [r4, #144] 4400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7500 .loc 1 4400 28 view .LVU2548 7501 00ac 43F00403 orr r3, r3, #4 7502 00b0 C4F89030 str r3, [r4, #144] 7503 .L314: 4404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7504 .loc 1 4404 9 is_stmt 1 view .LVU2549 4404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7505 .loc 1 4404 12 is_stmt 0 view .LVU2550 7506 00b4 19F0040F tst r9, #4 7507 00b8 BAD0 beq .L315 4404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7508 .loc 1 4404 47 discriminator 1 view .LVU2551 7509 00ba 17F0010F tst r7, #1 7510 00be B7D0 beq .L315 4406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7511 .loc 1 4406 11 is_stmt 1 view .LVU2552 7512 00c0 2368 ldr r3, [r4] 7513 00c2 0422 movs r2, #4 7514 00c4 1A62 str r2, [r3, #32] 4408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7515 .loc 1 4408 11 view .LVU2553 4408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7516 .loc 1 4408 16 is_stmt 0 view .LVU2554 7517 00c6 D4F89030 ldr r3, [r4, #144] 4408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7518 .loc 1 4408 28 view .LVU2555 7519 00ca 43F00203 orr r3, r3, #2 7520 00ce C4F89030 str r3, [r4, #144] 7521 00d2 ADE7 b .L315 7522 .L330: 4421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 7523 .loc 1 4421 11 is_stmt 1 view .LVU2556 7524 00d4 2046 mov r0, r4 7525 00d6 FFF7FEFF bl HAL_UART_ErrorCallback 7526 .LVL678: 4423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7527 .loc 1 4423 11 view .LVU2557 4423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7528 .loc 1 4423 28 is_stmt 0 view .LVU2558 7529 00da 0023 movs r3, #0 7530 00dc C4F89030 str r3, [r4, #144] 7531 00e0 AAE7 b .L312 ARM GAS /tmp/cciGf5I5.s page 272 7532 .L316: 4430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7533 .loc 1 4430 9 is_stmt 1 discriminator 1 view .LVU2559 7534 .LBB871: 4430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7535 .loc 1 4430 9 discriminator 1 view .LVU2560 4430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7536 .loc 1 4430 9 discriminator 1 view .LVU2561 4430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7537 .loc 1 4430 9 discriminator 1 view .LVU2562 7538 00e2 2268 ldr r2, [r4] 7539 .LVL679: 7540 .LBB872: 7541 .LBI872: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7542 .loc 2 1151 31 view .LVU2563 7543 .LBB873: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 7544 .loc 2 1153 5 view .LVU2564 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7545 .loc 2 1155 4 view .LVU2565 7546 .syntax unified 7547 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7548 00e4 52E8003F ldrex r3, [r2] 7549 @ 0 "" 2 7550 .LVL680: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7551 .loc 2 1156 4 view .LVU2566 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7552 .loc 2 1156 4 is_stmt 0 view .LVU2567 7553 .thumb 7554 .syntax unified 7555 .LBE873: 7556 .LBE872: 4430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7557 .loc 1 4430 9 discriminator 1 view .LVU2568 7558 00e8 23F48073 bic r3, r3, #256 7559 .LVL681: 4430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7560 .loc 1 4430 9 is_stmt 1 discriminator 1 view .LVU2569 7561 .LBB874: 7562 .LBI874: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7563 .loc 2 1202 31 view .LVU2570 7564 .LBB875: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 7565 .loc 2 1204 4 view .LVU2571 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7566 .loc 2 1206 4 view .LVU2572 7567 .syntax unified 7568 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7569 00ec 42E80031 strex r1, r3, [r2] 7570 @ 0 "" 2 7571 .LVL682: 7572 .loc 2 1207 4 view .LVU2573 7573 .loc 2 1207 4 is_stmt 0 view .LVU2574 7574 .thumb ARM GAS /tmp/cciGf5I5.s page 273 7575 .syntax unified 7576 .LBE875: 7577 .LBE874: 4430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7578 .loc 1 4430 9 discriminator 1 view .LVU2575 7579 00f0 0029 cmp r1, #0 7580 00f2 F6D1 bne .L316 7581 .LVL683: 7582 .L317: 4430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7583 .loc 1 4430 9 discriminator 1 view .LVU2576 7584 .LBE871: 4430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7585 .loc 1 4430 9 is_stmt 1 discriminator 2 view .LVU2577 4434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7586 .loc 1 4434 9 discriminator 1 view .LVU2578 7587 .LBB876: 4434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7588 .loc 1 4434 9 discriminator 1 view .LVU2579 4434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7589 .loc 1 4434 9 discriminator 1 view .LVU2580 4434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7590 .loc 1 4434 9 discriminator 1 view .LVU2581 7591 00f4 2268 ldr r2, [r4] 7592 .LVL684: 7593 .LBB877: 7594 .LBI877: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7595 .loc 2 1151 31 view .LVU2582 7596 .LBB878: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 7597 .loc 2 1153 5 view .LVU2583 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7598 .loc 2 1155 4 view .LVU2584 7599 00f6 02F10803 add r3, r2, #8 7600 .LVL685: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7601 .loc 2 1155 4 is_stmt 0 view .LVU2585 7602 .syntax unified 7603 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7604 00fa 53E8003F ldrex r3, [r3] 7605 @ 0 "" 2 7606 .LVL686: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7607 .loc 2 1156 4 is_stmt 1 view .LVU2586 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7608 .loc 2 1156 4 is_stmt 0 view .LVU2587 7609 .thumb 7610 .syntax unified 7611 .LBE878: 7612 .LBE877: 4434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7613 .loc 1 4434 9 discriminator 1 view .LVU2588 7614 00fe 23F08053 bic r3, r3, #268435456 7615 0102 23F00103 bic r3, r3, #1 7616 .LVL687: 4434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cciGf5I5.s page 274 7617 .loc 1 4434 9 is_stmt 1 discriminator 1 view .LVU2589 7618 .LBB879: 7619 .LBI879: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7620 .loc 2 1202 31 view .LVU2590 7621 .LBB880: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 7622 .loc 2 1204 4 view .LVU2591 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7623 .loc 2 1206 4 view .LVU2592 7624 0106 0832 adds r2, r2, #8 7625 .LVL688: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7626 .loc 2 1206 4 is_stmt 0 view .LVU2593 7627 .syntax unified 7628 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7629 0108 42E80031 strex r1, r3, [r2] 7630 @ 0 "" 2 7631 .LVL689: 7632 .loc 2 1207 4 is_stmt 1 view .LVU2594 7633 .loc 2 1207 4 is_stmt 0 view .LVU2595 7634 .thumb 7635 .syntax unified 7636 .LBE880: 7637 .LBE879: 4434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7638 .loc 1 4434 9 discriminator 1 view .LVU2596 7639 010c 0029 cmp r1, #0 7640 010e F1D1 bne .L317 7641 .LBE876: 4434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7642 .loc 1 4434 9 is_stmt 1 discriminator 2 view .LVU2597 4437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7643 .loc 1 4437 9 view .LVU2598 4437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7644 .loc 1 4437 24 is_stmt 0 view .LVU2599 7645 0110 2023 movs r3, #32 7646 .LVL690: 4437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7647 .loc 1 4437 24 view .LVU2600 7648 0112 C4F88C30 str r3, [r4, #140] 4440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7649 .loc 1 4440 9 is_stmt 1 view .LVU2601 4440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7650 .loc 1 4440 22 is_stmt 0 view .LVU2602 7651 0116 0023 movs r3, #0 7652 0118 6367 str r3, [r4, #116] 4443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7653 .loc 1 4443 9 is_stmt 1 view .LVU2603 4443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7654 .loc 1 4443 28 is_stmt 0 view .LVU2604 7655 011a 2367 str r3, [r4, #112] 4445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7656 .loc 1 4445 9 is_stmt 1 view .LVU2605 4445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7657 .loc 1 4445 15 is_stmt 0 view .LVU2606 7658 011c 2368 ldr r3, [r4] ARM GAS /tmp/cciGf5I5.s page 275 4445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7659 .loc 1 4445 12 view .LVU2607 7660 011e 284A ldr r2, .L331 7661 0120 9342 cmp r3, r2 7662 0122 0CD0 beq .L318 4448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7663 .loc 1 4448 11 is_stmt 1 view .LVU2608 4448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7664 .loc 1 4448 15 is_stmt 0 view .LVU2609 7665 0124 5B68 ldr r3, [r3, #4] 4448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7666 .loc 1 4448 14 view .LVU2610 7667 0126 13F4000F tst r3, #8388608 7668 012a 08D0 beq .L318 7669 .L319: 4451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7670 .loc 1 4451 13 is_stmt 1 discriminator 1 view .LVU2611 7671 .LBB881: 4451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7672 .loc 1 4451 13 discriminator 1 view .LVU2612 4451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7673 .loc 1 4451 13 discriminator 1 view .LVU2613 4451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7674 .loc 1 4451 13 discriminator 1 view .LVU2614 7675 012c 2268 ldr r2, [r4] 7676 .LVL691: 7677 .LBB882: 7678 .LBI882: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7679 .loc 2 1151 31 view .LVU2615 7680 .LBB883: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 7681 .loc 2 1153 5 view .LVU2616 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7682 .loc 2 1155 4 view .LVU2617 7683 .syntax unified 7684 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7685 012e 52E8003F ldrex r3, [r2] 7686 @ 0 "" 2 7687 .LVL692: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7688 .loc 2 1156 4 view .LVU2618 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7689 .loc 2 1156 4 is_stmt 0 view .LVU2619 7690 .thumb 7691 .syntax unified 7692 .LBE883: 7693 .LBE882: 4451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7694 .loc 1 4451 13 discriminator 1 view .LVU2620 7695 0132 23F08063 bic r3, r3, #67108864 7696 .LVL693: 4451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7697 .loc 1 4451 13 is_stmt 1 discriminator 1 view .LVU2621 7698 .LBB884: 7699 .LBI884: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { ARM GAS /tmp/cciGf5I5.s page 276 7700 .loc 2 1202 31 view .LVU2622 7701 .LBB885: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 7702 .loc 2 1204 4 view .LVU2623 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7703 .loc 2 1206 4 view .LVU2624 7704 .syntax unified 7705 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7706 0136 42E80031 strex r1, r3, [r2] 7707 @ 0 "" 2 7708 .LVL694: 7709 .loc 2 1207 4 view .LVU2625 7710 .loc 2 1207 4 is_stmt 0 view .LVU2626 7711 .thumb 7712 .syntax unified 7713 .LBE885: 7714 .LBE884: 4451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7715 .loc 1 4451 13 discriminator 1 view .LVU2627 7716 013a 0029 cmp r1, #0 7717 013c F6D1 bne .L319 7718 .LVL695: 7719 .L318: 4451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7720 .loc 1 4451 13 discriminator 1 view .LVU2628 7721 .LBE881: 4451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7722 .loc 1 4451 13 is_stmt 1 discriminator 2 view .LVU2629 4457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7723 .loc 1 4457 9 view .LVU2630 4457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7724 .loc 1 4457 18 is_stmt 0 view .LVU2631 7725 013e E36E ldr r3, [r4, #108] 4457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7726 .loc 1 4457 12 view .LVU2632 7727 0140 012B cmp r3, #1 7728 0142 39D1 bne .L320 4460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7729 .loc 1 4460 11 is_stmt 1 view .LVU2633 4460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7730 .loc 1 4460 32 is_stmt 0 view .LVU2634 7731 0144 0023 movs r3, #0 7732 0146 E366 str r3, [r4, #108] 7733 .L321: 4463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7734 .loc 1 4463 11 is_stmt 1 discriminator 1 view .LVU2635 7735 .LBB886: 4463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7736 .loc 1 4463 11 discriminator 1 view .LVU2636 4463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7737 .loc 1 4463 11 discriminator 1 view .LVU2637 4463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7738 .loc 1 4463 11 discriminator 1 view .LVU2638 7739 0148 2268 ldr r2, [r4] 7740 .LVL696: 7741 .LBB887: 7742 .LBI887: ARM GAS /tmp/cciGf5I5.s page 277 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7743 .loc 2 1151 31 view .LVU2639 7744 .LBB888: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 7745 .loc 2 1153 5 view .LVU2640 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7746 .loc 2 1155 4 view .LVU2641 7747 .syntax unified 7748 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7749 014a 52E8003F ldrex r3, [r2] 7750 @ 0 "" 2 7751 .LVL697: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7752 .loc 2 1156 4 view .LVU2642 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7753 .loc 2 1156 4 is_stmt 0 view .LVU2643 7754 .thumb 7755 .syntax unified 7756 .LBE888: 7757 .LBE887: 4463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7758 .loc 1 4463 11 discriminator 1 view .LVU2644 7759 014e 23F01003 bic r3, r3, #16 7760 .LVL698: 4463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7761 .loc 1 4463 11 is_stmt 1 discriminator 1 view .LVU2645 7762 .LBB889: 7763 .LBI889: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7764 .loc 2 1202 31 view .LVU2646 7765 .LBB890: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 7766 .loc 2 1204 4 view .LVU2647 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7767 .loc 2 1206 4 view .LVU2648 7768 .syntax unified 7769 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7770 0152 42E80031 strex r1, r3, [r2] 7771 @ 0 "" 2 7772 .LVL699: 7773 .loc 2 1207 4 view .LVU2649 7774 .loc 2 1207 4 is_stmt 0 view .LVU2650 7775 .thumb 7776 .syntax unified 7777 .LBE890: 7778 .LBE889: 4463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7779 .loc 1 4463 11 discriminator 1 view .LVU2651 7780 0156 0029 cmp r1, #0 7781 0158 F6D1 bne .L321 7782 .LBE886: 4463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7783 .loc 1 4463 11 is_stmt 1 discriminator 2 view .LVU2652 4465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7784 .loc 1 4465 11 view .LVU2653 4465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7785 .loc 1 4465 15 is_stmt 0 view .LVU2654 ARM GAS /tmp/cciGf5I5.s page 278 7786 015a 2368 ldr r3, [r4] 7787 .LVL700: 4465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7788 .loc 1 4465 15 view .LVU2655 7789 015c DA69 ldr r2, [r3, #28] 4465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7790 .loc 1 4465 14 view .LVU2656 7791 015e 12F0100F tst r2, #16 7792 0162 01D0 beq .L322 4468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7793 .loc 1 4468 13 is_stmt 1 view .LVU2657 7794 0164 1022 movs r2, #16 7795 0166 1A62 str r2, [r3, #32] 7796 .L322: 4476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 7797 .loc 1 4476 11 view .LVU2658 7798 0168 B4F85C10 ldrh r1, [r4, #92] 7799 016c 2046 mov r0, r4 7800 016e FFF7FEFF bl HAL_UARTEx_RxEventCallback 7801 .LVL701: 7802 .L323: 4498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((rxdatacount != 0U) && (rxdatacount < huart->NbRxDataToProcess)) 7803 .loc 1 4498 5 view .LVU2659 4498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((rxdatacount != 0U) && (rxdatacount < huart->NbRxDataToProcess)) 7804 .loc 1 4498 17 is_stmt 0 view .LVU2660 7805 0172 B4F85E30 ldrh r3, [r4, #94] 7806 0176 9BB2 uxth r3, r3 7807 .LVL702: 4499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7808 .loc 1 4499 5 is_stmt 1 view .LVU2661 4499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7809 .loc 1 4499 8 is_stmt 0 view .LVU2662 7810 0178 002B cmp r3, #0 7811 017a 3FF453AF beq .L309 4499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7812 .loc 1 4499 52 discriminator 1 view .LVU2663 7813 017e B4F86820 ldrh r2, [r4, #104] 4499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7814 .loc 1 4499 29 discriminator 1 view .LVU2664 7815 0182 9A42 cmp r2, r3 7816 0184 7FF64EAF bls .L309 7817 .LVL703: 7818 .L326: 4502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7819 .loc 1 4502 7 is_stmt 1 discriminator 1 view .LVU2665 7820 .LBB891: 4502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7821 .loc 1 4502 7 discriminator 1 view .LVU2666 4502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7822 .loc 1 4502 7 discriminator 1 view .LVU2667 4502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7823 .loc 1 4502 7 discriminator 1 view .LVU2668 7824 0188 2268 ldr r2, [r4] 7825 .LVL704: 7826 .LBB892: 7827 .LBI892: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { ARM GAS /tmp/cciGf5I5.s page 279 7828 .loc 2 1151 31 view .LVU2669 7829 .LBB893: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 7830 .loc 2 1153 5 view .LVU2670 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7831 .loc 2 1155 4 view .LVU2671 7832 018a 02F10803 add r3, r2, #8 7833 .LVL705: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7834 .loc 2 1155 4 is_stmt 0 view .LVU2672 7835 .syntax unified 7836 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7837 018e 53E8003F ldrex r3, [r3] 7838 @ 0 "" 2 7839 .LVL706: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7840 .loc 2 1156 4 is_stmt 1 view .LVU2673 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7841 .loc 2 1156 4 is_stmt 0 view .LVU2674 7842 .thumb 7843 .syntax unified 7844 .LBE893: 7845 .LBE892: 4502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7846 .loc 1 4502 7 discriminator 1 view .LVU2675 7847 0192 23F08053 bic r3, r3, #268435456 7848 .LVL707: 4502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7849 .loc 1 4502 7 is_stmt 1 discriminator 1 view .LVU2676 7850 .LBB894: 7851 .LBI894: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7852 .loc 2 1202 31 view .LVU2677 7853 .LBB895: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 7854 .loc 2 1204 4 view .LVU2678 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7855 .loc 2 1206 4 view .LVU2679 7856 0196 0832 adds r2, r2, #8 7857 .LVL708: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7858 .loc 2 1206 4 is_stmt 0 view .LVU2680 7859 .syntax unified 7860 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7861 0198 42E80031 strex r1, r3, [r2] 7862 @ 0 "" 2 7863 .LVL709: 7864 .loc 2 1207 4 is_stmt 1 view .LVU2681 7865 .loc 2 1207 4 is_stmt 0 view .LVU2682 7866 .thumb 7867 .syntax unified 7868 .LBE895: 7869 .LBE894: 4502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7870 .loc 1 4502 7 discriminator 1 view .LVU2683 7871 019c 0029 cmp r1, #0 7872 019e F3D1 bne .L326 ARM GAS /tmp/cciGf5I5.s page 280 7873 .LBE891: 4502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7874 .loc 1 4502 7 is_stmt 1 discriminator 2 view .LVU2684 4505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7875 .loc 1 4505 7 view .LVU2685 4505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7876 .loc 1 4505 20 is_stmt 0 view .LVU2686 7877 01a0 084B ldr r3, .L331+4 7878 .LVL710: 4505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7879 .loc 1 4505 20 view .LVU2687 7880 01a2 6367 str r3, [r4, #116] 7881 .L327: 4508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7882 .loc 1 4508 7 is_stmt 1 discriminator 1 view .LVU2688 7883 .LBB896: 4508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7884 .loc 1 4508 7 discriminator 1 view .LVU2689 4508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7885 .loc 1 4508 7 discriminator 1 view .LVU2690 4508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7886 .loc 1 4508 7 discriminator 1 view .LVU2691 7887 01a4 2268 ldr r2, [r4] 7888 .LVL711: 7889 .LBB897: 7890 .LBI897: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7891 .loc 2 1151 31 view .LVU2692 7892 .LBB898: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 7893 .loc 2 1153 5 view .LVU2693 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7894 .loc 2 1155 4 view .LVU2694 7895 .syntax unified 7896 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7897 01a6 52E8003F ldrex r3, [r2] 7898 @ 0 "" 2 7899 .LVL712: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7900 .loc 2 1156 4 view .LVU2695 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7901 .loc 2 1156 4 is_stmt 0 view .LVU2696 7902 .thumb 7903 .syntax unified 7904 .LBE898: 7905 .LBE897: 4508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7906 .loc 1 4508 7 discriminator 1 view .LVU2697 7907 01aa 43F02003 orr r3, r3, #32 7908 .LVL713: 4508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7909 .loc 1 4508 7 is_stmt 1 discriminator 1 view .LVU2698 7910 .LBB899: 7911 .LBI899: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7912 .loc 2 1202 31 view .LVU2699 7913 .LBB900: ARM GAS /tmp/cciGf5I5.s page 281 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 7914 .loc 2 1204 4 view .LVU2700 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7915 .loc 2 1206 4 view .LVU2701 7916 .syntax unified 7917 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7918 01ae 42E80031 strex r1, r3, [r2] 7919 @ 0 "" 2 7920 .LVL714: 7921 .loc 2 1207 4 view .LVU2702 7922 .loc 2 1207 4 is_stmt 0 view .LVU2703 7923 .thumb 7924 .syntax unified 7925 .LBE900: 7926 .LBE899: 4508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7927 .loc 1 4508 7 discriminator 1 view .LVU2704 7928 01b2 0029 cmp r1, #0 7929 01b4 F6D1 bne .L327 7930 01b6 35E7 b .L309 7931 .LVL715: 7932 .L320: 4508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7933 .loc 1 4508 7 discriminator 1 view .LVU2705 7934 .LBE896: 4487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 7935 .loc 1 4487 11 is_stmt 1 view .LVU2706 7936 01b8 2046 mov r0, r4 7937 01ba FFF7FEFF bl HAL_UART_RxCpltCallback 7938 .LVL716: 7939 01be D8E7 b .L323 7940 .L332: 7941 .align 2 7942 .L331: 7943 01c0 00800040 .word 1073774592 7944 01c4 00000000 .word UART_RxISR_8BIT 7945 .cfi_endproc 7946 .LFE397: 7948 .section .text.UART_RxISR_16BIT_FIFOEN,"ax",%progbits 7949 .align 1 7950 .syntax unified 7951 .thumb 7952 .thumb_func 7954 UART_RxISR_16BIT_FIFOEN: 7955 .LVL717: 7956 .LFB398: 4517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 4519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief RX interrupt handler for 9 bits data word length and FIFO mode is enabled. 4520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note Function is called under interruption only, once 4521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Receive_IT() 4522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 4523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 4524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 4525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_RxISR_16BIT_FIFOEN(UART_HandleTypeDef *huart) 4526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7957 .loc 1 4526 1 view -0 ARM GAS /tmp/cciGf5I5.s page 282 7958 .cfi_startproc 7959 @ args = 0, pretend = 0, frame = 0 7960 @ frame_needed = 0, uses_anonymous_args = 0 7961 .loc 1 4526 1 is_stmt 0 view .LVU2708 7962 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr} 7963 .LCFI28: 7964 .cfi_def_cfa_offset 32 7965 .cfi_offset 3, -32 7966 .cfi_offset 4, -28 7967 .cfi_offset 5, -24 7968 .cfi_offset 6, -20 7969 .cfi_offset 7, -16 7970 .cfi_offset 8, -12 7971 .cfi_offset 9, -8 7972 .cfi_offset 14, -4 4527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t *tmp; 7973 .loc 1 4527 3 is_stmt 1 view .LVU2709 4528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t uhMask = huart->Mask; 7974 .loc 1 4528 3 view .LVU2710 7975 .loc 1 4528 13 is_stmt 0 view .LVU2711 7976 0004 B0F86050 ldrh r5, [r0, #96] 7977 .LVL718: 4529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t uhdata; 7978 .loc 1 4529 3 is_stmt 1 view .LVU2712 4530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t nb_rx_data; 7979 .loc 1 4530 3 view .LVU2713 4531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t rxdatacount; 7980 .loc 1 4531 3 view .LVU2714 4532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR); 7981 .loc 1 4532 3 view .LVU2715 7982 .loc 1 4532 24 is_stmt 0 view .LVU2716 7983 0008 0368 ldr r3, [r0] 7984 .loc 1 4532 13 view .LVU2717 7985 000a D3F81C90 ldr r9, [r3, #28] 7986 .LVL719: 4533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 7987 .loc 1 4533 3 is_stmt 1 view .LVU2718 7988 .loc 1 4533 13 is_stmt 0 view .LVU2719 7989 000e D3F80080 ldr r8, [r3] 7990 .LVL720: 4534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3); 7991 .loc 1 4534 3 is_stmt 1 view .LVU2720 7992 .loc 1 4534 13 is_stmt 0 view .LVU2721 7993 0012 9F68 ldr r7, [r3, #8] 7994 .LVL721: 4535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Rx process is ongoing */ 4537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX) 7995 .loc 1 4537 3 is_stmt 1 view .LVU2722 7996 .loc 1 4537 12 is_stmt 0 view .LVU2723 7997 0014 D0F88C20 ldr r2, [r0, #140] 7998 .loc 1 4537 6 view .LVU2724 7999 0018 222A cmp r2, #34 8000 001a 05D0 beq .L353 4538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** nb_rx_data = huart->NbRxDataToProcess; 4540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** while ((nb_rx_data > 0U) && ((isrflags & USART_ISR_RXNE_RXFNE) != 0U)) ARM GAS /tmp/cciGf5I5.s page 283 4541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR); 4543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ; 4544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask); 4545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 4546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 4547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** isrflags = READ_REG(huart->Instance->ISR); 4548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If some non blocking errors occurred */ 4550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((isrflags & (USART_ISR_PE | USART_ISR_FE | USART_ISR_NE)) != 0U) 4551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART parity error interrupt occurred -------------------------------------*/ 4553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_PE) != 0U) && ((cr1its & USART_CR1_PEIE) != 0U)) 4554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_PEF); 4556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_PE; 4558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART frame error interrupt occurred --------------------------------------*/ 4561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_FE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U)) 4562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_FEF); 4564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_FE; 4566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART noise error interrupt occurred --------------------------------------*/ 4569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_NE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U)) 4570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_NEF); 4572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_NE; 4574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call UART Error Call back function if need be ----------------------------*/ 4577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ErrorCode != HAL_UART_ERROR_NONE) 4578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Non Blocking error : transfer could go on. 4580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Error is notified to user through user error callback */ 4581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 4582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered error callback*/ 4583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCallback(huart); 4584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 4585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak error callback*/ 4586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 4587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 4589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxXferCount == 0U) 4593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXFT interrupt*/ 4595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); 4596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) ARM GAS /tmp/cciGf5I5.s page 284 4598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** and RX FIFO Threshold interrupt */ 4599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 4600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */ 4602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear RxISR function pointer */ 4605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL; 4606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Initialize type of RxEvent to Transfer Complete */ 4608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 4609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance))) 4611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that USART RTOEN bit is set */ 4613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U) 4614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */ 4616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_RTOIE); 4617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check current reception Mode : 4621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** If Reception till IDLE event has been selected : */ 4622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 4623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set reception type to Standard */ 4625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable IDLE interrupt */ 4628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 4629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE) == SET) 4631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear IDLE Flag */ 4633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF); 4634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 4637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx Event callback*/ 4638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize); 4639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 4640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 4641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize); 4642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 4643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 4645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Standard reception API called */ 4647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 4648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx complete callback*/ 4649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxCpltCallback(huart); 4650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 4651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/ 4652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart); 4653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cciGf5I5.s page 285 4655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 4656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* When remaining number of bytes to receive is less than the RX FIFO 4660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** threshold, next incoming frames are processed as if FIFO mode was 4661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** disabled (i.e. one interrupt per received frame). 4662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 4663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** rxdatacount = huart->RxXferCount; 4664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((rxdatacount != 0U) && (rxdatacount < huart->NbRxDataToProcess)) 4665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART RXFT interrupt*/ 4667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_RXFTIE); 4668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Update the RxISR function pointer */ 4670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = UART_RxISR_16BIT; 4671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Data Register Not Empty interrupt */ 4673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RXNEIE_RXFNEIE); 4674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 4677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear RXNE interrupt flag */ 4679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 8001 .loc 1 4679 5 is_stmt 1 view .LVU2725 8002 001c 9A69 ldr r2, [r3, #24] 8003 001e 42F00802 orr r2, r2, #8 8004 0022 9A61 str r2, [r3, #24] 8005 .LVL722: 8006 .L333: 4680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8007 .loc 1 4681 1 is_stmt 0 view .LVU2726 8008 0024 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 8009 .LVL723: 8010 .L353: 8011 .loc 1 4681 1 view .LVU2727 8012 0028 0446 mov r4, r0 4539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** while ((nb_rx_data > 0U) && ((isrflags & USART_ISR_RXNE_RXFNE) != 0U)) 8013 .loc 1 4539 5 is_stmt 1 view .LVU2728 4539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** while ((nb_rx_data > 0U) && ((isrflags & USART_ISR_RXNE_RXFNE) != 0U)) 8014 .loc 1 4539 16 is_stmt 0 view .LVU2729 8015 002a B0F86860 ldrh r6, [r0, #104] 8016 .LVL724: 4540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8017 .loc 1 4540 5 is_stmt 1 view .LVU2730 4540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8018 .loc 1 4540 11 is_stmt 0 view .LVU2731 8019 002e 08E0 b .L335 8020 .LVL725: 8021 .L339: 4577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8022 .loc 1 4577 9 is_stmt 1 view .LVU2732 4577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8023 .loc 1 4577 18 is_stmt 0 view .LVU2733 8024 0030 D4F89030 ldr r3, [r4, #144] ARM GAS /tmp/cciGf5I5.s page 286 4577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8025 .loc 1 4577 12 view .LVU2734 8026 0034 002B cmp r3, #0 8027 0036 4CD1 bne .L354 8028 .L336: 4592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8029 .loc 1 4592 7 is_stmt 1 view .LVU2735 4592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8030 .loc 1 4592 16 is_stmt 0 view .LVU2736 8031 0038 B4F85E30 ldrh r3, [r4, #94] 8032 003c 9BB2 uxth r3, r3 4592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8033 .loc 1 4592 10 view .LVU2737 8034 003e 002B cmp r3, #0 8035 0040 4ED0 beq .L340 8036 .LVL726: 8037 .L335: 4540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8038 .loc 1 4540 30 is_stmt 1 view .LVU2738 8039 0042 002E cmp r6, #0 8040 0044 00F09480 beq .L347 4540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8041 .loc 1 4540 30 is_stmt 0 discriminator 1 view .LVU2739 8042 0048 19F0200F tst r9, #32 8043 004c 00F09080 beq .L347 4542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ; 8044 .loc 1 4542 7 is_stmt 1 view .LVU2740 4542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ; 8045 .loc 1 4542 27 is_stmt 0 view .LVU2741 8046 0050 2368 ldr r3, [r4] 8047 0052 5B6A ldr r3, [r3, #36] 8048 .LVL727: 4543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask); 8049 .loc 1 4543 7 is_stmt 1 view .LVU2742 4543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask); 8050 .loc 1 4543 11 is_stmt 0 view .LVU2743 8051 0054 A26D ldr r2, [r4, #88] 8052 .LVL728: 4544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 8053 .loc 1 4544 7 is_stmt 1 view .LVU2744 4544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 8054 .loc 1 4544 14 is_stmt 0 view .LVU2745 8055 0056 2B40 ands r3, r3, r5 8056 .LVL729: 4544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 8057 .loc 1 4544 12 view .LVU2746 8058 0058 1380 strh r3, [r2] @ movhi 4545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 8059 .loc 1 4545 7 is_stmt 1 view .LVU2747 4545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 8060 .loc 1 4545 12 is_stmt 0 view .LVU2748 8061 005a A36D ldr r3, [r4, #88] 4545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 8062 .loc 1 4545 25 view .LVU2749 8063 005c 0233 adds r3, r3, #2 8064 005e A365 str r3, [r4, #88] 4546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** isrflags = READ_REG(huart->Instance->ISR); ARM GAS /tmp/cciGf5I5.s page 287 8065 .loc 1 4546 7 is_stmt 1 view .LVU2750 4546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** isrflags = READ_REG(huart->Instance->ISR); 8066 .loc 1 4546 12 is_stmt 0 view .LVU2751 8067 0060 B4F85E30 ldrh r3, [r4, #94] 8068 0064 9BB2 uxth r3, r3 4546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** isrflags = READ_REG(huart->Instance->ISR); 8069 .loc 1 4546 25 view .LVU2752 8070 0066 013B subs r3, r3, #1 8071 0068 9BB2 uxth r3, r3 8072 006a A4F85E30 strh r3, [r4, #94] @ movhi 4547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8073 .loc 1 4547 7 is_stmt 1 view .LVU2753 4547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8074 .loc 1 4547 18 is_stmt 0 view .LVU2754 8075 006e 2368 ldr r3, [r4] 4547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8076 .loc 1 4547 16 view .LVU2755 8077 0070 D3F81C90 ldr r9, [r3, #28] 8078 .LVL730: 4550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8079 .loc 1 4550 7 is_stmt 1 view .LVU2756 4550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8080 .loc 1 4550 10 is_stmt 0 view .LVU2757 8081 0074 19F0070F tst r9, #7 8082 0078 DED0 beq .L336 4553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8083 .loc 1 4553 9 is_stmt 1 view .LVU2758 4553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8084 .loc 1 4553 12 is_stmt 0 view .LVU2759 8085 007a 19F0010F tst r9, #1 8086 007e 09D0 beq .L337 4553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8087 .loc 1 4553 47 discriminator 1 view .LVU2760 8088 0080 18F4807F tst r8, #256 8089 0084 06D0 beq .L337 4555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8090 .loc 1 4555 11 is_stmt 1 view .LVU2761 8091 0086 0122 movs r2, #1 8092 .LVL731: 4555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8093 .loc 1 4555 11 is_stmt 0 view .LVU2762 8094 0088 1A62 str r2, [r3, #32] 4557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8095 .loc 1 4557 11 is_stmt 1 view .LVU2763 4557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8096 .loc 1 4557 16 is_stmt 0 view .LVU2764 8097 008a D4F89030 ldr r3, [r4, #144] 4557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8098 .loc 1 4557 28 view .LVU2765 8099 008e 1343 orrs r3, r3, r2 8100 0090 C4F89030 str r3, [r4, #144] 8101 .L337: 4561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8102 .loc 1 4561 9 is_stmt 1 view .LVU2766 4561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8103 .loc 1 4561 12 is_stmt 0 view .LVU2767 8104 0094 19F0020F tst r9, #2 ARM GAS /tmp/cciGf5I5.s page 288 8105 0098 0BD0 beq .L338 4561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8106 .loc 1 4561 47 discriminator 1 view .LVU2768 8107 009a 17F0010F tst r7, #1 8108 009e 08D0 beq .L338 4563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8109 .loc 1 4563 11 is_stmt 1 view .LVU2769 8110 00a0 2368 ldr r3, [r4] 8111 00a2 0222 movs r2, #2 8112 00a4 1A62 str r2, [r3, #32] 4565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8113 .loc 1 4565 11 view .LVU2770 4565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8114 .loc 1 4565 16 is_stmt 0 view .LVU2771 8115 00a6 D4F89030 ldr r3, [r4, #144] 4565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8116 .loc 1 4565 28 view .LVU2772 8117 00aa 43F00403 orr r3, r3, #4 8118 00ae C4F89030 str r3, [r4, #144] 8119 .L338: 4569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8120 .loc 1 4569 9 is_stmt 1 view .LVU2773 4569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8121 .loc 1 4569 12 is_stmt 0 view .LVU2774 8122 00b2 19F0040F tst r9, #4 8123 00b6 BBD0 beq .L339 4569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8124 .loc 1 4569 47 discriminator 1 view .LVU2775 8125 00b8 17F0010F tst r7, #1 8126 00bc B8D0 beq .L339 4571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8127 .loc 1 4571 11 is_stmt 1 view .LVU2776 8128 00be 2368 ldr r3, [r4] 8129 00c0 0422 movs r2, #4 8130 00c2 1A62 str r2, [r3, #32] 4573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8131 .loc 1 4573 11 view .LVU2777 4573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8132 .loc 1 4573 16 is_stmt 0 view .LVU2778 8133 00c4 D4F89030 ldr r3, [r4, #144] 4573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8134 .loc 1 4573 28 view .LVU2779 8135 00c8 43F00203 orr r3, r3, #2 8136 00cc C4F89030 str r3, [r4, #144] 8137 00d0 AEE7 b .L339 8138 .L354: 4586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 8139 .loc 1 4586 11 is_stmt 1 view .LVU2780 8140 00d2 2046 mov r0, r4 8141 00d4 FFF7FEFF bl HAL_UART_ErrorCallback 8142 .LVL732: 4588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8143 .loc 1 4588 11 view .LVU2781 4588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8144 .loc 1 4588 28 is_stmt 0 view .LVU2782 8145 00d8 0023 movs r3, #0 8146 00da C4F89030 str r3, [r4, #144] ARM GAS /tmp/cciGf5I5.s page 289 8147 00de ABE7 b .L336 8148 .L340: 4595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8149 .loc 1 4595 9 is_stmt 1 discriminator 1 view .LVU2783 8150 .LBB901: 4595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8151 .loc 1 4595 9 discriminator 1 view .LVU2784 4595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8152 .loc 1 4595 9 discriminator 1 view .LVU2785 4595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8153 .loc 1 4595 9 discriminator 1 view .LVU2786 8154 00e0 2268 ldr r2, [r4] 8155 .LVL733: 8156 .LBB902: 8157 .LBI902: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8158 .loc 2 1151 31 view .LVU2787 8159 .LBB903: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 8160 .loc 2 1153 5 view .LVU2788 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8161 .loc 2 1155 4 view .LVU2789 8162 .syntax unified 8163 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8164 00e2 52E8003F ldrex r3, [r2] 8165 @ 0 "" 2 8166 .LVL734: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8167 .loc 2 1156 4 view .LVU2790 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8168 .loc 2 1156 4 is_stmt 0 view .LVU2791 8169 .thumb 8170 .syntax unified 8171 .LBE903: 8172 .LBE902: 4595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8173 .loc 1 4595 9 discriminator 1 view .LVU2792 8174 00e6 23F48073 bic r3, r3, #256 8175 .LVL735: 4595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8176 .loc 1 4595 9 is_stmt 1 discriminator 1 view .LVU2793 8177 .LBB904: 8178 .LBI904: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8179 .loc 2 1202 31 view .LVU2794 8180 .LBB905: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 8181 .loc 2 1204 4 view .LVU2795 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8182 .loc 2 1206 4 view .LVU2796 8183 .syntax unified 8184 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8185 00ea 42E80031 strex r1, r3, [r2] 8186 @ 0 "" 2 8187 .LVL736: 8188 .loc 2 1207 4 view .LVU2797 8189 .loc 2 1207 4 is_stmt 0 view .LVU2798 ARM GAS /tmp/cciGf5I5.s page 290 8190 .thumb 8191 .syntax unified 8192 .LBE905: 8193 .LBE904: 4595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8194 .loc 1 4595 9 discriminator 1 view .LVU2799 8195 00ee 0029 cmp r1, #0 8196 00f0 F6D1 bne .L340 8197 .LVL737: 8198 .L341: 4595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8199 .loc 1 4595 9 discriminator 1 view .LVU2800 8200 .LBE901: 4595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8201 .loc 1 4595 9 is_stmt 1 discriminator 2 view .LVU2801 4599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8202 .loc 1 4599 9 discriminator 1 view .LVU2802 8203 .LBB906: 4599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8204 .loc 1 4599 9 discriminator 1 view .LVU2803 4599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8205 .loc 1 4599 9 discriminator 1 view .LVU2804 4599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8206 .loc 1 4599 9 discriminator 1 view .LVU2805 8207 00f2 2268 ldr r2, [r4] 8208 .LVL738: 8209 .LBB907: 8210 .LBI907: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8211 .loc 2 1151 31 view .LVU2806 8212 .LBB908: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 8213 .loc 2 1153 5 view .LVU2807 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8214 .loc 2 1155 4 view .LVU2808 8215 00f4 02F10803 add r3, r2, #8 8216 .LVL739: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8217 .loc 2 1155 4 is_stmt 0 view .LVU2809 8218 .syntax unified 8219 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8220 00f8 53E8003F ldrex r3, [r3] 8221 @ 0 "" 2 8222 .LVL740: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8223 .loc 2 1156 4 is_stmt 1 view .LVU2810 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8224 .loc 2 1156 4 is_stmt 0 view .LVU2811 8225 .thumb 8226 .syntax unified 8227 .LBE908: 8228 .LBE907: 4599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8229 .loc 1 4599 9 discriminator 1 view .LVU2812 8230 00fc 23F08053 bic r3, r3, #268435456 8231 0100 23F00103 bic r3, r3, #1 8232 .LVL741: ARM GAS /tmp/cciGf5I5.s page 291 4599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8233 .loc 1 4599 9 is_stmt 1 discriminator 1 view .LVU2813 8234 .LBB909: 8235 .LBI909: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8236 .loc 2 1202 31 view .LVU2814 8237 .LBB910: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 8238 .loc 2 1204 4 view .LVU2815 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8239 .loc 2 1206 4 view .LVU2816 8240 0104 0832 adds r2, r2, #8 8241 .LVL742: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8242 .loc 2 1206 4 is_stmt 0 view .LVU2817 8243 .syntax unified 8244 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8245 0106 42E80031 strex r1, r3, [r2] 8246 @ 0 "" 2 8247 .LVL743: 8248 .loc 2 1207 4 is_stmt 1 view .LVU2818 8249 .loc 2 1207 4 is_stmt 0 view .LVU2819 8250 .thumb 8251 .syntax unified 8252 .LBE910: 8253 .LBE909: 4599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8254 .loc 1 4599 9 discriminator 1 view .LVU2820 8255 010a 0029 cmp r1, #0 8256 010c F1D1 bne .L341 8257 .LBE906: 4599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8258 .loc 1 4599 9 is_stmt 1 discriminator 2 view .LVU2821 4602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8259 .loc 1 4602 9 view .LVU2822 4602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8260 .loc 1 4602 24 is_stmt 0 view .LVU2823 8261 010e 2023 movs r3, #32 8262 .LVL744: 4602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8263 .loc 1 4602 24 view .LVU2824 8264 0110 C4F88C30 str r3, [r4, #140] 4605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8265 .loc 1 4605 9 is_stmt 1 view .LVU2825 4605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8266 .loc 1 4605 22 is_stmt 0 view .LVU2826 8267 0114 0023 movs r3, #0 8268 0116 6367 str r3, [r4, #116] 4608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8269 .loc 1 4608 9 is_stmt 1 view .LVU2827 4608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8270 .loc 1 4608 28 is_stmt 0 view .LVU2828 8271 0118 2367 str r3, [r4, #112] 4610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8272 .loc 1 4610 9 is_stmt 1 view .LVU2829 4610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8273 .loc 1 4610 15 is_stmt 0 view .LVU2830 ARM GAS /tmp/cciGf5I5.s page 292 8274 011a 2368 ldr r3, [r4] 4610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8275 .loc 1 4610 12 view .LVU2831 8276 011c 284A ldr r2, .L355 8277 011e 9342 cmp r3, r2 8278 0120 0CD0 beq .L342 4613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8279 .loc 1 4613 11 is_stmt 1 view .LVU2832 4613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8280 .loc 1 4613 15 is_stmt 0 view .LVU2833 8281 0122 5B68 ldr r3, [r3, #4] 4613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8282 .loc 1 4613 14 view .LVU2834 8283 0124 13F4000F tst r3, #8388608 8284 0128 08D0 beq .L342 8285 .L343: 4616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8286 .loc 1 4616 13 is_stmt 1 discriminator 1 view .LVU2835 8287 .LBB911: 4616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8288 .loc 1 4616 13 discriminator 1 view .LVU2836 4616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8289 .loc 1 4616 13 discriminator 1 view .LVU2837 4616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8290 .loc 1 4616 13 discriminator 1 view .LVU2838 8291 012a 2268 ldr r2, [r4] 8292 .LVL745: 8293 .LBB912: 8294 .LBI912: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8295 .loc 2 1151 31 view .LVU2839 8296 .LBB913: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 8297 .loc 2 1153 5 view .LVU2840 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8298 .loc 2 1155 4 view .LVU2841 8299 .syntax unified 8300 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8301 012c 52E8003F ldrex r3, [r2] 8302 @ 0 "" 2 8303 .LVL746: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8304 .loc 2 1156 4 view .LVU2842 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8305 .loc 2 1156 4 is_stmt 0 view .LVU2843 8306 .thumb 8307 .syntax unified 8308 .LBE913: 8309 .LBE912: 4616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8310 .loc 1 4616 13 discriminator 1 view .LVU2844 8311 0130 23F08063 bic r3, r3, #67108864 8312 .LVL747: 4616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8313 .loc 1 4616 13 is_stmt 1 discriminator 1 view .LVU2845 8314 .LBB914: 8315 .LBI914: ARM GAS /tmp/cciGf5I5.s page 293 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8316 .loc 2 1202 31 view .LVU2846 8317 .LBB915: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 8318 .loc 2 1204 4 view .LVU2847 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8319 .loc 2 1206 4 view .LVU2848 8320 .syntax unified 8321 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8322 0134 42E80031 strex r1, r3, [r2] 8323 @ 0 "" 2 8324 .LVL748: 8325 .loc 2 1207 4 view .LVU2849 8326 .loc 2 1207 4 is_stmt 0 view .LVU2850 8327 .thumb 8328 .syntax unified 8329 .LBE915: 8330 .LBE914: 4616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8331 .loc 1 4616 13 discriminator 1 view .LVU2851 8332 0138 0029 cmp r1, #0 8333 013a F6D1 bne .L343 8334 .LVL749: 8335 .L342: 4616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8336 .loc 1 4616 13 discriminator 1 view .LVU2852 8337 .LBE911: 4616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8338 .loc 1 4616 13 is_stmt 1 discriminator 2 view .LVU2853 4622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8339 .loc 1 4622 9 view .LVU2854 4622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8340 .loc 1 4622 18 is_stmt 0 view .LVU2855 8341 013c E36E ldr r3, [r4, #108] 4622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8342 .loc 1 4622 12 view .LVU2856 8343 013e 012B cmp r3, #1 8344 0140 39D1 bne .L344 4625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8345 .loc 1 4625 11 is_stmt 1 view .LVU2857 4625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8346 .loc 1 4625 32 is_stmt 0 view .LVU2858 8347 0142 0023 movs r3, #0 8348 0144 E366 str r3, [r4, #108] 8349 .L345: 4628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8350 .loc 1 4628 11 is_stmt 1 discriminator 1 view .LVU2859 8351 .LBB916: 4628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8352 .loc 1 4628 11 discriminator 1 view .LVU2860 4628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8353 .loc 1 4628 11 discriminator 1 view .LVU2861 4628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8354 .loc 1 4628 11 discriminator 1 view .LVU2862 8355 0146 2268 ldr r2, [r4] 8356 .LVL750: 8357 .LBB917: ARM GAS /tmp/cciGf5I5.s page 294 8358 .LBI917: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8359 .loc 2 1151 31 view .LVU2863 8360 .LBB918: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 8361 .loc 2 1153 5 view .LVU2864 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8362 .loc 2 1155 4 view .LVU2865 8363 .syntax unified 8364 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8365 0148 52E8003F ldrex r3, [r2] 8366 @ 0 "" 2 8367 .LVL751: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8368 .loc 2 1156 4 view .LVU2866 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8369 .loc 2 1156 4 is_stmt 0 view .LVU2867 8370 .thumb 8371 .syntax unified 8372 .LBE918: 8373 .LBE917: 4628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8374 .loc 1 4628 11 discriminator 1 view .LVU2868 8375 014c 23F01003 bic r3, r3, #16 8376 .LVL752: 4628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8377 .loc 1 4628 11 is_stmt 1 discriminator 1 view .LVU2869 8378 .LBB919: 8379 .LBI919: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8380 .loc 2 1202 31 view .LVU2870 8381 .LBB920: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 8382 .loc 2 1204 4 view .LVU2871 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8383 .loc 2 1206 4 view .LVU2872 8384 .syntax unified 8385 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8386 0150 42E80031 strex r1, r3, [r2] 8387 @ 0 "" 2 8388 .LVL753: 8389 .loc 2 1207 4 view .LVU2873 8390 .loc 2 1207 4 is_stmt 0 view .LVU2874 8391 .thumb 8392 .syntax unified 8393 .LBE920: 8394 .LBE919: 4628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8395 .loc 1 4628 11 discriminator 1 view .LVU2875 8396 0154 0029 cmp r1, #0 8397 0156 F6D1 bne .L345 8398 .LBE916: 4628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8399 .loc 1 4628 11 is_stmt 1 discriminator 2 view .LVU2876 4630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8400 .loc 1 4630 11 view .LVU2877 4630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cciGf5I5.s page 295 8401 .loc 1 4630 15 is_stmt 0 view .LVU2878 8402 0158 2368 ldr r3, [r4] 8403 .LVL754: 4630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8404 .loc 1 4630 15 view .LVU2879 8405 015a DA69 ldr r2, [r3, #28] 4630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8406 .loc 1 4630 14 view .LVU2880 8407 015c 12F0100F tst r2, #16 8408 0160 01D0 beq .L346 4633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8409 .loc 1 4633 13 is_stmt 1 view .LVU2881 8410 0162 1022 movs r2, #16 8411 0164 1A62 str r2, [r3, #32] 8412 .L346: 4641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 8413 .loc 1 4641 11 view .LVU2882 8414 0166 B4F85C10 ldrh r1, [r4, #92] 8415 016a 2046 mov r0, r4 8416 016c FFF7FEFF bl HAL_UARTEx_RxEventCallback 8417 .LVL755: 8418 .L347: 4663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((rxdatacount != 0U) && (rxdatacount < huart->NbRxDataToProcess)) 8419 .loc 1 4663 5 view .LVU2883 4663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((rxdatacount != 0U) && (rxdatacount < huart->NbRxDataToProcess)) 8420 .loc 1 4663 17 is_stmt 0 view .LVU2884 8421 0170 B4F85E30 ldrh r3, [r4, #94] 8422 0174 9BB2 uxth r3, r3 8423 .LVL756: 4664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8424 .loc 1 4664 5 is_stmt 1 view .LVU2885 4664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8425 .loc 1 4664 8 is_stmt 0 view .LVU2886 8426 0176 002B cmp r3, #0 8427 0178 3FF454AF beq .L333 4664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8428 .loc 1 4664 52 discriminator 1 view .LVU2887 8429 017c B4F86820 ldrh r2, [r4, #104] 4664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8430 .loc 1 4664 29 discriminator 1 view .LVU2888 8431 0180 9A42 cmp r2, r3 8432 0182 7FF64FAF bls .L333 8433 .LVL757: 8434 .L350: 4667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8435 .loc 1 4667 7 is_stmt 1 discriminator 1 view .LVU2889 8436 .LBB921: 4667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8437 .loc 1 4667 7 discriminator 1 view .LVU2890 4667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8438 .loc 1 4667 7 discriminator 1 view .LVU2891 4667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8439 .loc 1 4667 7 discriminator 1 view .LVU2892 8440 0186 2268 ldr r2, [r4] 8441 .LVL758: 8442 .LBB922: 8443 .LBI922: ARM GAS /tmp/cciGf5I5.s page 296 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8444 .loc 2 1151 31 view .LVU2893 8445 .LBB923: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 8446 .loc 2 1153 5 view .LVU2894 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8447 .loc 2 1155 4 view .LVU2895 8448 0188 02F10803 add r3, r2, #8 8449 .LVL759: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8450 .loc 2 1155 4 is_stmt 0 view .LVU2896 8451 .syntax unified 8452 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8453 018c 53E8003F ldrex r3, [r3] 8454 @ 0 "" 2 8455 .LVL760: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8456 .loc 2 1156 4 is_stmt 1 view .LVU2897 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8457 .loc 2 1156 4 is_stmt 0 view .LVU2898 8458 .thumb 8459 .syntax unified 8460 .LBE923: 8461 .LBE922: 4667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8462 .loc 1 4667 7 discriminator 1 view .LVU2899 8463 0190 23F08053 bic r3, r3, #268435456 8464 .LVL761: 4667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8465 .loc 1 4667 7 is_stmt 1 discriminator 1 view .LVU2900 8466 .LBB924: 8467 .LBI924: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8468 .loc 2 1202 31 view .LVU2901 8469 .LBB925: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 8470 .loc 2 1204 4 view .LVU2902 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8471 .loc 2 1206 4 view .LVU2903 8472 0194 0832 adds r2, r2, #8 8473 .LVL762: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8474 .loc 2 1206 4 is_stmt 0 view .LVU2904 8475 .syntax unified 8476 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8477 0196 42E80031 strex r1, r3, [r2] 8478 @ 0 "" 2 8479 .LVL763: 8480 .loc 2 1207 4 is_stmt 1 view .LVU2905 8481 .loc 2 1207 4 is_stmt 0 view .LVU2906 8482 .thumb 8483 .syntax unified 8484 .LBE925: 8485 .LBE924: 4667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8486 .loc 1 4667 7 discriminator 1 view .LVU2907 8487 019a 0029 cmp r1, #0 ARM GAS /tmp/cciGf5I5.s page 297 8488 019c F3D1 bne .L350 8489 .LBE921: 4667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8490 .loc 1 4667 7 is_stmt 1 discriminator 2 view .LVU2908 4670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8491 .loc 1 4670 7 view .LVU2909 4670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8492 .loc 1 4670 20 is_stmt 0 view .LVU2910 8493 019e 094B ldr r3, .L355+4 8494 .LVL764: 4670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8495 .loc 1 4670 20 view .LVU2911 8496 01a0 6367 str r3, [r4, #116] 8497 .L351: 4673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8498 .loc 1 4673 7 is_stmt 1 discriminator 1 view .LVU2912 8499 .LBB926: 4673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8500 .loc 1 4673 7 discriminator 1 view .LVU2913 4673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8501 .loc 1 4673 7 discriminator 1 view .LVU2914 4673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8502 .loc 1 4673 7 discriminator 1 view .LVU2915 8503 01a2 2268 ldr r2, [r4] 8504 .LVL765: 8505 .LBB927: 8506 .LBI927: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8507 .loc 2 1151 31 view .LVU2916 8508 .LBB928: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 8509 .loc 2 1153 5 view .LVU2917 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8510 .loc 2 1155 4 view .LVU2918 8511 .syntax unified 8512 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8513 01a4 52E8003F ldrex r3, [r2] 8514 @ 0 "" 2 8515 .LVL766: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8516 .loc 2 1156 4 view .LVU2919 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8517 .loc 2 1156 4 is_stmt 0 view .LVU2920 8518 .thumb 8519 .syntax unified 8520 .LBE928: 8521 .LBE927: 4673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8522 .loc 1 4673 7 discriminator 1 view .LVU2921 8523 01a8 43F02003 orr r3, r3, #32 8524 .LVL767: 4673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8525 .loc 1 4673 7 is_stmt 1 discriminator 1 view .LVU2922 8526 .LBB929: 8527 .LBI929: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8528 .loc 2 1202 31 view .LVU2923 ARM GAS /tmp/cciGf5I5.s page 298 8529 .LBB930: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 8530 .loc 2 1204 4 view .LVU2924 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8531 .loc 2 1206 4 view .LVU2925 8532 .syntax unified 8533 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8534 01ac 42E80031 strex r1, r3, [r2] 8535 @ 0 "" 2 8536 .LVL768: 8537 .loc 2 1207 4 view .LVU2926 8538 .loc 2 1207 4 is_stmt 0 view .LVU2927 8539 .thumb 8540 .syntax unified 8541 .LBE930: 8542 .LBE929: 4673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8543 .loc 1 4673 7 discriminator 1 view .LVU2928 8544 01b0 0029 cmp r1, #0 8545 01b2 F6D1 bne .L351 8546 01b4 36E7 b .L333 8547 .LVL769: 8548 .L344: 4673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8549 .loc 1 4673 7 discriminator 1 view .LVU2929 8550 .LBE926: 4652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 8551 .loc 1 4652 11 is_stmt 1 view .LVU2930 8552 01b6 2046 mov r0, r4 8553 01b8 FFF7FEFF bl HAL_UART_RxCpltCallback 8554 .LVL770: 8555 01bc D8E7 b .L347 8556 .L356: 8557 01be 00BF .align 2 8558 .L355: 8559 01c0 00800040 .word 1073774592 8560 01c4 00000000 .word UART_RxISR_16BIT 8561 .cfi_endproc 8562 .LFE398: 8564 .section .text.UART_DMARxHalfCplt,"ax",%progbits 8565 .align 1 8566 .syntax unified 8567 .thumb 8568 .thumb_func 8570 UART_DMARxHalfCplt: 8571 .LVL771: 8572 .LFB383: 3739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 8573 .loc 1 3739 1 view -0 8574 .cfi_startproc 8575 @ args = 0, pretend = 0, frame = 0 8576 @ frame_needed = 0, uses_anonymous_args = 0 3739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 8577 .loc 1 3739 1 is_stmt 0 view .LVU2932 8578 0000 08B5 push {r3, lr} 8579 .LCFI29: 8580 .cfi_def_cfa_offset 8 ARM GAS /tmp/cciGf5I5.s page 299 8581 .cfi_offset 3, -8 8582 .cfi_offset 14, -4 3740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8583 .loc 1 3740 3 is_stmt 1 view .LVU2933 3740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8584 .loc 1 3740 23 is_stmt 0 view .LVU2934 8585 0002 806A ldr r0, [r0, #40] 8586 .LVL772: 3744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8587 .loc 1 3744 3 is_stmt 1 view .LVU2935 3744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8588 .loc 1 3744 22 is_stmt 0 view .LVU2936 8589 0004 0123 movs r3, #1 8590 0006 0367 str r3, [r0, #112] 3748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8591 .loc 1 3748 3 is_stmt 1 view .LVU2937 3748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8592 .loc 1 3748 12 is_stmt 0 view .LVU2938 8593 0008 C36E ldr r3, [r0, #108] 3748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8594 .loc 1 3748 6 view .LVU2939 8595 000a 012B cmp r3, #1 8596 000c 02D0 beq .L361 3766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 8597 .loc 1 3766 5 is_stmt 1 view .LVU2940 8598 000e FFF7FEFF bl HAL_UART_RxHalfCpltCallback 8599 .LVL773: 8600 .L357: 3769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8601 .loc 1 3769 1 is_stmt 0 view .LVU2941 8602 0012 08BD pop {r3, pc} 8603 .LVL774: 8604 .L361: 3755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 8605 .loc 1 3755 5 is_stmt 1 view .LVU2942 3755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 8606 .loc 1 3755 44 is_stmt 0 view .LVU2943 8607 0014 B0F85C10 ldrh r1, [r0, #92] 3755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 8608 .loc 1 3755 5 view .LVU2944 8609 0018 4908 lsrs r1, r1, #1 8610 001a FFF7FEFF bl HAL_UARTEx_RxEventCallback 8611 .LVL775: 3755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 8612 .loc 1 3755 5 view .LVU2945 8613 001e F8E7 b .L357 8614 .cfi_endproc 8615 .LFE383: 8617 .section .text.UART_DMAReceiveCplt,"ax",%progbits 8618 .align 1 8619 .syntax unified 8620 .thumb 8621 .thumb_func 8623 UART_DMAReceiveCplt: 8624 .LVL776: 8625 .LFB382: 3678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); ARM GAS /tmp/cciGf5I5.s page 300 8626 .loc 1 3678 1 is_stmt 1 view -0 8627 .cfi_startproc 8628 @ args = 0, pretend = 0, frame = 0 8629 @ frame_needed = 0, uses_anonymous_args = 0 3678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 8630 .loc 1 3678 1 is_stmt 0 view .LVU2947 8631 0000 08B5 push {r3, lr} 8632 .LCFI30: 8633 .cfi_def_cfa_offset 8 8634 .cfi_offset 3, -8 8635 .cfi_offset 14, -4 8636 0002 0346 mov r3, r0 3679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8637 .loc 1 3679 3 is_stmt 1 view .LVU2948 3679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8638 .loc 1 3679 23 is_stmt 0 view .LVU2949 8639 0004 806A ldr r0, [r0, #40] 8640 .LVL777: 3682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8641 .loc 1 3682 3 is_stmt 1 view .LVU2950 3682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8642 .loc 1 3682 7 is_stmt 0 view .LVU2951 8643 0006 1B68 ldr r3, [r3] 8644 .LVL778: 3682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8645 .loc 1 3682 7 view .LVU2952 8646 0008 1B68 ldr r3, [r3] 3682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8647 .loc 1 3682 6 view .LVU2953 8648 000a 13F0200F tst r3, #32 8649 000e 29D1 bne .L363 3684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8650 .loc 1 3684 5 is_stmt 1 view .LVU2954 3684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8651 .loc 1 3684 24 is_stmt 0 view .LVU2955 8652 0010 0023 movs r3, #0 8653 0012 A0F85E30 strh r3, [r0, #94] @ movhi 8654 .L364: 3687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8655 .loc 1 3687 5 is_stmt 1 discriminator 1 view .LVU2956 8656 .LBB931: 3687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8657 .loc 1 3687 5 discriminator 1 view .LVU2957 3687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8658 .loc 1 3687 5 discriminator 1 view .LVU2958 3687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8659 .loc 1 3687 5 discriminator 1 view .LVU2959 8660 0016 0268 ldr r2, [r0] 8661 .LVL779: 8662 .LBB932: 8663 .LBI932: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8664 .loc 2 1151 31 view .LVU2960 8665 .LBB933: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 8666 .loc 2 1153 5 view .LVU2961 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS /tmp/cciGf5I5.s page 301 8667 .loc 2 1155 4 view .LVU2962 8668 .syntax unified 8669 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8670 0018 52E8003F ldrex r3, [r2] 8671 @ 0 "" 2 8672 .LVL780: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8673 .loc 2 1156 4 view .LVU2963 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8674 .loc 2 1156 4 is_stmt 0 view .LVU2964 8675 .thumb 8676 .syntax unified 8677 .LBE933: 8678 .LBE932: 3687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8679 .loc 1 3687 5 discriminator 1 view .LVU2965 8680 001c 23F48073 bic r3, r3, #256 8681 .LVL781: 3687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8682 .loc 1 3687 5 is_stmt 1 discriminator 1 view .LVU2966 8683 .LBB934: 8684 .LBI934: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8685 .loc 2 1202 31 view .LVU2967 8686 .LBB935: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 8687 .loc 2 1204 4 view .LVU2968 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8688 .loc 2 1206 4 view .LVU2969 8689 .syntax unified 8690 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8691 0020 42E80031 strex r1, r3, [r2] 8692 @ 0 "" 2 8693 .LVL782: 8694 .loc 2 1207 4 view .LVU2970 8695 .loc 2 1207 4 is_stmt 0 view .LVU2971 8696 .thumb 8697 .syntax unified 8698 .LBE935: 8699 .LBE934: 3687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8700 .loc 1 3687 5 discriminator 1 view .LVU2972 8701 0024 0029 cmp r1, #0 8702 0026 F6D1 bne .L364 8703 .LVL783: 8704 .L365: 3687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8705 .loc 1 3687 5 discriminator 1 view .LVU2973 8706 .LBE931: 3687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8707 .loc 1 3687 5 is_stmt 1 discriminator 2 view .LVU2974 3688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8708 .loc 1 3688 5 discriminator 1 view .LVU2975 8709 .LBB936: 3688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8710 .loc 1 3688 5 discriminator 1 view .LVU2976 3688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cciGf5I5.s page 302 8711 .loc 1 3688 5 discriminator 1 view .LVU2977 3688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8712 .loc 1 3688 5 discriminator 1 view .LVU2978 8713 0028 0268 ldr r2, [r0] 8714 .LVL784: 8715 .LBB937: 8716 .LBI937: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8717 .loc 2 1151 31 view .LVU2979 8718 .LBB938: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 8719 .loc 2 1153 5 view .LVU2980 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8720 .loc 2 1155 4 view .LVU2981 8721 002a 02F10803 add r3, r2, #8 8722 .LVL785: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8723 .loc 2 1155 4 is_stmt 0 view .LVU2982 8724 .syntax unified 8725 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8726 002e 53E8003F ldrex r3, [r3] 8727 @ 0 "" 2 8728 .LVL786: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8729 .loc 2 1156 4 is_stmt 1 view .LVU2983 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8730 .loc 2 1156 4 is_stmt 0 view .LVU2984 8731 .thumb 8732 .syntax unified 8733 .LBE938: 8734 .LBE937: 3688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8735 .loc 1 3688 5 discriminator 1 view .LVU2985 8736 0032 23F00103 bic r3, r3, #1 8737 .LVL787: 3688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8738 .loc 1 3688 5 is_stmt 1 discriminator 1 view .LVU2986 8739 .LBB939: 8740 .LBI939: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8741 .loc 2 1202 31 view .LVU2987 8742 .LBB940: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 8743 .loc 2 1204 4 view .LVU2988 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8744 .loc 2 1206 4 view .LVU2989 8745 0036 0832 adds r2, r2, #8 8746 .LVL788: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8747 .loc 2 1206 4 is_stmt 0 view .LVU2990 8748 .syntax unified 8749 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8750 0038 42E80031 strex r1, r3, [r2] 8751 @ 0 "" 2 8752 .LVL789: 8753 .loc 2 1207 4 is_stmt 1 view .LVU2991 8754 .loc 2 1207 4 is_stmt 0 view .LVU2992 ARM GAS /tmp/cciGf5I5.s page 303 8755 .thumb 8756 .syntax unified 8757 .LBE940: 8758 .LBE939: 3688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8759 .loc 1 3688 5 discriminator 1 view .LVU2993 8760 003c 0029 cmp r1, #0 8761 003e F3D1 bne .L365 8762 .LVL790: 8763 .L366: 3688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8764 .loc 1 3688 5 discriminator 1 view .LVU2994 8765 .LBE936: 3688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8766 .loc 1 3688 5 is_stmt 1 discriminator 2 view .LVU2995 3692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8767 .loc 1 3692 5 discriminator 1 view .LVU2996 8768 .LBB941: 3692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8769 .loc 1 3692 5 discriminator 1 view .LVU2997 3692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8770 .loc 1 3692 5 discriminator 1 view .LVU2998 3692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8771 .loc 1 3692 5 discriminator 1 view .LVU2999 8772 0040 0268 ldr r2, [r0] 8773 .LVL791: 8774 .LBB942: 8775 .LBI942: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8776 .loc 2 1151 31 view .LVU3000 8777 .LBB943: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 8778 .loc 2 1153 5 view .LVU3001 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8779 .loc 2 1155 4 view .LVU3002 8780 0042 02F10803 add r3, r2, #8 8781 .LVL792: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8782 .loc 2 1155 4 is_stmt 0 view .LVU3003 8783 .syntax unified 8784 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8785 0046 53E8003F ldrex r3, [r3] 8786 @ 0 "" 2 8787 .LVL793: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8788 .loc 2 1156 4 is_stmt 1 view .LVU3004 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8789 .loc 2 1156 4 is_stmt 0 view .LVU3005 8790 .thumb 8791 .syntax unified 8792 .LBE943: 8793 .LBE942: 3692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8794 .loc 1 3692 5 discriminator 1 view .LVU3006 8795 004a 23F04003 bic r3, r3, #64 8796 .LVL794: 3692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cciGf5I5.s page 304 8797 .loc 1 3692 5 is_stmt 1 discriminator 1 view .LVU3007 8798 .LBB944: 8799 .LBI944: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8800 .loc 2 1202 31 view .LVU3008 8801 .LBB945: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 8802 .loc 2 1204 4 view .LVU3009 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8803 .loc 2 1206 4 view .LVU3010 8804 004e 0832 adds r2, r2, #8 8805 .LVL795: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8806 .loc 2 1206 4 is_stmt 0 view .LVU3011 8807 .syntax unified 8808 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8809 0050 42E80031 strex r1, r3, [r2] 8810 @ 0 "" 2 8811 .LVL796: 8812 .loc 2 1207 4 is_stmt 1 view .LVU3012 8813 .loc 2 1207 4 is_stmt 0 view .LVU3013 8814 .thumb 8815 .syntax unified 8816 .LBE945: 8817 .LBE944: 3692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8818 .loc 1 3692 5 discriminator 1 view .LVU3014 8819 0054 0029 cmp r1, #0 8820 0056 F3D1 bne .L366 8821 .LBE941: 3692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8822 .loc 1 3692 5 is_stmt 1 discriminator 2 view .LVU3015 3695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8823 .loc 1 3695 5 view .LVU3016 3695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8824 .loc 1 3695 20 is_stmt 0 view .LVU3017 8825 0058 2023 movs r3, #32 8826 .LVL797: 3695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8827 .loc 1 3695 20 view .LVU3018 8828 005a C0F88C30 str r3, [r0, #140] 3698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8829 .loc 1 3698 5 is_stmt 1 view .LVU3019 3698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8830 .loc 1 3698 14 is_stmt 0 view .LVU3020 8831 005e C36E ldr r3, [r0, #108] 3698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8832 .loc 1 3698 8 view .LVU3021 8833 0060 012B cmp r3, #1 8834 0062 07D0 beq .L367 8835 .LVL798: 8836 .L363: 3700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8837 .loc 1 3700 7 is_stmt 1 discriminator 2 view .LVU3022 3706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8838 .loc 1 3706 3 view .LVU3023 3706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cciGf5I5.s page 305 8839 .loc 1 3706 22 is_stmt 0 view .LVU3024 8840 0064 0023 movs r3, #0 8841 0066 0367 str r3, [r0, #112] 3710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8842 .loc 1 3710 3 is_stmt 1 view .LVU3025 3710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8843 .loc 1 3710 12 is_stmt 0 view .LVU3026 8844 0068 C36E ldr r3, [r0, #108] 3710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8845 .loc 1 3710 6 view .LVU3027 8846 006a 012B cmp r3, #1 8847 006c 0CD0 beq .L371 3728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 8848 .loc 1 3728 5 is_stmt 1 view .LVU3028 8849 006e FFF7FEFF bl HAL_UART_RxCpltCallback 8850 .LVL799: 8851 .L362: 3731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8852 .loc 1 3731 1 is_stmt 0 view .LVU3029 8853 0072 08BD pop {r3, pc} 8854 .LVL800: 8855 .L367: 3700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8856 .loc 1 3700 7 is_stmt 1 discriminator 1 view .LVU3030 8857 .LBB946: 3700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8858 .loc 1 3700 7 discriminator 1 view .LVU3031 3700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8859 .loc 1 3700 7 discriminator 1 view .LVU3032 3700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8860 .loc 1 3700 7 discriminator 1 view .LVU3033 8861 0074 0268 ldr r2, [r0] 8862 .LVL801: 8863 .LBB947: 8864 .LBI947: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8865 .loc 2 1151 31 view .LVU3034 8866 .LBB948: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 8867 .loc 2 1153 5 view .LVU3035 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8868 .loc 2 1155 4 view .LVU3036 8869 .syntax unified 8870 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8871 0076 52E8003F ldrex r3, [r2] 8872 @ 0 "" 2 8873 .LVL802: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8874 .loc 2 1156 4 view .LVU3037 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8875 .loc 2 1156 4 is_stmt 0 view .LVU3038 8876 .thumb 8877 .syntax unified 8878 .LBE948: 8879 .LBE947: 3700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8880 .loc 1 3700 7 discriminator 1 view .LVU3039 ARM GAS /tmp/cciGf5I5.s page 306 8881 007a 23F01003 bic r3, r3, #16 8882 .LVL803: 3700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8883 .loc 1 3700 7 is_stmt 1 discriminator 1 view .LVU3040 8884 .LBB949: 8885 .LBI949: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8886 .loc 2 1202 31 view .LVU3041 8887 .LBB950: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 8888 .loc 2 1204 4 view .LVU3042 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8889 .loc 2 1206 4 view .LVU3043 8890 .syntax unified 8891 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8892 007e 42E80031 strex r1, r3, [r2] 8893 @ 0 "" 2 8894 .LVL804: 8895 .loc 2 1207 4 view .LVU3044 8896 .loc 2 1207 4 is_stmt 0 view .LVU3045 8897 .thumb 8898 .syntax unified 8899 .LBE950: 8900 .LBE949: 3700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8901 .loc 1 3700 7 discriminator 1 view .LVU3046 8902 0082 0029 cmp r1, #0 8903 0084 F6D1 bne .L367 8904 0086 EDE7 b .L363 8905 .LVL805: 8906 .L371: 3700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8907 .loc 1 3700 7 discriminator 1 view .LVU3047 8908 .LBE946: 3717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 8909 .loc 1 3717 5 is_stmt 1 view .LVU3048 8910 0088 B0F85C10 ldrh r1, [r0, #92] 8911 008c FFF7FEFF bl HAL_UARTEx_RxEventCallback 8912 .LVL806: 3717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 8913 .loc 1 3717 5 is_stmt 0 view .LVU3049 8914 0090 EFE7 b .L362 8915 .cfi_endproc 8916 .LFE382: 8918 .section .text.HAL_UART_ReceiverTimeout_Config,"ax",%progbits 8919 .align 1 8920 .global HAL_UART_ReceiverTimeout_Config 8921 .syntax unified 8922 .thumb 8923 .thumb_func 8925 HAL_UART_ReceiverTimeout_Config: 8926 .LVL807: 8927 .LFB361: 2732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance))) 8928 .loc 1 2732 1 is_stmt 1 view -0 8929 .cfi_startproc 8930 @ args = 0, pretend = 0, frame = 0 ARM GAS /tmp/cciGf5I5.s page 307 8931 @ frame_needed = 0, uses_anonymous_args = 0 8932 @ link register save eliminated. 2733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8933 .loc 1 2733 3 view .LVU3051 2733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8934 .loc 1 2733 9 is_stmt 0 view .LVU3052 8935 0000 0268 ldr r2, [r0] 2733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8936 .loc 1 2733 6 view .LVU3053 8937 0002 044B ldr r3, .L374 8938 0004 9A42 cmp r2, r3 8939 0006 04D0 beq .L372 2735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->RTOR, USART_RTOR_RTO, TimeoutValue); 8940 .loc 1 2735 5 is_stmt 1 view .LVU3054 2736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8941 .loc 1 2736 5 view .LVU3055 8942 0008 5369 ldr r3, [r2, #20] 8943 000a 03F07F43 and r3, r3, #-16777216 8944 000e 1943 orrs r1, r1, r3 8945 .LVL808: 2736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8946 .loc 1 2736 5 is_stmt 0 view .LVU3056 8947 0010 5161 str r1, [r2, #20] 8948 .L372: 2738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8949 .loc 1 2738 1 view .LVU3057 8950 0012 7047 bx lr 8951 .L375: 8952 .align 2 8953 .L374: 8954 0014 00800040 .word 1073774592 8955 .cfi_endproc 8956 .LFE361: 8958 .section .text.HAL_UART_EnableReceiverTimeout,"ax",%progbits 8959 .align 1 8960 .global HAL_UART_EnableReceiverTimeout 8961 .syntax unified 8962 .thumb 8963 .thumb_func 8965 HAL_UART_EnableReceiverTimeout: 8966 .LVL809: 8967 .LFB362: 2747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance))) 8968 .loc 1 2747 1 is_stmt 1 view -0 8969 .cfi_startproc 8970 @ args = 0, pretend = 0, frame = 0 8971 @ frame_needed = 0, uses_anonymous_args = 0 8972 @ link register save eliminated. 2748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8973 .loc 1 2748 3 view .LVU3059 2748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8974 .loc 1 2748 9 is_stmt 0 view .LVU3060 8975 0000 0368 ldr r3, [r0] 2748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8976 .loc 1 2748 6 view .LVU3061 8977 0002 114A ldr r2, .L381 8978 0004 9342 cmp r3, r2 ARM GAS /tmp/cciGf5I5.s page 308 8979 0006 19D0 beq .L378 2750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8980 .loc 1 2750 5 is_stmt 1 view .LVU3062 2750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8981 .loc 1 2750 14 is_stmt 0 view .LVU3063 8982 0008 D0F88820 ldr r2, [r0, #136] 2750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8983 .loc 1 2750 8 view .LVU3064 8984 000c 202A cmp r2, #32 8985 000e 17D1 bne .L379 2753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8986 .loc 1 2753 7 is_stmt 1 view .LVU3065 2753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8987 .loc 1 2753 7 view .LVU3066 8988 0010 90F88420 ldrb r2, [r0, #132] @ zero_extendqisi2 8989 0014 012A cmp r2, #1 8990 0016 15D0 beq .L380 2753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8991 .loc 1 2753 7 discriminator 2 view .LVU3067 8992 0018 0122 movs r2, #1 8993 001a 80F88420 strb r2, [r0, #132] 2753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8994 .loc 1 2753 7 view .LVU3068 2755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8995 .loc 1 2755 7 view .LVU3069 2755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8996 .loc 1 2755 21 is_stmt 0 view .LVU3070 8997 001e 2422 movs r2, #36 8998 0020 C0F88820 str r2, [r0, #136] 2758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8999 .loc 1 2758 7 is_stmt 1 view .LVU3071 9000 0024 5A68 ldr r2, [r3, #4] 9001 0026 42F40002 orr r2, r2, #8388608 9002 002a 5A60 str r2, [r3, #4] 2760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9003 .loc 1 2760 7 view .LVU3072 2760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9004 .loc 1 2760 21 is_stmt 0 view .LVU3073 9005 002c 2023 movs r3, #32 9006 002e C0F88830 str r3, [r0, #136] 2763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9007 .loc 1 2763 7 is_stmt 1 view .LVU3074 2763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9008 .loc 1 2763 7 view .LVU3075 9009 0032 0023 movs r3, #0 9010 0034 80F88430 strb r3, [r0, #132] 2763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9011 .loc 1 2763 7 view .LVU3076 2765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9012 .loc 1 2765 7 view .LVU3077 2765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9013 .loc 1 2765 14 is_stmt 0 view .LVU3078 9014 0038 1846 mov r0, r3 9015 .LVL810: 2765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9016 .loc 1 2765 14 view .LVU3079 9017 003a 7047 bx lr ARM GAS /tmp/cciGf5I5.s page 309 9018 .LVL811: 9019 .L378: 2774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9020 .loc 1 2774 12 view .LVU3080 9021 003c 0120 movs r0, #1 9022 .LVL812: 2774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9023 .loc 1 2774 12 view .LVU3081 9024 003e 7047 bx lr 9025 .LVL813: 9026 .L379: 2769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9027 .loc 1 2769 14 view .LVU3082 9028 0040 0220 movs r0, #2 9029 .LVL814: 2769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9030 .loc 1 2769 14 view .LVU3083 9031 0042 7047 bx lr 9032 .LVL815: 9033 .L380: 2753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9034 .loc 1 2753 7 discriminator 1 view .LVU3084 9035 0044 0220 movs r0, #2 9036 .LVL816: 2776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9037 .loc 1 2776 1 view .LVU3085 9038 0046 7047 bx lr 9039 .L382: 9040 .align 2 9041 .L381: 9042 0048 00800040 .word 1073774592 9043 .cfi_endproc 9044 .LFE362: 9046 .section .text.HAL_UART_DisableReceiverTimeout,"ax",%progbits 9047 .align 1 9048 .global HAL_UART_DisableReceiverTimeout 9049 .syntax unified 9050 .thumb 9051 .thumb_func 9053 HAL_UART_DisableReceiverTimeout: 9054 .LVL817: 9055 .LFB363: 2785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance))) 9056 .loc 1 2785 1 is_stmt 1 view -0 9057 .cfi_startproc 9058 @ args = 0, pretend = 0, frame = 0 9059 @ frame_needed = 0, uses_anonymous_args = 0 9060 @ link register save eliminated. 2786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9061 .loc 1 2786 3 view .LVU3087 2786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9062 .loc 1 2786 9 is_stmt 0 view .LVU3088 9063 0000 0368 ldr r3, [r0] 2786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9064 .loc 1 2786 6 view .LVU3089 9065 0002 114A ldr r2, .L388 9066 0004 9342 cmp r3, r2 ARM GAS /tmp/cciGf5I5.s page 310 9067 0006 19D0 beq .L385 2788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9068 .loc 1 2788 5 is_stmt 1 view .LVU3090 2788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9069 .loc 1 2788 14 is_stmt 0 view .LVU3091 9070 0008 D0F88820 ldr r2, [r0, #136] 2788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9071 .loc 1 2788 8 view .LVU3092 9072 000c 202A cmp r2, #32 9073 000e 17D1 bne .L386 2791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9074 .loc 1 2791 7 is_stmt 1 view .LVU3093 2791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9075 .loc 1 2791 7 view .LVU3094 9076 0010 90F88420 ldrb r2, [r0, #132] @ zero_extendqisi2 9077 0014 012A cmp r2, #1 9078 0016 15D0 beq .L387 2791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9079 .loc 1 2791 7 discriminator 2 view .LVU3095 9080 0018 0122 movs r2, #1 9081 001a 80F88420 strb r2, [r0, #132] 2791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9082 .loc 1 2791 7 view .LVU3096 2793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9083 .loc 1 2793 7 view .LVU3097 2793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9084 .loc 1 2793 21 is_stmt 0 view .LVU3098 9085 001e 2422 movs r2, #36 9086 0020 C0F88820 str r2, [r0, #136] 2796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9087 .loc 1 2796 7 is_stmt 1 view .LVU3099 9088 0024 5A68 ldr r2, [r3, #4] 9089 0026 22F40002 bic r2, r2, #8388608 9090 002a 5A60 str r2, [r3, #4] 2798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9091 .loc 1 2798 7 view .LVU3100 2798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9092 .loc 1 2798 21 is_stmt 0 view .LVU3101 9093 002c 2023 movs r3, #32 9094 002e C0F88830 str r3, [r0, #136] 2801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9095 .loc 1 2801 7 is_stmt 1 view .LVU3102 2801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9096 .loc 1 2801 7 view .LVU3103 9097 0032 0023 movs r3, #0 9098 0034 80F88430 strb r3, [r0, #132] 2801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9099 .loc 1 2801 7 view .LVU3104 2803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9100 .loc 1 2803 7 view .LVU3105 2803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9101 .loc 1 2803 14 is_stmt 0 view .LVU3106 9102 0038 1846 mov r0, r3 9103 .LVL818: 2803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9104 .loc 1 2803 14 view .LVU3107 9105 003a 7047 bx lr ARM GAS /tmp/cciGf5I5.s page 311 9106 .LVL819: 9107 .L385: 2812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9108 .loc 1 2812 12 view .LVU3108 9109 003c 0120 movs r0, #1 9110 .LVL820: 2812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9111 .loc 1 2812 12 view .LVU3109 9112 003e 7047 bx lr 9113 .LVL821: 9114 .L386: 2807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9115 .loc 1 2807 14 view .LVU3110 9116 0040 0220 movs r0, #2 9117 .LVL822: 2807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9118 .loc 1 2807 14 view .LVU3111 9119 0042 7047 bx lr 9120 .LVL823: 9121 .L387: 2791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9122 .loc 1 2791 7 discriminator 1 view .LVU3112 9123 0044 0220 movs r0, #2 9124 .LVL824: 2814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9125 .loc 1 2814 1 view .LVU3113 9126 0046 7047 bx lr 9127 .L389: 9128 .align 2 9129 .L388: 9130 0048 00800040 .word 1073774592 9131 .cfi_endproc 9132 .LFE363: 9134 .section .text.HAL_MultiProcessor_EnterMuteMode,"ax",%progbits 9135 .align 1 9136 .global HAL_MultiProcessor_EnterMuteMode 9137 .syntax unified 9138 .thumb 9139 .thumb_func 9141 HAL_MultiProcessor_EnterMuteMode: 9142 .LVL825: 9143 .LFB366: 2863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_MUTE_MODE_REQUEST); 9144 .loc 1 2863 1 is_stmt 1 view -0 9145 .cfi_startproc 9146 @ args = 0, pretend = 0, frame = 0 9147 @ frame_needed = 0, uses_anonymous_args = 0 9148 @ link register save eliminated. 2864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9149 .loc 1 2864 3 view .LVU3115 9150 0000 0268 ldr r2, [r0] 9151 0002 9369 ldr r3, [r2, #24] 9152 0004 43F00403 orr r3, r3, #4 9153 0008 9361 str r3, [r2, #24] 2865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9154 .loc 1 2865 1 is_stmt 0 view .LVU3116 9155 000a 7047 bx lr ARM GAS /tmp/cciGf5I5.s page 312 9156 .cfi_endproc 9157 .LFE366: 9159 .section .text.HAL_HalfDuplex_EnableTransmitter,"ax",%progbits 9160 .align 1 9161 .global HAL_HalfDuplex_EnableTransmitter 9162 .syntax unified 9163 .thumb 9164 .thumb_func 9166 HAL_HalfDuplex_EnableTransmitter: 9167 .LVL826: 9168 .LFB367: 2873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 9169 .loc 1 2873 1 is_stmt 1 view -0 9170 .cfi_startproc 9171 @ args = 0, pretend = 0, frame = 0 9172 @ frame_needed = 0, uses_anonymous_args = 0 9173 @ link register save eliminated. 2874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 9174 .loc 1 2874 3 view .LVU3118 2874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 9175 .loc 1 2874 3 view .LVU3119 9176 0000 90F88430 ldrb r3, [r0, #132] @ zero_extendqisi2 9177 0004 012B cmp r3, #1 9178 0006 1FD0 beq .L395 2874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 9179 .loc 1 2874 3 discriminator 2 view .LVU3120 9180 0008 0123 movs r3, #1 9181 000a 80F88430 strb r3, [r0, #132] 2874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 9182 .loc 1 2874 3 view .LVU3121 2875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9183 .loc 1 2875 3 view .LVU3122 2875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9184 .loc 1 2875 17 is_stmt 0 view .LVU3123 9185 000e 2423 movs r3, #36 9186 0010 C0F88830 str r3, [r0, #136] 9187 .L393: 2878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9188 .loc 1 2878 3 is_stmt 1 discriminator 1 view .LVU3124 9189 .LBB951: 2878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9190 .loc 1 2878 3 discriminator 1 view .LVU3125 2878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9191 .loc 1 2878 3 discriminator 1 view .LVU3126 2878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9192 .loc 1 2878 3 discriminator 1 view .LVU3127 9193 0014 0268 ldr r2, [r0] 9194 .LVL827: 9195 .LBB952: 9196 .LBI952: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9197 .loc 2 1151 31 view .LVU3128 9198 .LBB953: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 9199 .loc 2 1153 5 view .LVU3129 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9200 .loc 2 1155 4 view .LVU3130 ARM GAS /tmp/cciGf5I5.s page 313 9201 .syntax unified 9202 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9203 0016 52E8003F ldrex r3, [r2] 9204 @ 0 "" 2 9205 .LVL828: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9206 .loc 2 1156 4 view .LVU3131 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9207 .loc 2 1156 4 is_stmt 0 view .LVU3132 9208 .thumb 9209 .syntax unified 9210 .LBE953: 9211 .LBE952: 2878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9212 .loc 1 2878 3 discriminator 1 view .LVU3133 9213 001a 23F00C03 bic r3, r3, #12 9214 .LVL829: 2878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9215 .loc 1 2878 3 is_stmt 1 discriminator 1 view .LVU3134 9216 .LBB954: 9217 .LBI954: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9218 .loc 2 1202 31 view .LVU3135 9219 .LBB955: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 9220 .loc 2 1204 4 view .LVU3136 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9221 .loc 2 1206 4 view .LVU3137 9222 .syntax unified 9223 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9224 001e 42E80031 strex r1, r3, [r2] 9225 @ 0 "" 2 9226 .LVL830: 9227 .loc 2 1207 4 view .LVU3138 9228 .loc 2 1207 4 is_stmt 0 view .LVU3139 9229 .thumb 9230 .syntax unified 9231 .LBE955: 9232 .LBE954: 2878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9233 .loc 1 2878 3 discriminator 1 view .LVU3140 9234 0022 0029 cmp r1, #0 9235 0024 F6D1 bne .L393 9236 .LVL831: 9237 .L394: 2878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9238 .loc 1 2878 3 discriminator 1 view .LVU3141 9239 .LBE951: 2878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9240 .loc 1 2878 3 is_stmt 1 discriminator 2 view .LVU3142 2881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9241 .loc 1 2881 3 discriminator 1 view .LVU3143 9242 .LBB956: 2881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9243 .loc 1 2881 3 discriminator 1 view .LVU3144 2881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9244 .loc 1 2881 3 discriminator 1 view .LVU3145 ARM GAS /tmp/cciGf5I5.s page 314 2881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9245 .loc 1 2881 3 discriminator 1 view .LVU3146 9246 0026 0268 ldr r2, [r0] 9247 .LVL832: 9248 .LBB957: 9249 .LBI957: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9250 .loc 2 1151 31 view .LVU3147 9251 .LBB958: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 9252 .loc 2 1153 5 view .LVU3148 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9253 .loc 2 1155 4 view .LVU3149 9254 .syntax unified 9255 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9256 0028 52E8003F ldrex r3, [r2] 9257 @ 0 "" 2 9258 .LVL833: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9259 .loc 2 1156 4 view .LVU3150 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9260 .loc 2 1156 4 is_stmt 0 view .LVU3151 9261 .thumb 9262 .syntax unified 9263 .LBE958: 9264 .LBE957: 2881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9265 .loc 1 2881 3 discriminator 1 view .LVU3152 9266 002c 43F00803 orr r3, r3, #8 9267 .LVL834: 2881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9268 .loc 1 2881 3 is_stmt 1 discriminator 1 view .LVU3153 9269 .LBB959: 9270 .LBI959: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9271 .loc 2 1202 31 view .LVU3154 9272 .LBB960: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 9273 .loc 2 1204 4 view .LVU3155 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9274 .loc 2 1206 4 view .LVU3156 9275 .syntax unified 9276 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9277 0030 42E80031 strex r1, r3, [r2] 9278 @ 0 "" 2 9279 .LVL835: 9280 .loc 2 1207 4 view .LVU3157 9281 .loc 2 1207 4 is_stmt 0 view .LVU3158 9282 .thumb 9283 .syntax unified 9284 .LBE960: 9285 .LBE959: 2881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9286 .loc 1 2881 3 discriminator 1 view .LVU3159 9287 0034 0029 cmp r1, #0 9288 0036 F6D1 bne .L394 9289 .LBE956: ARM GAS /tmp/cciGf5I5.s page 315 2881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9290 .loc 1 2881 3 is_stmt 1 discriminator 2 view .LVU3160 2883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9291 .loc 1 2883 3 view .LVU3161 2883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9292 .loc 1 2883 17 is_stmt 0 view .LVU3162 9293 0038 2023 movs r3, #32 9294 .LVL836: 2883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9295 .loc 1 2883 17 view .LVU3163 9296 003a C0F88830 str r3, [r0, #136] 2885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9297 .loc 1 2885 3 is_stmt 1 view .LVU3164 2885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9298 .loc 1 2885 3 view .LVU3165 9299 003e 0023 movs r3, #0 9300 0040 80F88430 strb r3, [r0, #132] 2885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9301 .loc 1 2885 3 view .LVU3166 2887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9302 .loc 1 2887 3 view .LVU3167 2887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9303 .loc 1 2887 10 is_stmt 0 view .LVU3168 9304 0044 1846 mov r0, r3 9305 .LVL837: 2887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9306 .loc 1 2887 10 view .LVU3169 9307 0046 7047 bx lr 9308 .LVL838: 9309 .L395: 2874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 9310 .loc 1 2874 3 discriminator 1 view .LVU3170 9311 0048 0220 movs r0, #2 9312 .LVL839: 2888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9313 .loc 1 2888 1 view .LVU3171 9314 004a 7047 bx lr 9315 .cfi_endproc 9316 .LFE367: 9318 .section .text.HAL_HalfDuplex_EnableReceiver,"ax",%progbits 9319 .align 1 9320 .global HAL_HalfDuplex_EnableReceiver 9321 .syntax unified 9322 .thumb 9323 .thumb_func 9325 HAL_HalfDuplex_EnableReceiver: 9326 .LVL840: 9327 .LFB368: 2896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 9328 .loc 1 2896 1 is_stmt 1 view -0 9329 .cfi_startproc 9330 @ args = 0, pretend = 0, frame = 0 9331 @ frame_needed = 0, uses_anonymous_args = 0 9332 @ link register save eliminated. 2897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 9333 .loc 1 2897 3 view .LVU3173 2897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; ARM GAS /tmp/cciGf5I5.s page 316 9334 .loc 1 2897 3 view .LVU3174 9335 0000 90F88430 ldrb r3, [r0, #132] @ zero_extendqisi2 9336 0004 012B cmp r3, #1 9337 0006 1FD0 beq .L400 2897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 9338 .loc 1 2897 3 discriminator 2 view .LVU3175 9339 0008 0123 movs r3, #1 9340 000a 80F88430 strb r3, [r0, #132] 2897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 9341 .loc 1 2897 3 view .LVU3176 2898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9342 .loc 1 2898 3 view .LVU3177 2898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9343 .loc 1 2898 17 is_stmt 0 view .LVU3178 9344 000e 2423 movs r3, #36 9345 0010 C0F88830 str r3, [r0, #136] 9346 .L398: 2901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9347 .loc 1 2901 3 is_stmt 1 discriminator 1 view .LVU3179 9348 .LBB961: 2901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9349 .loc 1 2901 3 discriminator 1 view .LVU3180 2901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9350 .loc 1 2901 3 discriminator 1 view .LVU3181 2901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9351 .loc 1 2901 3 discriminator 1 view .LVU3182 9352 0014 0268 ldr r2, [r0] 9353 .LVL841: 9354 .LBB962: 9355 .LBI962: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9356 .loc 2 1151 31 view .LVU3183 9357 .LBB963: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 9358 .loc 2 1153 5 view .LVU3184 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9359 .loc 2 1155 4 view .LVU3185 9360 .syntax unified 9361 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9362 0016 52E8003F ldrex r3, [r2] 9363 @ 0 "" 2 9364 .LVL842: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9365 .loc 2 1156 4 view .LVU3186 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9366 .loc 2 1156 4 is_stmt 0 view .LVU3187 9367 .thumb 9368 .syntax unified 9369 .LBE963: 9370 .LBE962: 2901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9371 .loc 1 2901 3 discriminator 1 view .LVU3188 9372 001a 23F00C03 bic r3, r3, #12 9373 .LVL843: 2901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9374 .loc 1 2901 3 is_stmt 1 discriminator 1 view .LVU3189 9375 .LBB964: ARM GAS /tmp/cciGf5I5.s page 317 9376 .LBI964: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9377 .loc 2 1202 31 view .LVU3190 9378 .LBB965: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 9379 .loc 2 1204 4 view .LVU3191 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9380 .loc 2 1206 4 view .LVU3192 9381 .syntax unified 9382 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9383 001e 42E80031 strex r1, r3, [r2] 9384 @ 0 "" 2 9385 .LVL844: 9386 .loc 2 1207 4 view .LVU3193 9387 .loc 2 1207 4 is_stmt 0 view .LVU3194 9388 .thumb 9389 .syntax unified 9390 .LBE965: 9391 .LBE964: 2901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9392 .loc 1 2901 3 discriminator 1 view .LVU3195 9393 0022 0029 cmp r1, #0 9394 0024 F6D1 bne .L398 9395 .LVL845: 9396 .L399: 2901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9397 .loc 1 2901 3 discriminator 1 view .LVU3196 9398 .LBE961: 2901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9399 .loc 1 2901 3 is_stmt 1 discriminator 2 view .LVU3197 2904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9400 .loc 1 2904 3 discriminator 1 view .LVU3198 9401 .LBB966: 2904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9402 .loc 1 2904 3 discriminator 1 view .LVU3199 2904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9403 .loc 1 2904 3 discriminator 1 view .LVU3200 2904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9404 .loc 1 2904 3 discriminator 1 view .LVU3201 9405 0026 0268 ldr r2, [r0] 9406 .LVL846: 9407 .LBB967: 9408 .LBI967: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9409 .loc 2 1151 31 view .LVU3202 9410 .LBB968: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 9411 .loc 2 1153 5 view .LVU3203 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9412 .loc 2 1155 4 view .LVU3204 9413 .syntax unified 9414 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9415 0028 52E8003F ldrex r3, [r2] 9416 @ 0 "" 2 9417 .LVL847: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9418 .loc 2 1156 4 view .LVU3205 ARM GAS /tmp/cciGf5I5.s page 318 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9419 .loc 2 1156 4 is_stmt 0 view .LVU3206 9420 .thumb 9421 .syntax unified 9422 .LBE968: 9423 .LBE967: 2904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9424 .loc 1 2904 3 discriminator 1 view .LVU3207 9425 002c 43F00403 orr r3, r3, #4 9426 .LVL848: 2904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9427 .loc 1 2904 3 is_stmt 1 discriminator 1 view .LVU3208 9428 .LBB969: 9429 .LBI969: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9430 .loc 2 1202 31 view .LVU3209 9431 .LBB970: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 9432 .loc 2 1204 4 view .LVU3210 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9433 .loc 2 1206 4 view .LVU3211 9434 .syntax unified 9435 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9436 0030 42E80031 strex r1, r3, [r2] 9437 @ 0 "" 2 9438 .LVL849: 9439 .loc 2 1207 4 view .LVU3212 9440 .loc 2 1207 4 is_stmt 0 view .LVU3213 9441 .thumb 9442 .syntax unified 9443 .LBE970: 9444 .LBE969: 2904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9445 .loc 1 2904 3 discriminator 1 view .LVU3214 9446 0034 0029 cmp r1, #0 9447 0036 F6D1 bne .L399 9448 .LBE966: 2904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9449 .loc 1 2904 3 is_stmt 1 discriminator 2 view .LVU3215 2906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9450 .loc 1 2906 3 view .LVU3216 2906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9451 .loc 1 2906 17 is_stmt 0 view .LVU3217 9452 0038 2023 movs r3, #32 9453 .LVL850: 2906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9454 .loc 1 2906 17 view .LVU3218 9455 003a C0F88830 str r3, [r0, #136] 2908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9456 .loc 1 2908 3 is_stmt 1 view .LVU3219 2908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9457 .loc 1 2908 3 view .LVU3220 9458 003e 0023 movs r3, #0 9459 0040 80F88430 strb r3, [r0, #132] 2908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9460 .loc 1 2908 3 view .LVU3221 2910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cciGf5I5.s page 319 9461 .loc 1 2910 3 view .LVU3222 2910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9462 .loc 1 2910 10 is_stmt 0 view .LVU3223 9463 0044 1846 mov r0, r3 9464 .LVL851: 2910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9465 .loc 1 2910 10 view .LVU3224 9466 0046 7047 bx lr 9467 .LVL852: 9468 .L400: 2897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 9469 .loc 1 2897 3 discriminator 1 view .LVU3225 9470 0048 0220 movs r0, #2 9471 .LVL853: 2911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9472 .loc 1 2911 1 view .LVU3226 9473 004a 7047 bx lr 9474 .cfi_endproc 9475 .LFE368: 9477 .section .text.HAL_LIN_SendBreak,"ax",%progbits 9478 .align 1 9479 .global HAL_LIN_SendBreak 9480 .syntax unified 9481 .thumb 9482 .thumb_func 9484 HAL_LIN_SendBreak: 9485 .LVL854: 9486 .LFB369: 2920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the parameters */ 9487 .loc 1 2920 1 is_stmt 1 view -0 9488 .cfi_startproc 9489 @ args = 0, pretend = 0, frame = 0 9490 @ frame_needed = 0, uses_anonymous_args = 0 9491 @ link register save eliminated. 2922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9492 .loc 1 2922 3 view .LVU3228 2924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9493 .loc 1 2924 3 view .LVU3229 2924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9494 .loc 1 2924 3 view .LVU3230 9495 0000 90F88430 ldrb r3, [r0, #132] @ zero_extendqisi2 9496 0004 012B cmp r3, #1 9497 0006 12D0 beq .L403 2924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9498 .loc 1 2924 3 discriminator 2 view .LVU3231 9499 0008 0123 movs r3, #1 9500 000a 80F88430 strb r3, [r0, #132] 2924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9501 .loc 1 2924 3 view .LVU3232 2926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9502 .loc 1 2926 3 view .LVU3233 2926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9503 .loc 1 2926 17 is_stmt 0 view .LVU3234 9504 000e 2423 movs r3, #36 9505 0010 C0F88830 str r3, [r0, #136] 2929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9506 .loc 1 2929 3 is_stmt 1 view .LVU3235 ARM GAS /tmp/cciGf5I5.s page 320 9507 0014 0268 ldr r2, [r0] 9508 0016 9369 ldr r3, [r2, #24] 9509 0018 43F00203 orr r3, r3, #2 9510 001c 9361 str r3, [r2, #24] 2931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9511 .loc 1 2931 3 view .LVU3236 2931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9512 .loc 1 2931 17 is_stmt 0 view .LVU3237 9513 001e 2023 movs r3, #32 9514 0020 C0F88830 str r3, [r0, #136] 2933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9515 .loc 1 2933 3 is_stmt 1 view .LVU3238 2933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9516 .loc 1 2933 3 view .LVU3239 9517 0024 0023 movs r3, #0 9518 0026 80F88430 strb r3, [r0, #132] 2933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9519 .loc 1 2933 3 view .LVU3240 2935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9520 .loc 1 2935 3 view .LVU3241 2935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9521 .loc 1 2935 10 is_stmt 0 view .LVU3242 9522 002a 1846 mov r0, r3 9523 .LVL855: 2935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9524 .loc 1 2935 10 view .LVU3243 9525 002c 7047 bx lr 9526 .LVL856: 9527 .L403: 2924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9528 .loc 1 2924 3 discriminator 1 view .LVU3244 9529 002e 0220 movs r0, #2 9530 .LVL857: 2936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9531 .loc 1 2936 1 view .LVU3245 9532 0030 7047 bx lr 9533 .cfi_endproc 9534 .LFE369: 9536 .section .text.HAL_UART_GetState,"ax",%progbits 9537 .align 1 9538 .global HAL_UART_GetState 9539 .syntax unified 9540 .thumb 9541 .thumb_func 9543 HAL_UART_GetState: 9544 .LVL858: 9545 .LFB370: 2965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t temp1; 9546 .loc 1 2965 1 is_stmt 1 view -0 9547 .cfi_startproc 9548 @ args = 0, pretend = 0, frame = 0 9549 @ frame_needed = 0, uses_anonymous_args = 0 9550 @ link register save eliminated. 2966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t temp2; 9551 .loc 1 2966 3 view .LVU3247 2967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** temp1 = huart->gState; 9552 .loc 1 2967 3 view .LVU3248 ARM GAS /tmp/cciGf5I5.s page 321 2968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** temp2 = huart->RxState; 9553 .loc 1 2968 3 view .LVU3249 2968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** temp2 = huart->RxState; 9554 .loc 1 2968 9 is_stmt 0 view .LVU3250 9555 0000 D0F88820 ldr r2, [r0, #136] 9556 .LVL859: 2969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9557 .loc 1 2969 3 is_stmt 1 view .LVU3251 2969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9558 .loc 1 2969 9 is_stmt 0 view .LVU3252 9559 0004 D0F88C00 ldr r0, [r0, #140] 9560 .LVL860: 2971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9561 .loc 1 2971 3 is_stmt 1 view .LVU3253 2972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9562 .loc 1 2972 1 is_stmt 0 view .LVU3254 9563 0008 1043 orrs r0, r0, r2 9564 .LVL861: 2972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9565 .loc 1 2972 1 view .LVU3255 9566 000a 7047 bx lr 9567 .cfi_endproc 9568 .LFE370: 9570 .section .text.HAL_UART_GetError,"ax",%progbits 9571 .align 1 9572 .global HAL_UART_GetError 9573 .syntax unified 9574 .thumb 9575 .thumb_func 9577 HAL_UART_GetError: 9578 .LVL862: 9579 .LFB371: 2981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return huart->ErrorCode; 9580 .loc 1 2981 1 is_stmt 1 view -0 9581 .cfi_startproc 9582 @ args = 0, pretend = 0, frame = 0 9583 @ frame_needed = 0, uses_anonymous_args = 0 9584 @ link register save eliminated. 2982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9585 .loc 1 2982 3 view .LVU3257 2982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9586 .loc 1 2982 15 is_stmt 0 view .LVU3258 9587 0000 D0F89000 ldr r0, [r0, #144] 9588 .LVL863: 2983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 9589 .loc 1 2983 1 view .LVU3259 9590 0004 7047 bx lr 9591 .cfi_endproc 9592 .LFE371: 9594 .section .text.UART_SetConfig,"ax",%progbits 9595 .align 1 9596 .global UART_SetConfig 9597 .syntax unified 9598 .thumb 9599 .thumb_func 9601 UART_SetConfig: 9602 .LVL864: ARM GAS /tmp/cciGf5I5.s page 322 9603 .LFB372: 3027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t tmpreg; 9604 .loc 1 3027 1 is_stmt 1 view -0 9605 .cfi_startproc 9606 @ args = 0, pretend = 0, frame = 0 9607 @ frame_needed = 0, uses_anonymous_args = 0 3027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t tmpreg; 9608 .loc 1 3027 1 is_stmt 0 view .LVU3261 9609 0000 70B5 push {r4, r5, r6, lr} 9610 .LCFI31: 9611 .cfi_def_cfa_offset 16 9612 .cfi_offset 4, -16 9613 .cfi_offset 5, -12 9614 .cfi_offset 6, -8 9615 .cfi_offset 14, -4 9616 0002 0446 mov r4, r0 3028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t brrtemp; 9617 .loc 1 3028 3 is_stmt 1 view .LVU3262 3029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_ClockSourceTypeDef clocksource; 9618 .loc 1 3029 3 view .LVU3263 3030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t usartdiv; 9619 .loc 1 3030 3 view .LVU3264 3031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef ret = HAL_OK; 9620 .loc 1 3031 3 view .LVU3265 3032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t lpuart_ker_ck_pres; 9621 .loc 1 3032 3 view .LVU3266 9622 .LVL865: 3033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t pclk; 9623 .loc 1 3033 3 view .LVU3267 3034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9624 .loc 1 3034 3 view .LVU3268 3037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength)); 9625 .loc 1 3037 3 view .LVU3269 3038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_INSTANCE_LOWPOWER(huart)) 9626 .loc 1 3038 3 view .LVU3270 3039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9627 .loc 1 3039 3 view .LVU3271 3041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9628 .loc 1 3041 5 view .LVU3272 3045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_ONE_BIT_SAMPLE(huart->Init.OneBitSampling)); 9629 .loc 1 3045 5 view .LVU3273 3046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9630 .loc 1 3046 5 view .LVU3274 3049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode)); 9631 .loc 1 3049 3 view .LVU3275 3050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl)); 9632 .loc 1 3050 3 view .LVU3276 3051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling)); 9633 .loc 1 3051 3 view .LVU3277 3052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_PRESCALER(huart->Init.ClockPrescaler)); 9634 .loc 1 3052 3 view .LVU3278 3053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9635 .loc 1 3053 3 view .LVU3279 3062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 9636 .loc 1 3062 3 view .LVU3280 3062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 9637 .loc 1 3062 33 is_stmt 0 view .LVU3281 ARM GAS /tmp/cciGf5I5.s page 323 9638 0004 8368 ldr r3, [r0, #8] 3062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 9639 .loc 1 3062 58 view .LVU3282 9640 0006 0269 ldr r2, [r0, #16] 3062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 9641 .loc 1 3062 45 view .LVU3283 9642 0008 1343 orrs r3, r3, r2 3062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 9643 .loc 1 3062 79 view .LVU3284 9644 000a 4269 ldr r2, [r0, #20] 3062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 9645 .loc 1 3062 66 view .LVU3285 9646 000c 1343 orrs r3, r3, r2 3062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 9647 .loc 1 3062 98 view .LVU3286 9648 000e C269 ldr r2, [r0, #28] 3062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 9649 .loc 1 3062 10 view .LVU3287 9650 0010 1343 orrs r3, r3, r2 9651 .LVL866: 3063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9652 .loc 1 3063 3 is_stmt 1 view .LVU3288 9653 0012 0168 ldr r1, [r0] 9654 0014 0868 ldr r0, [r1] 9655 .LVL867: 3063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9656 .loc 1 3063 3 is_stmt 0 view .LVU3289 9657 0016 8A4A ldr r2, .L486 9658 0018 0240 ands r2, r2, r0 9659 001a 1A43 orrs r2, r2, r3 9660 001c 0A60 str r2, [r1] 3068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9661 .loc 1 3068 3 is_stmt 1 view .LVU3290 9662 001e 2268 ldr r2, [r4] 9663 0020 5368 ldr r3, [r2, #4] 9664 .LVL868: 3068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9665 .loc 1 3068 3 is_stmt 0 view .LVU3291 9666 0022 23F44053 bic r3, r3, #12288 9667 0026 E168 ldr r1, [r4, #12] 9668 0028 0B43 orrs r3, r3, r1 9669 002a 5360 str r3, [r2, #4] 3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9670 .loc 1 3076 3 is_stmt 1 view .LVU3292 3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9671 .loc 1 3076 10 is_stmt 0 view .LVU3293 9672 002c A169 ldr r1, [r4, #24] 9673 .LVL869: 3078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9674 .loc 1 3078 3 is_stmt 1 view .LVU3294 3078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9675 .loc 1 3078 9 is_stmt 0 view .LVU3295 9676 002e 2268 ldr r2, [r4] 3078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9677 .loc 1 3078 6 view .LVU3296 9678 0030 844B ldr r3, .L486+4 9679 0032 9A42 cmp r2, r3 ARM GAS /tmp/cciGf5I5.s page 324 9680 0034 01D0 beq .L407 3080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9681 .loc 1 3080 5 is_stmt 1 view .LVU3297 3080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9682 .loc 1 3080 26 is_stmt 0 view .LVU3298 9683 0036 236A ldr r3, [r4, #32] 3080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9684 .loc 1 3080 12 view .LVU3299 9685 0038 1943 orrs r1, r1, r3 9686 .LVL870: 9687 .L407: 3082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9688 .loc 1 3082 3 is_stmt 1 view .LVU3300 9689 003a 9368 ldr r3, [r2, #8] 9690 003c 23F06E43 bic r3, r3, #-301989888 9691 0040 23F43063 bic r3, r3, #2816 9692 0044 0B43 orrs r3, r3, r1 9693 0046 9360 str r3, [r2, #8] 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9694 .loc 1 3087 3 view .LVU3301 9695 0048 2268 ldr r2, [r4] 9696 004a D36A ldr r3, [r2, #44] 9697 004c 23F00F03 bic r3, r3, #15 9698 0050 616A ldr r1, [r4, #36] 9699 .LVL871: 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9700 .loc 1 3087 3 is_stmt 0 view .LVU3302 9701 0052 0B43 orrs r3, r3, r1 9702 0054 D362 str r3, [r2, #44] 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9703 .loc 1 3090 3 is_stmt 1 view .LVU3303 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9704 .loc 1 3090 3 view .LVU3304 9705 0056 2368 ldr r3, [r4] 9706 0058 7B4A ldr r2, .L486+8 9707 005a 9342 cmp r3, r2 9708 005c 23D0 beq .L479 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9709 .loc 1 3090 3 discriminator 2 view .LVU3305 9710 005e 7B4A ldr r2, .L486+12 9711 0060 9342 cmp r3, r2 9712 0062 34D0 beq .L480 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9713 .loc 1 3090 3 discriminator 9 view .LVU3306 9714 0064 7A4A ldr r2, .L486+16 9715 0066 9342 cmp r3, r2 9716 0068 4AD0 beq .L481 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9717 .loc 1 3090 3 discriminator 16 view .LVU3307 9718 006a 7A4A ldr r2, .L486+20 9719 006c 9342 cmp r3, r2 9720 006e 59D0 beq .L482 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9721 .loc 1 3090 3 discriminator 23 view .LVU3308 9722 0070 744A ldr r2, .L486+4 9723 0072 9342 cmp r3, r2 9724 0074 68D0 beq .L483 ARM GAS /tmp/cciGf5I5.s page 325 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9725 .loc 1 3090 3 is_stmt 0 discriminator 30 view .LVU3309 9726 0076 1022 movs r2, #16 9727 .L412: 9728 .LVL872: 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9729 .loc 1 3090 3 is_stmt 1 discriminator 36 view .LVU3310 3093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9730 .loc 1 3093 3 view .LVU3311 3093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9731 .loc 1 3093 6 is_stmt 0 view .LVU3312 9732 0078 7249 ldr r1, .L486+4 9733 007a 8B42 cmp r3, r1 9734 007c 00F09580 beq .L484 3146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9735 .loc 1 3146 8 is_stmt 1 view .LVU3313 3146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9736 .loc 1 3146 23 is_stmt 0 view .LVU3314 9737 0080 E069 ldr r0, [r4, #28] 3146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9738 .loc 1 3146 11 view .LVU3315 9739 0082 B0F5004F cmp r0, #32768 9740 0086 00F0D080 beq .L485 3189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9741 .loc 1 3189 5 is_stmt 1 view .LVU3316 9742 008a 082A cmp r2, #8 9743 008c 00F24281 bhi .L473 9744 0090 DFE812F0 tbh [pc, r2, lsl #1] 9745 .L443: 9746 0094 1001 .2byte (.L447-.L443)/2 9747 0096 2901 .2byte (.L446-.L443)/2 9748 0098 0E01 .2byte (.L445-.L443)/2 9749 009a 4001 .2byte (.L473-.L443)/2 9750 009c 2C01 .2byte (.L444-.L443)/2 9751 009e 4001 .2byte (.L473-.L443)/2 9752 00a0 4001 .2byte (.L473-.L443)/2 9753 00a2 4001 .2byte (.L473-.L443)/2 9754 00a4 2F01 .2byte (.L474-.L443)/2 9755 .LVL873: 9756 .p2align 1 9757 .L479: 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9758 .loc 1 3090 3 discriminator 1 view .LVU3317 9759 00a6 02F55842 add r2, r2, #55296 9760 00aa D2F88820 ldr r2, [r2, #136] 9761 00ae 02F00302 and r2, r2, #3 9762 00b2 032A cmp r2, #3 9763 00b4 09D8 bhi .L409 9764 00b6 DFE802F0 tbb [pc, r2] 9765 .L411: 9766 00ba 02 .byte (.L414-.L411)/2 9767 00bb 04 .byte (.L413-.L411)/2 9768 00bc 5C .byte (.L449-.L411)/2 9769 00bd 06 .byte (.L410-.L411)/2 9770 .p2align 1 9771 .L414: 9772 00be 0122 movs r2, #1 ARM GAS /tmp/cciGf5I5.s page 326 9773 00c0 DAE7 b .L412 9774 .L413: 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9775 .loc 1 3090 3 view .LVU3318 9776 .LVL874: 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9777 .loc 1 3090 3 view .LVU3319 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9778 .loc 1 3090 3 is_stmt 0 discriminator 5 view .LVU3320 9779 00c2 0422 movs r2, #4 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9780 .loc 1 3090 3 view .LVU3321 9781 00c4 D8E7 b .L412 9782 .LVL875: 9783 .L410: 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9784 .loc 1 3090 3 is_stmt 1 view .LVU3322 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9785 .loc 1 3090 3 view .LVU3323 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9786 .loc 1 3090 3 is_stmt 0 discriminator 7 view .LVU3324 9787 00c6 0822 movs r2, #8 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9788 .loc 1 3090 3 view .LVU3325 9789 00c8 D6E7 b .L412 9790 .LVL876: 9791 .L409: 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9792 .loc 1 3090 3 is_stmt 1 view .LVU3326 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9793 .loc 1 3090 3 view .LVU3327 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9794 .loc 1 3090 3 is_stmt 0 discriminator 3 view .LVU3328 9795 00ca 1022 movs r2, #16 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9796 .loc 1 3090 3 view .LVU3329 9797 00cc D4E7 b .L412 9798 .LVL877: 9799 .L480: 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9800 .loc 1 3090 3 is_stmt 1 discriminator 8 view .LVU3330 9801 00ce 02F5E632 add r2, r2, #117760 9802 00d2 D2F88820 ldr r2, [r2, #136] 9803 00d6 02F00C02 and r2, r2, #12 9804 00da 0C2A cmp r2, #12 9805 00dc 0ED8 bhi .L416 9806 00de DFE802F0 tbb [pc, r2] 9807 .L418: 9808 00e2 07 .byte (.L420-.L418)/2 9809 00e3 0D .byte (.L416-.L418)/2 9810 00e4 0D .byte (.L416-.L418)/2 9811 00e5 0D .byte (.L416-.L418)/2 9812 00e6 09 .byte (.L419-.L418)/2 9813 00e7 0D .byte (.L416-.L418)/2 9814 00e8 0D .byte (.L416-.L418)/2 9815 00e9 0D .byte (.L416-.L418)/2 9816 00ea 4A .byte (.L450-.L418)/2 ARM GAS /tmp/cciGf5I5.s page 327 9817 00eb 0D .byte (.L416-.L418)/2 9818 00ec 0D .byte (.L416-.L418)/2 9819 00ed 0D .byte (.L416-.L418)/2 9820 00ee 0B .byte (.L417-.L418)/2 9821 00ef 00 .p2align 1 9822 .L420: 9823 00f0 0022 movs r2, #0 9824 00f2 C1E7 b .L412 9825 .L419: 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9826 .loc 1 3090 3 view .LVU3331 9827 .LVL878: 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9828 .loc 1 3090 3 view .LVU3332 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9829 .loc 1 3090 3 is_stmt 0 discriminator 12 view .LVU3333 9830 00f4 0422 movs r2, #4 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9831 .loc 1 3090 3 view .LVU3334 9832 00f6 BFE7 b .L412 9833 .LVL879: 9834 .L417: 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9835 .loc 1 3090 3 is_stmt 1 view .LVU3335 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9836 .loc 1 3090 3 view .LVU3336 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9837 .loc 1 3090 3 is_stmt 0 discriminator 14 view .LVU3337 9838 00f8 0822 movs r2, #8 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9839 .loc 1 3090 3 view .LVU3338 9840 00fa BDE7 b .L412 9841 .LVL880: 9842 .L416: 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9843 .loc 1 3090 3 is_stmt 1 view .LVU3339 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9844 .loc 1 3090 3 view .LVU3340 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9845 .loc 1 3090 3 is_stmt 0 discriminator 10 view .LVU3341 9846 00fc 1022 movs r2, #16 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9847 .loc 1 3090 3 view .LVU3342 9848 00fe BBE7 b .L412 9849 .LVL881: 9850 .L481: 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9851 .loc 1 3090 3 is_stmt 1 discriminator 15 view .LVU3343 9852 0100 02F5E432 add r2, r2, #116736 9853 0104 D2F88820 ldr r2, [r2, #136] 9854 0108 02F03002 and r2, r2, #48 9855 010c 202A cmp r2, #32 9856 010e 34D0 beq .L451 9857 0110 04D8 bhi .L422 9858 0112 A2B3 cbz r2, .L452 9859 0114 102A cmp r2, #16 9860 0116 34D1 bne .L453 ARM GAS /tmp/cciGf5I5.s page 328 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9861 .loc 1 3090 3 is_stmt 0 discriminator 19 view .LVU3344 9862 0118 0422 movs r2, #4 9863 011a ADE7 b .L412 9864 .L422: 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9865 .loc 1 3090 3 discriminator 15 view .LVU3345 9866 011c 302A cmp r2, #48 9867 011e 32D1 bne .L454 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9868 .loc 1 3090 3 discriminator 21 view .LVU3346 9869 0120 0822 movs r2, #8 9870 0122 A9E7 b .L412 9871 .L482: 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9872 .loc 1 3090 3 is_stmt 1 discriminator 22 view .LVU3347 9873 0124 02F5E232 add r2, r2, #115712 9874 0128 D2F88820 ldr r2, [r2, #136] 9875 012c 02F0C002 and r2, r2, #192 9876 0130 802A cmp r2, #128 9877 0132 2AD0 beq .L455 9878 0134 04D8 bhi .L424 9879 0136 52B3 cbz r2, .L456 9880 0138 402A cmp r2, #64 9881 013a 2AD1 bne .L457 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9882 .loc 1 3090 3 is_stmt 0 discriminator 26 view .LVU3348 9883 013c 0422 movs r2, #4 9884 013e 9BE7 b .L412 9885 .L424: 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9886 .loc 1 3090 3 discriminator 22 view .LVU3349 9887 0140 C02A cmp r2, #192 9888 0142 28D1 bne .L458 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9889 .loc 1 3090 3 discriminator 28 view .LVU3350 9890 0144 0822 movs r2, #8 9891 0146 97E7 b .L412 9892 .L483: 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9893 .loc 1 3090 3 is_stmt 1 discriminator 29 view .LVU3351 9894 0148 02F5C832 add r2, r2, #102400 9895 014c D2F88820 ldr r2, [r2, #136] 9896 0150 02F44062 and r2, r2, #3072 9897 0154 B2F5006F cmp r2, #2048 9898 0158 1FD0 beq .L460 9899 015a 05D8 bhi .L425 9900 015c FAB1 cbz r2, .L461 9901 015e B2F5806F cmp r2, #1024 9902 0162 1ED1 bne .L462 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9903 .loc 1 3090 3 is_stmt 0 discriminator 33 view .LVU3352 9904 0164 0422 movs r2, #4 9905 0166 87E7 b .L412 9906 .L425: 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9907 .loc 1 3090 3 discriminator 29 view .LVU3353 ARM GAS /tmp/cciGf5I5.s page 329 9908 0168 B2F5406F cmp r2, #3072 9909 016c 1BD1 bne .L463 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9910 .loc 1 3090 3 discriminator 35 view .LVU3354 9911 016e 0822 movs r2, #8 9912 0170 82E7 b .L412 9913 .L449: 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9914 .loc 1 3090 3 discriminator 6 view .LVU3355 9915 0172 0222 movs r2, #2 9916 0174 80E7 b .L412 9917 .L450: 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9918 .loc 1 3090 3 discriminator 13 view .LVU3356 9919 0176 0222 movs r2, #2 9920 0178 7EE7 b .L412 9921 .L451: 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9922 .loc 1 3090 3 discriminator 20 view .LVU3357 9923 017a 0222 movs r2, #2 9924 017c 7CE7 b .L412 9925 .L452: 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9926 .loc 1 3090 3 discriminator 15 view .LVU3358 9927 017e 0022 movs r2, #0 9928 0180 7AE7 b .L412 9929 .L453: 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9930 .loc 1 3090 3 discriminator 17 view .LVU3359 9931 0182 1022 movs r2, #16 9932 0184 78E7 b .L412 9933 .L454: 9934 0186 1022 movs r2, #16 9935 0188 76E7 b .L412 9936 .L455: 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9937 .loc 1 3090 3 discriminator 27 view .LVU3360 9938 018a 0222 movs r2, #2 9939 018c 74E7 b .L412 9940 .L456: 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9941 .loc 1 3090 3 discriminator 22 view .LVU3361 9942 018e 0022 movs r2, #0 9943 0190 72E7 b .L412 9944 .L457: 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9945 .loc 1 3090 3 discriminator 24 view .LVU3362 9946 0192 1022 movs r2, #16 9947 0194 70E7 b .L412 9948 .L458: 9949 0196 1022 movs r2, #16 9950 0198 6EE7 b .L412 9951 .L460: 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9952 .loc 1 3090 3 discriminator 34 view .LVU3363 9953 019a 0222 movs r2, #2 9954 019c 6CE7 b .L412 ARM GAS /tmp/cciGf5I5.s page 330 9955 .L461: 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9956 .loc 1 3090 3 discriminator 29 view .LVU3364 9957 019e 0022 movs r2, #0 9958 01a0 6AE7 b .L412 9959 .L462: 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9960 .loc 1 3090 3 discriminator 31 view .LVU3365 9961 01a2 1022 movs r2, #16 9962 01a4 68E7 b .L412 9963 .L463: 9964 01a6 1022 movs r2, #16 9965 01a8 66E7 b .L412 9966 .LVL882: 9967 .L484: 3096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9968 .loc 1 3096 5 is_stmt 1 view .LVU3366 9969 01aa 082A cmp r2, #8 9970 01ac 00F2A480 bhi .L464 9971 01b0 DFE802F0 tbb [pc, r2] 9972 .L429: 9973 01b4 08 .byte (.L432-.L429)/2 9974 01b5 A2 .byte (.L464-.L429)/2 9975 01b6 10 .byte (.L465-.L429)/2 9976 01b7 A2 .byte (.L464-.L429)/2 9977 01b8 0D .byte (.L430-.L429)/2 9978 01b9 A2 .byte (.L464-.L429)/2 9979 01ba A2 .byte (.L464-.L429)/2 9980 01bb A2 .byte (.L464-.L429)/2 9981 01bc 05 .byte (.L428-.L429)/2 9982 01bd 00 .p2align 1 9983 .L428: 9984 01be 4FF40040 mov r0, #32768 9985 01c2 08E0 b .L431 9986 .L432: 3099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 9987 .loc 1 3099 9 view .LVU3367 3099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 9988 .loc 1 3099 16 is_stmt 0 view .LVU3368 9989 01c4 FFF7FEFF bl HAL_RCC_GetPCLK1Freq 9990 .LVL883: 3100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 9991 .loc 1 3100 9 is_stmt 1 view .LVU3369 9992 .L433: 3117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9993 .loc 1 3117 5 view .LVU3370 3117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9994 .loc 1 3117 8 is_stmt 0 view .LVU3371 9995 01c8 28B9 cbnz r0, .L431 3117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9996 .loc 1 3117 8 view .LVU3372 9997 01ca 0020 movs r0, #0 9998 .LVL884: 3117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9999 .loc 1 3117 8 view .LVU3373 10000 01cc A3E0 b .L427 10001 .LVL885: ARM GAS /tmp/cciGf5I5.s page 331 10002 .L430: 3105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 10003 .loc 1 3105 9 is_stmt 1 view .LVU3374 3105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 10004 .loc 1 3105 16 is_stmt 0 view .LVU3375 10005 01ce FFF7FEFF bl HAL_RCC_GetSysClockFreq 10006 .LVL886: 3106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE: 10007 .loc 1 3106 9 is_stmt 1 view .LVU3376 10008 01d2 F9E7 b .L433 10009 .LVL887: 10010 .L465: 3102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 10011 .loc 1 3102 14 is_stmt 0 view .LVU3377 10012 01d4 2048 ldr r0, .L486+24 10013 .LVL888: 10014 .L431: 3120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10015 .loc 1 3120 7 is_stmt 1 view .LVU3378 3120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10016 .loc 1 3120 62 is_stmt 0 view .LVU3379 10017 01d6 626A ldr r2, [r4, #36] 3120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10018 .loc 1 3120 50 view .LVU3380 10019 01d8 204B ldr r3, .L486+28 10020 01da 33F81220 ldrh r2, [r3, r2, lsl #1] 3120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10021 .loc 1 3120 26 view .LVU3381 10022 01de B0FBF2F3 udiv r3, r0, r2 10023 .LVL889: 3123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate))) 10024 .loc 1 3123 7 is_stmt 1 view .LVU3382 3123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate))) 10025 .loc 1 3123 50 is_stmt 0 view .LVU3383 10026 01e2 6568 ldr r5, [r4, #4] 3123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate))) 10027 .loc 1 3123 37 view .LVU3384 10028 01e4 05EB4501 add r1, r5, r5, lsl #1 3123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate))) 10029 .loc 1 3123 10 view .LVU3385 10030 01e8 9942 cmp r1, r3 10031 01ea 00F28780 bhi .L467 3123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate))) 10032 .loc 1 3123 62 discriminator 1 view .LVU3386 10033 01ee B3EB053F cmp r3, r5, lsl #12 10034 01f2 00F28580 bhi .L468 3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= LPUART_BRR_MIN) && (usartdiv <= LPUART_BRR_MAX)) 10035 .loc 1 3132 9 is_stmt 1 view .LVU3387 3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= LPUART_BRR_MIN) && (usartdiv <= LPUART_BRR_MAX)) 10036 .loc 1 3132 31 is_stmt 0 view .LVU3388 10037 01f6 0026 movs r6, #0 10038 01f8 3346 mov r3, r6 10039 .LVL890: 3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= LPUART_BRR_MIN) && (usartdiv <= LPUART_BRR_MAX)) 10040 .loc 1 3132 31 view .LVU3389 10041 01fa 3146 mov r1, r6 10042 01fc FFF7FEFF bl __aeabi_uldivmod ARM GAS /tmp/cciGf5I5.s page 332 10043 .LVL891: 3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= LPUART_BRR_MIN) && (usartdiv <= LPUART_BRR_MAX)) 10044 .loc 1 3132 31 view .LVU3390 10045 0200 0902 lsls r1, r1, #8 10046 0202 41EA1061 orr r1, r1, r0, lsr #24 10047 0206 0002 lsls r0, r0, #8 10048 0208 6B08 lsrs r3, r5, #1 10049 020a C018 adds r0, r0, r3 10050 020c 2A46 mov r2, r5 10051 020e 3346 mov r3, r6 10052 0210 41F10001 adc r1, r1, #0 10053 0214 FFF7FEFF bl __aeabi_uldivmod 10054 .LVL892: 3133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10055 .loc 1 3133 9 is_stmt 1 view .LVU3391 3133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10056 .loc 1 3133 42 is_stmt 0 view .LVU3392 10057 0218 A0F54072 sub r2, r0, #768 3133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10058 .loc 1 3133 12 view .LVU3393 10059 021c 104B ldr r3, .L486+32 10060 021e 9A42 cmp r2, r3 10061 0220 70D8 bhi .L469 3135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10062 .loc 1 3135 11 is_stmt 1 view .LVU3394 3135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10063 .loc 1 3135 16 is_stmt 0 view .LVU3395 10064 0222 2368 ldr r3, [r4] 3135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10065 .loc 1 3135 32 view .LVU3396 10066 0224 D860 str r0, [r3, #12] 10067 0226 3046 mov r0, r6 10068 .LVL893: 3135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10069 .loc 1 3135 32 view .LVU3397 10070 0228 75E0 b .L427 10071 .LVL894: 10072 .L485: 3148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10073 .loc 1 3148 5 is_stmt 1 view .LVU3398 10074 022a 082A cmp r2, #8 10075 022c 6CD8 bhi .L470 10076 022e DFE802F0 tbb [pc, r2] 10077 .L436: 10078 0232 19 .byte (.L440-.L436)/2 10079 0233 39 .byte (.L439-.L436)/2 10080 0234 05 .byte (.L438-.L436)/2 10081 0235 6B .byte (.L470-.L436)/2 10082 0236 3C .byte (.L437-.L436)/2 10083 0237 6B .byte (.L470-.L436)/2 10084 0238 6B .byte (.L470-.L436)/2 10085 0239 6B .byte (.L470-.L436)/2 10086 023a 1D .byte (.L435-.L436)/2 10087 023b 00 .p2align 1 10088 .L438: 10089 023c 0648 ldr r0, .L486+24 10090 023e 15E0 b .L435 ARM GAS /tmp/cciGf5I5.s page 333 10091 .L487: 10092 .align 2 10093 .L486: 10094 0240 F369FFCF .word -805344781 10095 0244 00800040 .word 1073774592 10096 0248 00380140 .word 1073821696 10097 024c 00440040 .word 1073759232 10098 0250 00480040 .word 1073760256 10099 0254 004C0040 .word 1073761280 10100 0258 0024F400 .word 16000000 10101 025c 00000000 .word UARTPrescTable 10102 0260 FFFC0F00 .word 1047807 10103 .L440: 3151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 10104 .loc 1 3151 9 view .LVU3399 3151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 10105 .loc 1 3151 16 is_stmt 0 view .LVU3400 10106 0264 FFF7FEFF bl HAL_RCC_GetPCLK1Freq 10107 .LVL895: 3152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2: 10108 .loc 1 3152 9 is_stmt 1 view .LVU3401 10109 .L441: 3172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10110 .loc 1 3172 5 view .LVU3402 3172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10111 .loc 1 3172 8 is_stmt 0 view .LVU3403 10112 0268 0028 cmp r0, #0 10113 026a 4FD0 beq .L471 10114 .LVL896: 10115 .L435: 3174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 10116 .loc 1 3174 7 is_stmt 1 view .LVU3404 3174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 10117 .loc 1 3174 29 is_stmt 0 view .LVU3405 10118 026c 626A ldr r2, [r4, #36] 10119 026e 304B ldr r3, .L488 10120 0270 33F81230 ldrh r3, [r3, r2, lsl #1] 10121 0274 B0FBF3F0 udiv r0, r0, r3 10122 0278 6268 ldr r2, [r4, #4] 10123 027a 5308 lsrs r3, r2, #1 10124 027c 03EB4003 add r3, r3, r0, lsl #1 3174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 10125 .loc 1 3174 16 view .LVU3406 10126 0280 B3FBF2F3 udiv r3, r3, r2 10127 .LVL897: 3175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10128 .loc 1 3175 7 is_stmt 1 view .LVU3407 3175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10129 .loc 1 3175 38 is_stmt 0 view .LVU3408 10130 0284 A3F11001 sub r1, r3, #16 3175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10131 .loc 1 3175 10 view .LVU3409 10132 0288 4FF6EF72 movw r2, #65519 10133 028c 9142 cmp r1, r2 10134 028e 3FD8 bhi .L472 3177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U); 10135 .loc 1 3177 9 is_stmt 1 view .LVU3410 ARM GAS /tmp/cciGf5I5.s page 334 3177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U); 10136 .loc 1 3177 19 is_stmt 0 view .LVU3411 10137 0290 9AB2 uxth r2, r3 3177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U); 10138 .loc 1 3177 17 view .LVU3412 10139 0292 22F00F02 bic r2, r2, #15 10140 .LVL898: 3178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->BRR = brrtemp; 10141 .loc 1 3178 9 is_stmt 1 view .LVU3413 3178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->BRR = brrtemp; 10142 .loc 1 3178 20 is_stmt 0 view .LVU3414 10143 0296 C3F34203 ubfx r3, r3, #1, #3 10144 .LVL899: 3178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->BRR = brrtemp; 10145 .loc 1 3178 17 view .LVU3415 10146 029a 1343 orrs r3, r3, r2 10147 .LVL900: 3179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10148 .loc 1 3179 9 is_stmt 1 view .LVU3416 3179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10149 .loc 1 3179 14 is_stmt 0 view .LVU3417 10150 029c 2268 ldr r2, [r4] 3179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10151 .loc 1 3179 30 view .LVU3418 10152 029e D360 str r3, [r2, #12] 10153 02a0 0020 movs r0, #0 10154 02a2 38E0 b .L427 10155 .LVL901: 10156 .L439: 3154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 10157 .loc 1 3154 9 is_stmt 1 view .LVU3419 3154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 10158 .loc 1 3154 16 is_stmt 0 view .LVU3420 10159 02a4 FFF7FEFF bl HAL_RCC_GetPCLK2Freq 10160 .LVL902: 3155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 10161 .loc 1 3155 9 is_stmt 1 view .LVU3421 10162 02a8 DEE7 b .L441 10163 .LVL903: 10164 .L437: 3160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 10165 .loc 1 3160 9 view .LVU3422 3160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 10166 .loc 1 3160 16 is_stmt 0 view .LVU3423 10167 02aa FFF7FEFF bl HAL_RCC_GetSysClockFreq 10168 .LVL904: 3161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE: 10169 .loc 1 3161 9 is_stmt 1 view .LVU3424 10170 02ae DBE7 b .L441 10171 .LVL905: 10172 .L445: 3189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10173 .loc 1 3189 5 is_stmt 0 view .LVU3425 10174 02b0 2048 ldr r0, .L488+4 10175 02b2 02E0 b .L442 10176 .L447: 3192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; ARM GAS /tmp/cciGf5I5.s page 335 10177 .loc 1 3192 9 is_stmt 1 view .LVU3426 3192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 10178 .loc 1 3192 16 is_stmt 0 view .LVU3427 10179 02b4 FFF7FEFF bl HAL_RCC_GetPCLK1Freq 10180 .LVL906: 3193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2: 10181 .loc 1 3193 9 is_stmt 1 view .LVU3428 10182 .L448: 3212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10183 .loc 1 3212 5 view .LVU3429 3212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10184 .loc 1 3212 8 is_stmt 0 view .LVU3430 10185 02b8 B0B3 cbz r0, .L475 10186 .LVL907: 10187 .L442: 3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 10188 .loc 1 3215 7 is_stmt 1 view .LVU3431 3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 10189 .loc 1 3215 29 is_stmt 0 view .LVU3432 10190 02ba 626A ldr r2, [r4, #36] 10191 02bc 1C4B ldr r3, .L488 10192 02be 33F81230 ldrh r3, [r3, r2, lsl #1] 10193 02c2 B0FBF3F0 udiv r0, r0, r3 10194 02c6 6368 ldr r3, [r4, #4] 10195 02c8 00EB5300 add r0, r0, r3, lsr #1 3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 10196 .loc 1 3215 16 view .LVU3433 10197 02cc B0FBF3F0 udiv r0, r0, r3 10198 .LVL908: 3216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10199 .loc 1 3216 7 is_stmt 1 view .LVU3434 3216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10200 .loc 1 3216 38 is_stmt 0 view .LVU3435 10201 02d0 A0F11002 sub r2, r0, #16 3216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10202 .loc 1 3216 10 view .LVU3436 10203 02d4 4FF6EF73 movw r3, #65519 10204 02d8 9A42 cmp r2, r3 10205 02da 27D8 bhi .L476 3218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10206 .loc 1 3218 9 is_stmt 1 view .LVU3437 3218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10207 .loc 1 3218 14 is_stmt 0 view .LVU3438 10208 02dc 2368 ldr r3, [r4] 10209 02de 80B2 uxth r0, r0 10210 .LVL909: 3218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10211 .loc 1 3218 30 view .LVU3439 10212 02e0 D860 str r0, [r3, #12] 10213 02e2 0020 movs r0, #0 10214 02e4 17E0 b .L427 10215 .LVL910: 10216 .L446: 3195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 10217 .loc 1 3195 9 is_stmt 1 view .LVU3440 3195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 10218 .loc 1 3195 16 is_stmt 0 view .LVU3441 ARM GAS /tmp/cciGf5I5.s page 336 10219 02e6 FFF7FEFF bl HAL_RCC_GetPCLK2Freq 10220 .LVL911: 3196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 10221 .loc 1 3196 9 is_stmt 1 view .LVU3442 10222 02ea E5E7 b .L448 10223 .LVL912: 10224 .L444: 3201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 10225 .loc 1 3201 9 view .LVU3443 3201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 10226 .loc 1 3201 16 is_stmt 0 view .LVU3444 10227 02ec FFF7FEFF bl HAL_RCC_GetSysClockFreq 10228 .LVL913: 3202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE: 10229 .loc 1 3202 9 is_stmt 1 view .LVU3445 10230 02f0 E2E7 b .L448 10231 .LVL914: 10232 .L474: 3204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 10233 .loc 1 3204 14 is_stmt 0 view .LVU3446 10234 02f2 4FF40040 mov r0, #32768 10235 02f6 E0E7 b .L442 10236 .L464: 3096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10237 .loc 1 3096 5 view .LVU3447 10238 02f8 0120 movs r0, #1 10239 02fa 0CE0 b .L427 10240 .LVL915: 10241 .L467: 3126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10242 .loc 1 3126 13 view .LVU3448 10243 02fc 0120 movs r0, #1 10244 02fe 0AE0 b .L427 10245 .L468: 10246 0300 0120 movs r0, #1 10247 0302 08E0 b .L427 10248 .LVL916: 10249 .L469: 3139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10250 .loc 1 3139 15 view .LVU3449 10251 0304 0120 movs r0, #1 10252 .LVL917: 3139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10253 .loc 1 3139 15 view .LVU3450 10254 0306 06E0 b .L427 10255 .LVL918: 10256 .L470: 3148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10257 .loc 1 3148 5 view .LVU3451 10258 0308 0120 movs r0, #1 10259 030a 04E0 b .L427 10260 .LVL919: 10261 .L471: 3148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10262 .loc 1 3148 5 view .LVU3452 10263 030c 0020 movs r0, #0 10264 .LVL920: ARM GAS /tmp/cciGf5I5.s page 337 3148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10265 .loc 1 3148 5 view .LVU3453 10266 030e 02E0 b .L427 10267 .LVL921: 10268 .L472: 3183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10269 .loc 1 3183 13 view .LVU3454 10270 0310 0120 movs r0, #1 10271 0312 00E0 b .L427 10272 .LVL922: 10273 .L473: 3189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10274 .loc 1 3189 5 view .LVU3455 10275 0314 0120 movs r0, #1 10276 .LVL923: 10277 .L427: 3228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->NbRxDataToProcess = 1; 10278 .loc 1 3228 3 is_stmt 1 view .LVU3456 3228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->NbRxDataToProcess = 1; 10279 .loc 1 3228 28 is_stmt 0 view .LVU3457 10280 0316 0123 movs r3, #1 10281 0318 A4F86A30 strh r3, [r4, #106] @ movhi 3229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10282 .loc 1 3229 3 is_stmt 1 view .LVU3458 3229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10283 .loc 1 3229 28 is_stmt 0 view .LVU3459 10284 031c A4F86830 strh r3, [r4, #104] @ movhi 3232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL; 10285 .loc 1 3232 3 is_stmt 1 view .LVU3460 3232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL; 10286 .loc 1 3232 16 is_stmt 0 view .LVU3461 10287 0320 0023 movs r3, #0 10288 0322 6367 str r3, [r4, #116] 3233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10289 .loc 1 3233 3 is_stmt 1 view .LVU3462 3233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10290 .loc 1 3233 16 is_stmt 0 view .LVU3463 10291 0324 A367 str r3, [r4, #120] 3235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10292 .loc 1 3235 3 is_stmt 1 view .LVU3464 3236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10293 .loc 1 3236 1 is_stmt 0 view .LVU3465 10294 0326 70BD pop {r4, r5, r6, pc} 10295 .LVL924: 10296 .L475: 3236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10297 .loc 1 3236 1 view .LVU3466 10298 0328 0020 movs r0, #0 10299 .LVL925: 3236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10300 .loc 1 3236 1 view .LVU3467 10301 032a F4E7 b .L427 10302 .LVL926: 10303 .L476: 3222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10304 .loc 1 3222 13 view .LVU3468 10305 032c 0120 movs r0, #1 ARM GAS /tmp/cciGf5I5.s page 338 10306 .LVL927: 3222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10307 .loc 1 3222 13 view .LVU3469 10308 032e F2E7 b .L427 10309 .L489: 10310 .align 2 10311 .L488: 10312 0330 00000000 .word UARTPrescTable 10313 0334 0024F400 .word 16000000 10314 .cfi_endproc 10315 .LFE372: 10317 .section .text.UART_AdvFeatureConfig,"ax",%progbits 10318 .align 1 10319 .global UART_AdvFeatureConfig 10320 .syntax unified 10321 .thumb 10322 .thumb_func 10324 UART_AdvFeatureConfig: 10325 .LVL928: 10326 .LFB373: 3244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check whether the set of advanced features to configure is properly set */ 10327 .loc 1 3244 1 is_stmt 1 view -0 10328 .cfi_startproc 10329 @ args = 0, pretend = 0, frame = 0 10330 @ frame_needed = 0, uses_anonymous_args = 0 10331 @ link register save eliminated. 3246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10332 .loc 1 3246 3 view .LVU3471 3249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10333 .loc 1 3249 3 view .LVU3472 3249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10334 .loc 1 3249 7 is_stmt 0 view .LVU3473 10335 0000 836A ldr r3, [r0, #40] 3249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10336 .loc 1 3249 6 view .LVU3474 10337 0002 13F0080F tst r3, #8 10338 0006 06D0 beq .L491 3251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_SWAP, huart->AdvancedInit.Swap); 10339 .loc 1 3251 5 is_stmt 1 view .LVU3475 3252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10340 .loc 1 3252 5 view .LVU3476 10341 0008 0268 ldr r2, [r0] 10342 000a 5368 ldr r3, [r2, #4] 10343 000c 23F40043 bic r3, r3, #32768 10344 0010 816B ldr r1, [r0, #56] 10345 0012 0B43 orrs r3, r3, r1 10346 0014 5360 str r3, [r2, #4] 10347 .L491: 3256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10348 .loc 1 3256 3 view .LVU3477 3256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10349 .loc 1 3256 7 is_stmt 0 view .LVU3478 10350 0016 836A ldr r3, [r0, #40] 3256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10351 .loc 1 3256 6 view .LVU3479 10352 0018 13F0010F tst r3, #1 10353 001c 06D0 beq .L492 ARM GAS /tmp/cciGf5I5.s page 339 3258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_TXINV, huart->AdvancedInit.TxPinLevelInvert); 10354 .loc 1 3258 5 is_stmt 1 view .LVU3480 3259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10355 .loc 1 3259 5 view .LVU3481 10356 001e 0268 ldr r2, [r0] 10357 0020 5368 ldr r3, [r2, #4] 10358 0022 23F40033 bic r3, r3, #131072 10359 0026 C16A ldr r1, [r0, #44] 10360 0028 0B43 orrs r3, r3, r1 10361 002a 5360 str r3, [r2, #4] 10362 .L492: 3263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10363 .loc 1 3263 3 view .LVU3482 3263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10364 .loc 1 3263 7 is_stmt 0 view .LVU3483 10365 002c 836A ldr r3, [r0, #40] 3263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10366 .loc 1 3263 6 view .LVU3484 10367 002e 13F0020F tst r3, #2 10368 0032 06D0 beq .L493 3265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_RXINV, huart->AdvancedInit.RxPinLevelInvert); 10369 .loc 1 3265 5 is_stmt 1 view .LVU3485 3266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10370 .loc 1 3266 5 view .LVU3486 10371 0034 0268 ldr r2, [r0] 10372 0036 5368 ldr r3, [r2, #4] 10373 0038 23F48033 bic r3, r3, #65536 10374 003c 016B ldr r1, [r0, #48] 10375 003e 0B43 orrs r3, r3, r1 10376 0040 5360 str r3, [r2, #4] 10377 .L493: 3270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10378 .loc 1 3270 3 view .LVU3487 3270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10379 .loc 1 3270 7 is_stmt 0 view .LVU3488 10380 0042 836A ldr r3, [r0, #40] 3270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10381 .loc 1 3270 6 view .LVU3489 10382 0044 13F0040F tst r3, #4 10383 0048 06D0 beq .L494 3272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_DATAINV, huart->AdvancedInit.DataInvert); 10384 .loc 1 3272 5 is_stmt 1 view .LVU3490 3273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10385 .loc 1 3273 5 view .LVU3491 10386 004a 0268 ldr r2, [r0] 10387 004c 5368 ldr r3, [r2, #4] 10388 004e 23F48023 bic r3, r3, #262144 10389 0052 416B ldr r1, [r0, #52] 10390 0054 0B43 orrs r3, r3, r1 10391 0056 5360 str r3, [r2, #4] 10392 .L494: 3277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10393 .loc 1 3277 3 view .LVU3492 3277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10394 .loc 1 3277 7 is_stmt 0 view .LVU3493 10395 0058 836A ldr r3, [r0, #40] 3277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cciGf5I5.s page 340 10396 .loc 1 3277 6 view .LVU3494 10397 005a 13F0100F tst r3, #16 10398 005e 06D0 beq .L495 3279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_OVRDIS, huart->AdvancedInit.OverrunDisable); 10399 .loc 1 3279 5 is_stmt 1 view .LVU3495 3280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10400 .loc 1 3280 5 view .LVU3496 10401 0060 0268 ldr r2, [r0] 10402 0062 9368 ldr r3, [r2, #8] 10403 0064 23F48053 bic r3, r3, #4096 10404 0068 C16B ldr r1, [r0, #60] 10405 006a 0B43 orrs r3, r3, r1 10406 006c 9360 str r3, [r2, #8] 10407 .L495: 3284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10408 .loc 1 3284 3 view .LVU3497 3284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10409 .loc 1 3284 7 is_stmt 0 view .LVU3498 10410 006e 836A ldr r3, [r0, #40] 3284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10411 .loc 1 3284 6 view .LVU3499 10412 0070 13F0200F tst r3, #32 10413 0074 06D0 beq .L496 3286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_DDRE, huart->AdvancedInit.DMADisableonRxError); 10414 .loc 1 3286 5 is_stmt 1 view .LVU3500 3287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10415 .loc 1 3287 5 view .LVU3501 10416 0076 0268 ldr r2, [r0] 10417 0078 9368 ldr r3, [r2, #8] 10418 007a 23F40053 bic r3, r3, #8192 10419 007e 016C ldr r1, [r0, #64] 10420 0080 0B43 orrs r3, r3, r1 10421 0082 9360 str r3, [r2, #8] 10422 .L496: 3291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10423 .loc 1 3291 3 view .LVU3502 3291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10424 .loc 1 3291 7 is_stmt 0 view .LVU3503 10425 0084 836A ldr r3, [r0, #40] 3291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10426 .loc 1 3291 6 view .LVU3504 10427 0086 13F0400F tst r3, #64 10428 008a 0AD0 beq .L497 3293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATE(huart->AdvancedInit.AutoBaudRateEnable)); 10429 .loc 1 3293 5 is_stmt 1 view .LVU3505 3294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABREN, huart->AdvancedInit.AutoBaudRateEnable); 10430 .loc 1 3294 5 view .LVU3506 3295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* set auto Baudrate detection parameters if detection is enabled */ 10431 .loc 1 3295 5 view .LVU3507 10432 008c 0268 ldr r2, [r0] 10433 008e 5368 ldr r3, [r2, #4] 10434 0090 23F48013 bic r3, r3, #1048576 10435 0094 416C ldr r1, [r0, #68] 10436 0096 0B43 orrs r3, r3, r1 10437 0098 5360 str r3, [r2, #4] 3297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10438 .loc 1 3297 5 view .LVU3508 ARM GAS /tmp/cciGf5I5.s page 341 3297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10439 .loc 1 3297 28 is_stmt 0 view .LVU3509 10440 009a 436C ldr r3, [r0, #68] 3297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10441 .loc 1 3297 8 view .LVU3510 10442 009c B3F5801F cmp r3, #1048576 10443 00a0 0BD0 beq .L499 10444 .L497: 3305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10445 .loc 1 3305 3 is_stmt 1 view .LVU3511 3305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10446 .loc 1 3305 7 is_stmt 0 view .LVU3512 10447 00a2 836A ldr r3, [r0, #40] 3305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10448 .loc 1 3305 6 view .LVU3513 10449 00a4 13F0800F tst r3, #128 10450 00a8 06D0 beq .L490 3307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_MSBFIRST, huart->AdvancedInit.MSBFirst); 10451 .loc 1 3307 5 is_stmt 1 view .LVU3514 3308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10452 .loc 1 3308 5 view .LVU3515 10453 00aa 0268 ldr r2, [r0] 10454 00ac 5368 ldr r3, [r2, #4] 10455 00ae 23F40023 bic r3, r3, #524288 10456 00b2 C16C ldr r1, [r0, #76] 10457 00b4 0B43 orrs r3, r3, r1 10458 00b6 5360 str r3, [r2, #4] 10459 .L490: 3310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10460 .loc 1 3310 1 is_stmt 0 view .LVU3516 10461 00b8 7047 bx lr 10462 .L499: 3299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABRMODE, huart->AdvancedInit.AutoBaudRateMode); 10463 .loc 1 3299 7 is_stmt 1 view .LVU3517 3300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10464 .loc 1 3300 7 view .LVU3518 10465 00ba 0268 ldr r2, [r0] 10466 00bc 5368 ldr r3, [r2, #4] 10467 00be 23F4C003 bic r3, r3, #6291456 10468 00c2 816C ldr r1, [r0, #72] 10469 00c4 0B43 orrs r3, r3, r1 10470 00c6 5360 str r3, [r2, #4] 10471 00c8 EBE7 b .L497 10472 .cfi_endproc 10473 .LFE373: 10475 .section .text.UART_WaitOnFlagUntilTimeout,"ax",%progbits 10476 .align 1 10477 .global UART_WaitOnFlagUntilTimeout 10478 .syntax unified 10479 .thumb 10480 .thumb_func 10482 UART_WaitOnFlagUntilTimeout: 10483 .LVL929: 10484 .LFB375: 3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Wait until flag is set */ 10485 .loc 1 3388 1 view -0 10486 .cfi_startproc ARM GAS /tmp/cciGf5I5.s page 342 10487 @ args = 4, pretend = 0, frame = 0 10488 @ frame_needed = 0, uses_anonymous_args = 0 3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Wait until flag is set */ 10489 .loc 1 3388 1 is_stmt 0 view .LVU3520 10490 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr} 10491 .LCFI32: 10492 .cfi_def_cfa_offset 32 10493 .cfi_offset 3, -32 10494 .cfi_offset 4, -28 10495 .cfi_offset 5, -24 10496 .cfi_offset 6, -20 10497 .cfi_offset 7, -16 10498 .cfi_offset 8, -12 10499 .cfi_offset 9, -8 10500 .cfi_offset 14, -4 10501 0004 0546 mov r5, r0 10502 0006 0E46 mov r6, r1 10503 0008 1746 mov r7, r2 10504 000a 9946 mov r9, r3 10505 000c DDF82080 ldr r8, [sp, #32] 3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10506 .loc 1 3390 3 is_stmt 1 view .LVU3521 10507 .LVL930: 10508 .L502: 3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10509 .loc 1 3390 59 view .LVU3522 3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10510 .loc 1 3390 11 is_stmt 0 view .LVU3523 10511 0010 2B68 ldr r3, [r5] 10512 0012 DC69 ldr r4, [r3, #28] 3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10513 .loc 1 3390 50 view .LVU3524 10514 0014 36EA0404 bics r4, r6, r4 10515 0018 0CBF ite eq 10516 001a 0124 moveq r4, #1 10517 001c 0024 movne r4, #0 3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10518 .loc 1 3390 59 view .LVU3525 10519 001e BC42 cmp r4, r7 10520 0020 36D1 bne .L509 3393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10521 .loc 1 3393 5 is_stmt 1 view .LVU3526 3393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10522 .loc 1 3393 8 is_stmt 0 view .LVU3527 10523 0022 B8F1FF3F cmp r8, #-1 10524 0026 F3D0 beq .L502 3395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10525 .loc 1 3395 7 is_stmt 1 view .LVU3528 3395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10526 .loc 1 3395 13 is_stmt 0 view .LVU3529 10527 0028 FFF7FEFF bl HAL_GetTick 10528 .LVL931: 3395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10529 .loc 1 3395 27 discriminator 1 view .LVU3530 10530 002c A0EB0900 sub r0, r0, r9 3395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10531 .loc 1 3395 10 discriminator 1 view .LVU3531 ARM GAS /tmp/cciGf5I5.s page 343 10532 0030 4045 cmp r0, r8 10533 0032 30D8 bhi .L506 3395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10534 .loc 1 3395 51 discriminator 1 view .LVU3532 10535 0034 B8F1000F cmp r8, #0 10536 0038 2FD0 beq .L507 3401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10537 .loc 1 3401 7 is_stmt 1 view .LVU3533 3401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10538 .loc 1 3401 12 is_stmt 0 view .LVU3534 10539 003a 2B68 ldr r3, [r5] 10540 003c 1A68 ldr r2, [r3] 3401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10541 .loc 1 3401 10 view .LVU3535 10542 003e 12F0040F tst r2, #4 10543 0042 E5D0 beq .L502 3401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10544 .loc 1 3401 64 discriminator 1 view .LVU3536 10545 0044 802E cmp r6, #128 10546 0046 E3D0 beq .L502 3401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10547 .loc 1 3401 91 discriminator 2 view .LVU3537 10548 0048 402E cmp r6, #64 10549 004a E1D0 beq .L502 3403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10550 .loc 1 3403 9 is_stmt 1 view .LVU3538 3403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10551 .loc 1 3403 13 is_stmt 0 view .LVU3539 10552 004c DA69 ldr r2, [r3, #28] 3403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10553 .loc 1 3403 12 view .LVU3540 10554 004e 12F0080F tst r2, #8 10555 0052 11D1 bne .L510 3420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10556 .loc 1 3420 9 is_stmt 1 view .LVU3541 3420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10557 .loc 1 3420 13 is_stmt 0 view .LVU3542 10558 0054 DA69 ldr r2, [r3, #28] 3420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10559 .loc 1 3420 12 view .LVU3543 10560 0056 12F4006F tst r2, #2048 10561 005a D9D0 beq .L502 3423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10562 .loc 1 3423 11 is_stmt 1 view .LVU3544 10563 005c 4FF40062 mov r2, #2048 10564 0060 1A62 str r2, [r3, #32] 3428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10565 .loc 1 3428 11 view .LVU3545 10566 0062 2846 mov r0, r5 10567 0064 FFF7FEFF bl UART_EndRxTransfer 10568 .LVL932: 3430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10569 .loc 1 3430 11 view .LVU3546 3430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10570 .loc 1 3430 28 is_stmt 0 view .LVU3547 10571 0068 2023 movs r3, #32 10572 006a C5F89030 str r3, [r5, #144] ARM GAS /tmp/cciGf5I5.s page 344 3433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10573 .loc 1 3433 11 is_stmt 1 view .LVU3548 3433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10574 .loc 1 3433 11 view .LVU3549 10575 006e 0023 movs r3, #0 10576 0070 85F88430 strb r3, [r5, #132] 3433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10577 .loc 1 3433 11 view .LVU3550 3435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10578 .loc 1 3435 11 view .LVU3551 3435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10579 .loc 1 3435 18 is_stmt 0 view .LVU3552 10580 0074 0320 movs r0, #3 10581 0076 0CE0 b .L503 10582 .L510: 3406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10583 .loc 1 3406 11 is_stmt 1 view .LVU3553 10584 0078 0824 movs r4, #8 10585 007a 1C62 str r4, [r3, #32] 3411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10586 .loc 1 3411 11 view .LVU3554 10587 007c 2846 mov r0, r5 10588 007e FFF7FEFF bl UART_EndRxTransfer 10589 .LVL933: 3413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10590 .loc 1 3413 11 view .LVU3555 3413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10591 .loc 1 3413 28 is_stmt 0 view .LVU3556 10592 0082 C5F89040 str r4, [r5, #144] 3416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10593 .loc 1 3416 11 is_stmt 1 view .LVU3557 3416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10594 .loc 1 3416 11 view .LVU3558 10595 0086 0023 movs r3, #0 10596 0088 85F88430 strb r3, [r5, #132] 3416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10597 .loc 1 3416 11 view .LVU3559 3418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10598 .loc 1 3418 11 view .LVU3560 3418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10599 .loc 1 3418 18 is_stmt 0 view .LVU3561 10600 008c 0120 movs r0, #1 10601 008e 00E0 b .L503 10602 .L509: 3440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10603 .loc 1 3440 10 view .LVU3562 10604 0090 0020 movs r0, #0 10605 .L503: 3441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10606 .loc 1 3441 1 view .LVU3563 10607 0092 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 10608 .LVL934: 10609 .L506: 3398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10610 .loc 1 3398 16 view .LVU3564 10611 0096 0320 movs r0, #3 10612 0098 FBE7 b .L503 ARM GAS /tmp/cciGf5I5.s page 345 10613 .L507: 10614 009a 0320 movs r0, #3 10615 009c F9E7 b .L503 10616 .cfi_endproc 10617 .LFE375: 10619 .section .text.HAL_UART_Transmit,"ax",%progbits 10620 .align 1 10621 .global HAL_UART_Transmit 10622 .syntax unified 10623 .thumb 10624 .thumb_func 10626 HAL_UART_Transmit: 10627 .LVL935: 10628 .LFB336: 1118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const uint8_t *pdata8bits; 10629 .loc 1 1118 1 is_stmt 1 view -0 10630 .cfi_startproc 10631 @ args = 0, pretend = 0, frame = 0 10632 @ frame_needed = 0, uses_anonymous_args = 0 1118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const uint8_t *pdata8bits; 10633 .loc 1 1118 1 is_stmt 0 view .LVU3566 10634 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} 10635 .LCFI33: 10636 .cfi_def_cfa_offset 24 10637 .cfi_offset 4, -24 10638 .cfi_offset 5, -20 10639 .cfi_offset 6, -16 10640 .cfi_offset 7, -12 10641 .cfi_offset 8, -8 10642 .cfi_offset 14, -4 10643 0004 82B0 sub sp, sp, #8 10644 .LCFI34: 10645 .cfi_def_cfa_offset 32 10646 0006 1E46 mov r6, r3 1119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const uint16_t *pdata16bits; 10647 .loc 1 1119 3 is_stmt 1 view .LVU3567 1120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t tickstart; 10648 .loc 1 1120 3 view .LVU3568 1121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10649 .loc 1 1121 3 view .LVU3569 1124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10650 .loc 1 1124 3 view .LVU3570 1124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10651 .loc 1 1124 12 is_stmt 0 view .LVU3571 10652 0008 D0F88830 ldr r3, [r0, #136] 10653 .LVL936: 1124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10654 .loc 1 1124 6 view .LVU3572 10655 000c 202B cmp r3, #32 10656 000e 5AD1 bne .L520 10657 0010 0446 mov r4, r0 10658 0012 0D46 mov r5, r1 10659 0014 9046 mov r8, r2 1126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10660 .loc 1 1126 5 is_stmt 1 view .LVU3573 1126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10661 .loc 1 1126 8 is_stmt 0 view .LVU3574 ARM GAS /tmp/cciGf5I5.s page 346 10662 0016 0029 cmp r1, #0 10663 0018 59D0 beq .L521 1126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10664 .loc 1 1126 25 discriminator 1 view .LVU3575 10665 001a 0AB9 cbnz r2, .L526 1128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10666 .loc 1 1128 15 view .LVU3576 10667 001c 0120 movs r0, #1 10668 .LVL937: 1128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10669 .loc 1 1128 15 view .LVU3577 10670 001e 53E0 b .L512 10671 .LVL938: 10672 .L526: 1131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 10673 .loc 1 1131 5 is_stmt 1 view .LVU3578 1131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 10674 .loc 1 1131 22 is_stmt 0 view .LVU3579 10675 0020 0023 movs r3, #0 10676 0022 C0F89030 str r3, [r0, #144] 1132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10677 .loc 1 1132 5 is_stmt 1 view .LVU3580 1132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10678 .loc 1 1132 19 is_stmt 0 view .LVU3581 10679 0026 2123 movs r3, #33 10680 0028 C0F88830 str r3, [r0, #136] 1135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10681 .loc 1 1135 5 is_stmt 1 view .LVU3582 1135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10682 .loc 1 1135 17 is_stmt 0 view .LVU3583 10683 002c FFF7FEFF bl HAL_GetTick 10684 .LVL939: 1135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10685 .loc 1 1135 17 view .LVU3584 10686 0030 0746 mov r7, r0 10687 .LVL940: 1137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = Size; 10688 .loc 1 1137 5 is_stmt 1 view .LVU3585 1137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = Size; 10689 .loc 1 1137 24 is_stmt 0 view .LVU3586 10690 0032 A4F85480 strh r8, [r4, #84] @ movhi 1138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10691 .loc 1 1138 5 is_stmt 1 view .LVU3587 1138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10692 .loc 1 1138 24 is_stmt 0 view .LVU3588 10693 0036 A4F85680 strh r8, [r4, #86] @ movhi 1141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10694 .loc 1 1141 5 is_stmt 1 view .LVU3589 1141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10695 .loc 1 1141 21 is_stmt 0 view .LVU3590 10696 003a A368 ldr r3, [r4, #8] 1141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10697 .loc 1 1141 8 view .LVU3591 10698 003c B3F5805F cmp r3, #4096 10699 0040 02D0 beq .L527 1149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10700 .loc 1 1149 19 view .LVU3592 ARM GAS /tmp/cciGf5I5.s page 347 10701 0042 4FF00008 mov r8, #0 10702 .LVL941: 1149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10703 .loc 1 1149 19 view .LVU3593 10704 0046 16E0 b .L517 10705 .L527: 1141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10706 .loc 1 1141 71 discriminator 1 view .LVU3594 10707 0048 2369 ldr r3, [r4, #16] 1141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10708 .loc 1 1141 56 discriminator 1 view .LVU3595 10709 004a 43B3 cbz r3, .L524 1149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10710 .loc 1 1149 19 view .LVU3596 10711 004c 4FF00008 mov r8, #0 10712 0050 11E0 b .L517 10713 .LVL942: 10714 .L529: 1157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10715 .loc 1 1157 9 is_stmt 1 view .LVU3597 1157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10716 .loc 1 1157 23 is_stmt 0 view .LVU3598 10717 0052 2023 movs r3, #32 10718 0054 C4F88830 str r3, [r4, #136] 1159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10719 .loc 1 1159 9 is_stmt 1 view .LVU3599 1159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10720 .loc 1 1159 16 is_stmt 0 view .LVU3600 10721 0058 0320 movs r0, #3 10722 005a 35E0 b .L512 10723 .L530: 1163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits++; 10724 .loc 1 1163 9 is_stmt 1 view .LVU3601 1163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits++; 10725 .loc 1 1163 43 is_stmt 0 view .LVU3602 10726 005c 38F8023B ldrh r3, [r8], #2 10727 .LVL943: 1163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits++; 10728 .loc 1 1163 14 view .LVU3603 10729 0060 2268 ldr r2, [r4] 1163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits++; 10730 .loc 1 1163 32 view .LVU3604 10731 0062 C3F30803 ubfx r3, r3, #0, #9 1163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits++; 10732 .loc 1 1163 30 view .LVU3605 10733 0066 9362 str r3, [r2, #40] 1164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10734 .loc 1 1164 9 is_stmt 1 view .LVU3606 10735 .LVL944: 10736 .L516: 1171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10737 .loc 1 1171 7 view .LVU3607 1171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10738 .loc 1 1171 12 is_stmt 0 view .LVU3608 10739 0068 B4F85620 ldrh r2, [r4, #86] 10740 006c 92B2 uxth r2, r2 1171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cciGf5I5.s page 348 10741 .loc 1 1171 25 view .LVU3609 10742 006e 013A subs r2, r2, #1 10743 0070 92B2 uxth r2, r2 10744 0072 A4F85620 strh r2, [r4, #86] @ movhi 10745 .LVL945: 10746 .L517: 1152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10747 .loc 1 1152 31 is_stmt 1 view .LVU3610 1152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10748 .loc 1 1152 17 is_stmt 0 view .LVU3611 10749 0076 B4F85630 ldrh r3, [r4, #86] 10750 007a 9BB2 uxth r3, r3 1152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10751 .loc 1 1152 31 view .LVU3612 10752 007c 93B1 cbz r3, .L528 1154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10753 .loc 1 1154 7 is_stmt 1 view .LVU3613 1154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10754 .loc 1 1154 11 is_stmt 0 view .LVU3614 10755 007e 0096 str r6, [sp] 10756 0080 3B46 mov r3, r7 10757 0082 0022 movs r2, #0 10758 0084 8021 movs r1, #128 10759 0086 2046 mov r0, r4 10760 0088 FFF7FEFF bl UART_WaitOnFlagUntilTimeout 10761 .LVL946: 1154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10762 .loc 1 1154 10 discriminator 1 view .LVU3615 10763 008c 0028 cmp r0, #0 10764 008e E0D1 bne .L529 1161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10765 .loc 1 1161 7 is_stmt 1 view .LVU3616 1161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10766 .loc 1 1161 10 is_stmt 0 view .LVU3617 10767 0090 002D cmp r5, #0 10768 0092 E3D0 beq .L530 1168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits++; 10769 .loc 1 1168 9 is_stmt 1 view .LVU3618 1168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits++; 10770 .loc 1 1168 42 is_stmt 0 view .LVU3619 10771 0094 15F8012B ldrb r2, [r5], #1 @ zero_extendqisi2 10772 .LVL947: 1168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits++; 10773 .loc 1 1168 14 view .LVU3620 10774 0098 2368 ldr r3, [r4] 1168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits++; 10775 .loc 1 1168 30 view .LVU3621 10776 009a 9A62 str r2, [r3, #40] 1169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10777 .loc 1 1169 9 is_stmt 1 view .LVU3622 10778 009c E4E7 b .L516 10779 .LVL948: 10780 .L524: 1144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10781 .loc 1 1144 19 is_stmt 0 view .LVU3623 10782 009e A846 mov r8, r5 1143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits = (const uint16_t *) pData; ARM GAS /tmp/cciGf5I5.s page 349 10783 .loc 1 1143 19 view .LVU3624 10784 00a0 0025 movs r5, #0 10785 .LVL949: 1143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits = (const uint16_t *) pData; 10786 .loc 1 1143 19 view .LVU3625 10787 00a2 E8E7 b .L517 10788 .LVL950: 10789 .L528: 1174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10790 .loc 1 1174 5 is_stmt 1 view .LVU3626 1174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10791 .loc 1 1174 9 is_stmt 0 view .LVU3627 10792 00a4 0096 str r6, [sp] 10793 00a6 3B46 mov r3, r7 10794 00a8 0022 movs r2, #0 10795 00aa 4021 movs r1, #64 10796 00ac 2046 mov r0, r4 10797 00ae FFF7FEFF bl UART_WaitOnFlagUntilTimeout 10798 .LVL951: 1174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10799 .loc 1 1174 8 discriminator 1 view .LVU3628 10800 00b2 18B9 cbnz r0, .L531 1182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10801 .loc 1 1182 5 is_stmt 1 view .LVU3629 1182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10802 .loc 1 1182 19 is_stmt 0 view .LVU3630 10803 00b4 2023 movs r3, #32 10804 00b6 C4F88830 str r3, [r4, #136] 1184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10805 .loc 1 1184 5 is_stmt 1 view .LVU3631 1184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10806 .loc 1 1184 12 is_stmt 0 view .LVU3632 10807 00ba 05E0 b .L512 10808 .L531: 1176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10809 .loc 1 1176 7 is_stmt 1 view .LVU3633 1176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10810 .loc 1 1176 21 is_stmt 0 view .LVU3634 10811 00bc 2023 movs r3, #32 10812 00be C4F88830 str r3, [r4, #136] 1178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10813 .loc 1 1178 7 is_stmt 1 view .LVU3635 1178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10814 .loc 1 1178 14 is_stmt 0 view .LVU3636 10815 00c2 0320 movs r0, #3 10816 00c4 00E0 b .L512 10817 .LVL952: 10818 .L520: 1188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10819 .loc 1 1188 12 view .LVU3637 10820 00c6 0220 movs r0, #2 10821 .LVL953: 10822 .L512: 1190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10823 .loc 1 1190 1 view .LVU3638 10824 00c8 02B0 add sp, sp, #8 10825 .LCFI35: ARM GAS /tmp/cciGf5I5.s page 350 10826 .cfi_remember_state 10827 .cfi_def_cfa_offset 24 10828 @ sp needed 10829 00ca BDE8F081 pop {r4, r5, r6, r7, r8, pc} 10830 .LVL954: 10831 .L521: 10832 .LCFI36: 10833 .cfi_restore_state 1128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10834 .loc 1 1128 15 view .LVU3639 10835 00ce 0120 movs r0, #1 10836 .LVL955: 1128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10837 .loc 1 1128 15 view .LVU3640 10838 00d0 FAE7 b .L512 10839 .cfi_endproc 10840 .LFE336: 10842 .section .text.HAL_UART_Receive,"ax",%progbits 10843 .align 1 10844 .global HAL_UART_Receive 10845 .syntax unified 10846 .thumb 10847 .thumb_func 10849 HAL_UART_Receive: 10850 .LVL956: 10851 .LFB337: 1208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint8_t *pdata8bits; 10852 .loc 1 1208 1 is_stmt 1 view -0 10853 .cfi_startproc 10854 @ args = 0, pretend = 0, frame = 0 10855 @ frame_needed = 0, uses_anonymous_args = 0 1208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint8_t *pdata8bits; 10856 .loc 1 1208 1 is_stmt 0 view .LVU3642 10857 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr} 10858 .LCFI37: 10859 .cfi_def_cfa_offset 28 10860 .cfi_offset 4, -28 10861 .cfi_offset 5, -24 10862 .cfi_offset 6, -20 10863 .cfi_offset 7, -16 10864 .cfi_offset 8, -12 10865 .cfi_offset 9, -8 10866 .cfi_offset 14, -4 10867 0004 83B0 sub sp, sp, #12 10868 .LCFI38: 10869 .cfi_def_cfa_offset 40 10870 0006 1E46 mov r6, r3 1209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t *pdata16bits; 10871 .loc 1 1209 3 is_stmt 1 view .LVU3643 1210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t uhMask; 10872 .loc 1 1210 3 view .LVU3644 1211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t tickstart; 10873 .loc 1 1211 3 view .LVU3645 1212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10874 .loc 1 1212 3 view .LVU3646 1215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10875 .loc 1 1215 3 view .LVU3647 ARM GAS /tmp/cciGf5I5.s page 351 1215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10876 .loc 1 1215 12 is_stmt 0 view .LVU3648 10877 0008 D0F88C30 ldr r3, [r0, #140] 10878 .LVL957: 1215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10879 .loc 1 1215 6 view .LVU3649 10880 000c 202B cmp r3, #32 10881 000e 7DD1 bne .L547 10882 0010 0446 mov r4, r0 10883 0012 0D46 mov r5, r1 10884 0014 9046 mov r8, r2 1217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10885 .loc 1 1217 5 is_stmt 1 view .LVU3650 1217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10886 .loc 1 1217 8 is_stmt 0 view .LVU3651 10887 0016 0029 cmp r1, #0 10888 0018 7CD0 beq .L548 1217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10889 .loc 1 1217 25 discriminator 1 view .LVU3652 10890 001a 0AB9 cbnz r2, .L553 1219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10891 .loc 1 1219 15 view .LVU3653 10892 001c 0120 movs r0, #1 10893 .LVL958: 1219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10894 .loc 1 1219 15 view .LVU3654 10895 001e 76E0 b .L533 10896 .LVL959: 10897 .L553: 1222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 10898 .loc 1 1222 5 is_stmt 1 view .LVU3655 1222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 10899 .loc 1 1222 22 is_stmt 0 view .LVU3656 10900 0020 0023 movs r3, #0 10901 0022 C0F89030 str r3, [r0, #144] 1223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 10902 .loc 1 1223 5 is_stmt 1 view .LVU3657 1223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 10903 .loc 1 1223 20 is_stmt 0 view .LVU3658 10904 0026 2222 movs r2, #34 10905 .LVL960: 1223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 10906 .loc 1 1223 20 view .LVU3659 10907 0028 C0F88C20 str r2, [r0, #140] 1224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10908 .loc 1 1224 5 is_stmt 1 view .LVU3660 1224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10909 .loc 1 1224 26 is_stmt 0 view .LVU3661 10910 002c C366 str r3, [r0, #108] 1227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10911 .loc 1 1227 5 is_stmt 1 view .LVU3662 1227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10912 .loc 1 1227 17 is_stmt 0 view .LVU3663 10913 002e FFF7FEFF bl HAL_GetTick 10914 .LVL961: 1227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10915 .loc 1 1227 17 view .LVU3664 ARM GAS /tmp/cciGf5I5.s page 352 10916 0032 0746 mov r7, r0 10917 .LVL962: 1229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = Size; 10918 .loc 1 1229 5 is_stmt 1 view .LVU3665 1229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = Size; 10919 .loc 1 1229 24 is_stmt 0 view .LVU3666 10920 0034 A4F85C80 strh r8, [r4, #92] @ movhi 1230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10921 .loc 1 1230 5 is_stmt 1 view .LVU3667 1230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10922 .loc 1 1230 24 is_stmt 0 view .LVU3668 10923 0038 A4F85E80 strh r8, [r4, #94] @ movhi 1233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask; 10924 .loc 1 1233 5 is_stmt 1 view .LVU3669 1233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask; 10925 .loc 1 1233 5 view .LVU3670 10926 003c A368 ldr r3, [r4, #8] 10927 003e B3F5805F cmp r3, #4096 10928 0042 06D0 beq .L554 1233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask; 10929 .loc 1 1233 5 discriminator 2 view .LVU3671 10930 0044 A3B9 cbnz r3, .L537 1233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask; 10931 .loc 1 1233 5 discriminator 5 view .LVU3672 10932 0046 2269 ldr r2, [r4, #16] 10933 0048 72B9 cbnz r2, .L538 1233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask; 10934 .loc 1 1233 5 discriminator 7 view .LVU3673 10935 004a FF22 movs r2, #255 10936 004c A4F86020 strh r2, [r4, #96] @ movhi 10937 0050 14E0 b .L536 10938 .L554: 1233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask; 10939 .loc 1 1233 5 discriminator 1 view .LVU3674 10940 0052 2269 ldr r2, [r4, #16] 10941 0054 22B9 cbnz r2, .L535 1233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask; 10942 .loc 1 1233 5 discriminator 3 view .LVU3675 10943 0056 40F2FF12 movw r2, #511 10944 005a A4F86020 strh r2, [r4, #96] @ movhi 10945 005e 0DE0 b .L536 10946 .L535: 1233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask; 10947 .loc 1 1233 5 discriminator 4 view .LVU3676 10948 0060 FF22 movs r2, #255 10949 0062 A4F86020 strh r2, [r4, #96] @ movhi 10950 0066 09E0 b .L536 10951 .L538: 1233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask; 10952 .loc 1 1233 5 discriminator 8 view .LVU3677 10953 0068 7F22 movs r2, #127 10954 006a A4F86020 strh r2, [r4, #96] @ movhi 10955 006e 05E0 b .L536 10956 .L537: 1233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask; 10957 .loc 1 1233 5 discriminator 6 view .LVU3678 10958 0070 B3F1805F cmp r3, #268435456 ARM GAS /tmp/cciGf5I5.s page 353 10959 0074 0AD0 beq .L555 1233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask; 10960 .loc 1 1233 5 discriminator 10 view .LVU3679 10961 0076 0022 movs r2, #0 10962 0078 A4F86020 strh r2, [r4, #96] @ movhi 10963 .L536: 1233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask; 10964 .loc 1 1233 5 discriminator 13 view .LVU3680 1234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10965 .loc 1 1234 5 view .LVU3681 1234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10966 .loc 1 1234 12 is_stmt 0 view .LVU3682 10967 007c B4F86080 ldrh r8, [r4, #96] 10968 .LVL963: 1237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10969 .loc 1 1237 5 is_stmt 1 view .LVU3683 1237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10970 .loc 1 1237 8 is_stmt 0 view .LVU3684 10971 0080 B3F5805F cmp r3, #4096 10972 0084 0CD0 beq .L556 1245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10973 .loc 1 1245 19 view .LVU3685 10974 0086 4FF00009 mov r9, #0 10975 008a 20E0 b .L545 10976 .LVL964: 10977 .L555: 1233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask; 10978 .loc 1 1233 5 is_stmt 1 discriminator 9 view .LVU3686 10979 008c 2269 ldr r2, [r4, #16] 10980 008e 1AB9 cbnz r2, .L540 1233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask; 10981 .loc 1 1233 5 discriminator 11 view .LVU3687 10982 0090 7F22 movs r2, #127 10983 0092 A4F86020 strh r2, [r4, #96] @ movhi 10984 0096 F1E7 b .L536 10985 .L540: 1233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask; 10986 .loc 1 1233 5 discriminator 12 view .LVU3688 10987 0098 3F22 movs r2, #63 10988 009a A4F86020 strh r2, [r4, #96] @ movhi 10989 009e EDE7 b .L536 10990 .LVL965: 10991 .L556: 1237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10992 .loc 1 1237 71 is_stmt 0 discriminator 1 view .LVU3689 10993 00a0 2369 ldr r3, [r4, #16] 1237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10994 .loc 1 1237 56 discriminator 1 view .LVU3690 10995 00a2 5BB3 cbz r3, .L551 1245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10996 .loc 1 1245 19 view .LVU3691 10997 00a4 4FF00009 mov r9, #0 10998 00a8 11E0 b .L545 10999 .LVL966: 11000 .L558: 1253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11001 .loc 1 1253 9 is_stmt 1 view .LVU3692 ARM GAS /tmp/cciGf5I5.s page 354 1253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11002 .loc 1 1253 24 is_stmt 0 view .LVU3693 11003 00aa 2023 movs r3, #32 11004 00ac C4F88C30 str r3, [r4, #140] 1255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11005 .loc 1 1255 9 is_stmt 1 view .LVU3694 1255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11006 .loc 1 1255 16 is_stmt 0 view .LVU3695 11007 00b0 0320 movs r0, #3 11008 00b2 2CE0 b .L533 11009 .L559: 1259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits++; 11010 .loc 1 1259 9 is_stmt 1 view .LVU3696 1259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits++; 11011 .loc 1 1259 40 is_stmt 0 view .LVU3697 11012 00b4 2368 ldr r3, [r4] 1259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits++; 11013 .loc 1 1259 50 view .LVU3698 11014 00b6 5B6A ldr r3, [r3, #36] 1259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits++; 11015 .loc 1 1259 24 view .LVU3699 11016 00b8 08EA0303 and r3, r8, r3 1259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits++; 11017 .loc 1 1259 22 view .LVU3700 11018 00bc 29F8023B strh r3, [r9], #2 @ movhi 11019 .LVL967: 1260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11020 .loc 1 1260 9 is_stmt 1 view .LVU3701 11021 .L544: 1267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11022 .loc 1 1267 7 view .LVU3702 1267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11023 .loc 1 1267 12 is_stmt 0 view .LVU3703 11024 00c0 B4F85E20 ldrh r2, [r4, #94] 11025 00c4 92B2 uxth r2, r2 1267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11026 .loc 1 1267 25 view .LVU3704 11027 00c6 013A subs r2, r2, #1 11028 00c8 92B2 uxth r2, r2 11029 00ca A4F85E20 strh r2, [r4, #94] @ movhi 11030 .LVL968: 11031 .L545: 1249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11032 .loc 1 1249 31 is_stmt 1 view .LVU3705 1249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11033 .loc 1 1249 17 is_stmt 0 view .LVU3706 11034 00ce B4F85E30 ldrh r3, [r4, #94] 11035 00d2 9BB2 uxth r3, r3 1249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11036 .loc 1 1249 31 view .LVU3707 11037 00d4 ABB1 cbz r3, .L557 1251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11038 .loc 1 1251 7 is_stmt 1 view .LVU3708 1251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11039 .loc 1 1251 11 is_stmt 0 view .LVU3709 11040 00d6 0096 str r6, [sp] 11041 00d8 3B46 mov r3, r7 ARM GAS /tmp/cciGf5I5.s page 355 11042 00da 0022 movs r2, #0 11043 00dc 2021 movs r1, #32 11044 00de 2046 mov r0, r4 11045 00e0 FFF7FEFF bl UART_WaitOnFlagUntilTimeout 11046 .LVL969: 1251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11047 .loc 1 1251 10 discriminator 1 view .LVU3710 11048 00e4 0028 cmp r0, #0 11049 00e6 E0D1 bne .L558 1257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11050 .loc 1 1257 7 is_stmt 1 view .LVU3711 1257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11051 .loc 1 1257 10 is_stmt 0 view .LVU3712 11052 00e8 002D cmp r5, #0 11053 00ea E3D0 beq .L559 1264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits++; 11054 .loc 1 1264 9 is_stmt 1 view .LVU3713 1264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits++; 11055 .loc 1 1264 38 is_stmt 0 view .LVU3714 11056 00ec 2368 ldr r3, [r4] 1264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits++; 11057 .loc 1 1264 48 view .LVU3715 11058 00ee 5A6A ldr r2, [r3, #36] 1264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits++; 11059 .loc 1 1264 56 view .LVU3716 11060 00f0 5FFA88F3 uxtb r3, r8 1264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits++; 11061 .loc 1 1264 23 view .LVU3717 11062 00f4 1340 ands r3, r3, r2 1264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits++; 11063 .loc 1 1264 21 view .LVU3718 11064 00f6 05F8013B strb r3, [r5], #1 11065 .LVL970: 1265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11066 .loc 1 1265 9 is_stmt 1 view .LVU3719 11067 00fa E1E7 b .L544 11068 .LVL971: 11069 .L551: 1240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11070 .loc 1 1240 19 is_stmt 0 view .LVU3720 11071 00fc A946 mov r9, r5 1239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 11072 .loc 1 1239 19 view .LVU3721 11073 00fe 0025 movs r5, #0 11074 .LVL972: 1239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 11075 .loc 1 1239 19 view .LVU3722 11076 0100 E5E7 b .L545 11077 .LVL973: 11078 .L557: 1271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11079 .loc 1 1271 5 is_stmt 1 view .LVU3723 1271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11080 .loc 1 1271 20 is_stmt 0 view .LVU3724 11081 0102 2023 movs r3, #32 11082 0104 C4F88C30 str r3, [r4, #140] 1273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cciGf5I5.s page 356 11083 .loc 1 1273 5 is_stmt 1 view .LVU3725 1273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11084 .loc 1 1273 12 is_stmt 0 view .LVU3726 11085 0108 0020 movs r0, #0 11086 010a 00E0 b .L533 11087 .LVL974: 11088 .L547: 1277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11089 .loc 1 1277 12 view .LVU3727 11090 010c 0220 movs r0, #2 11091 .LVL975: 11092 .L533: 1279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11093 .loc 1 1279 1 view .LVU3728 11094 010e 03B0 add sp, sp, #12 11095 .LCFI39: 11096 .cfi_remember_state 11097 .cfi_def_cfa_offset 28 11098 @ sp needed 11099 0110 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} 11100 .LVL976: 11101 .L548: 11102 .LCFI40: 11103 .cfi_restore_state 1219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11104 .loc 1 1219 15 view .LVU3729 11105 0114 0120 movs r0, #1 11106 .LVL977: 1219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11107 .loc 1 1219 15 view .LVU3730 11108 0116 FAE7 b .L533 11109 .cfi_endproc 11110 .LFE337: 11112 .section .text.UART_CheckIdleState,"ax",%progbits 11113 .align 1 11114 .global UART_CheckIdleState 11115 .syntax unified 11116 .thumb 11117 .thumb_func 11119 UART_CheckIdleState: 11120 .LVL978: 11121 .LFB374: 3318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t tickstart; 11122 .loc 1 3318 1 is_stmt 1 view -0 11123 .cfi_startproc 11124 @ args = 0, pretend = 0, frame = 0 11125 @ frame_needed = 0, uses_anonymous_args = 0 3318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t tickstart; 11126 .loc 1 3318 1 is_stmt 0 view .LVU3732 11127 0000 30B5 push {r4, r5, lr} 11128 .LCFI41: 11129 .cfi_def_cfa_offset 12 11130 .cfi_offset 4, -12 11131 .cfi_offset 5, -8 11132 .cfi_offset 14, -4 11133 0002 83B0 sub sp, sp, #12 11134 .LCFI42: ARM GAS /tmp/cciGf5I5.s page 357 11135 .cfi_def_cfa_offset 24 11136 0004 0446 mov r4, r0 3319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11137 .loc 1 3319 3 is_stmt 1 view .LVU3733 3322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11138 .loc 1 3322 3 view .LVU3734 3322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11139 .loc 1 3322 20 is_stmt 0 view .LVU3735 11140 0006 0023 movs r3, #0 11141 0008 C0F89030 str r3, [r0, #144] 3325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11142 .loc 1 3325 3 is_stmt 1 view .LVU3736 3325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11143 .loc 1 3325 15 is_stmt 0 view .LVU3737 11144 000c FFF7FEFF bl HAL_GetTick 11145 .LVL979: 3325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11146 .loc 1 3325 15 view .LVU3738 11147 0010 0546 mov r5, r0 11148 .LVL980: 3328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11149 .loc 1 3328 3 is_stmt 1 view .LVU3739 3328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11150 .loc 1 3328 13 is_stmt 0 view .LVU3740 11151 0012 2268 ldr r2, [r4] 3328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11152 .loc 1 3328 23 view .LVU3741 11153 0014 1268 ldr r2, [r2] 3328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11154 .loc 1 3328 6 view .LVU3742 11155 0016 12F0080F tst r2, #8 11156 001a 10D1 bne .L568 11157 .LVL981: 11158 .L561: 3346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11159 .loc 1 3346 3 is_stmt 1 view .LVU3743 3346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11160 .loc 1 3346 13 is_stmt 0 view .LVU3744 11161 001c 2368 ldr r3, [r4] 3346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11162 .loc 1 3346 23 view .LVU3745 11163 001e 1B68 ldr r3, [r3] 3346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11164 .loc 1 3346 6 view .LVU3746 11165 0020 13F0040F tst r3, #4 11166 0024 28D1 bne .L569 11167 .L564: 3366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 11168 .loc 1 3366 3 is_stmt 1 view .LVU3747 3366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 11169 .loc 1 3366 17 is_stmt 0 view .LVU3748 11170 0026 2023 movs r3, #32 11171 0028 C4F88830 str r3, [r4, #136] 3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 11172 .loc 1 3367 3 is_stmt 1 view .LVU3749 3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 11173 .loc 1 3367 18 is_stmt 0 view .LVU3750 ARM GAS /tmp/cciGf5I5.s page 358 11174 002c C4F88C30 str r3, [r4, #140] 3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 11175 .loc 1 3368 3 is_stmt 1 view .LVU3751 3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 11176 .loc 1 3368 24 is_stmt 0 view .LVU3752 11177 0030 0020 movs r0, #0 11178 0032 E066 str r0, [r4, #108] 3369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11179 .loc 1 3369 3 is_stmt 1 view .LVU3753 3369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11180 .loc 1 3369 22 is_stmt 0 view .LVU3754 11181 0034 2067 str r0, [r4, #112] 3371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11182 .loc 1 3371 3 is_stmt 1 view .LVU3755 3371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11183 .loc 1 3371 3 view .LVU3756 11184 0036 84F88400 strb r0, [r4, #132] 3371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11185 .loc 1 3371 3 view .LVU3757 3373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11186 .loc 1 3373 3 view .LVU3758 11187 .L563: 3374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11188 .loc 1 3374 1 is_stmt 0 view .LVU3759 11189 003a 03B0 add sp, sp, #12 11190 .LCFI43: 11191 .cfi_remember_state 11192 .cfi_def_cfa_offset 12 11193 @ sp needed 11194 003c 30BD pop {r4, r5, pc} 11195 .LVL982: 11196 .L568: 11197 .LCFI44: 11198 .cfi_restore_state 3331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11199 .loc 1 3331 5 is_stmt 1 view .LVU3760 3331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11200 .loc 1 3331 9 is_stmt 0 view .LVU3761 11201 003e 6FF07E43 mvn r3, #-33554432 11202 0042 0093 str r3, [sp] 11203 0044 0346 mov r3, r0 11204 0046 0022 movs r2, #0 11205 0048 4FF40011 mov r1, #2097152 11206 004c 2046 mov r0, r4 11207 .LVL983: 3331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11208 .loc 1 3331 9 view .LVU3762 11209 004e FFF7FEFF bl UART_WaitOnFlagUntilTimeout 11210 .LVL984: 3331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11211 .loc 1 3331 8 discriminator 1 view .LVU3763 11212 0052 0028 cmp r0, #0 11213 0054 E2D0 beq .L561 11214 .L562: 3334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11215 .loc 1 3334 7 is_stmt 1 discriminator 1 view .LVU3764 11216 .LBB971: ARM GAS /tmp/cciGf5I5.s page 359 3334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11217 .loc 1 3334 7 discriminator 1 view .LVU3765 3334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11218 .loc 1 3334 7 discriminator 1 view .LVU3766 3334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11219 .loc 1 3334 7 discriminator 1 view .LVU3767 11220 0056 2268 ldr r2, [r4] 11221 .LVL985: 11222 .LBB972: 11223 .LBI972: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11224 .loc 2 1151 31 view .LVU3768 11225 .LBB973: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 11226 .loc 2 1153 5 view .LVU3769 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 11227 .loc 2 1155 4 view .LVU3770 11228 .syntax unified 11229 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11230 0058 52E8003F ldrex r3, [r2] 11231 @ 0 "" 2 11232 .LVL986: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 11233 .loc 2 1156 4 view .LVU3771 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 11234 .loc 2 1156 4 is_stmt 0 view .LVU3772 11235 .thumb 11236 .syntax unified 11237 .LBE973: 11238 .LBE972: 3334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11239 .loc 1 3334 7 discriminator 1 view .LVU3773 11240 005c 23F08003 bic r3, r3, #128 11241 .LVL987: 3334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11242 .loc 1 3334 7 is_stmt 1 discriminator 1 view .LVU3774 11243 .LBB974: 11244 .LBI974: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11245 .loc 2 1202 31 view .LVU3775 11246 .LBB975: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 11247 .loc 2 1204 4 view .LVU3776 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 11248 .loc 2 1206 4 view .LVU3777 11249 .syntax unified 11250 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11251 0060 42E80031 strex r1, r3, [r2] 11252 @ 0 "" 2 11253 .LVL988: 11254 .loc 2 1207 4 view .LVU3778 11255 .loc 2 1207 4 is_stmt 0 view .LVU3779 11256 .thumb 11257 .syntax unified 11258 .LBE975: 11259 .LBE974: 3334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cciGf5I5.s page 360 11260 .loc 1 3334 7 discriminator 1 view .LVU3780 11261 0064 0029 cmp r1, #0 11262 0066 F6D1 bne .L562 11263 .LBE971: 3334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11264 .loc 1 3334 7 is_stmt 1 discriminator 2 view .LVU3781 3336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11265 .loc 1 3336 7 view .LVU3782 3336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11266 .loc 1 3336 21 is_stmt 0 view .LVU3783 11267 0068 2023 movs r3, #32 11268 .LVL989: 3336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11269 .loc 1 3336 21 view .LVU3784 11270 006a C4F88830 str r3, [r4, #136] 3338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11271 .loc 1 3338 7 is_stmt 1 view .LVU3785 3338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11272 .loc 1 3338 7 view .LVU3786 11273 006e 0023 movs r3, #0 11274 0070 84F88430 strb r3, [r4, #132] 3338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11275 .loc 1 3338 7 view .LVU3787 3341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11276 .loc 1 3341 7 view .LVU3788 3341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11277 .loc 1 3341 14 is_stmt 0 view .LVU3789 11278 0074 0320 movs r0, #3 11279 0076 E0E7 b .L563 11280 .LVL990: 11281 .L569: 3349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11282 .loc 1 3349 5 is_stmt 1 view .LVU3790 3349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11283 .loc 1 3349 9 is_stmt 0 view .LVU3791 11284 0078 6FF07E43 mvn r3, #-33554432 11285 007c 0093 str r3, [sp] 11286 007e 2B46 mov r3, r5 11287 0080 0022 movs r2, #0 11288 0082 4FF48001 mov r1, #4194304 11289 0086 2046 mov r0, r4 11290 0088 FFF7FEFF bl UART_WaitOnFlagUntilTimeout 11291 .LVL991: 3349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11292 .loc 1 3349 8 discriminator 1 view .LVU3792 11293 008c 0028 cmp r0, #0 11294 008e CAD0 beq .L564 11295 .L565: 3353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 11296 .loc 1 3353 7 is_stmt 1 discriminator 1 view .LVU3793 11297 .LBB976: 3353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 11298 .loc 1 3353 7 discriminator 1 view .LVU3794 3353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 11299 .loc 1 3353 7 discriminator 1 view .LVU3795 3353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 11300 .loc 1 3353 7 discriminator 1 view .LVU3796 ARM GAS /tmp/cciGf5I5.s page 361 11301 0090 2268 ldr r2, [r4] 11302 .LVL992: 11303 .LBB977: 11304 .LBI977: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11305 .loc 2 1151 31 view .LVU3797 11306 .LBB978: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 11307 .loc 2 1153 5 view .LVU3798 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 11308 .loc 2 1155 4 view .LVU3799 11309 .syntax unified 11310 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11311 0092 52E8003F ldrex r3, [r2] 11312 @ 0 "" 2 11313 .LVL993: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 11314 .loc 2 1156 4 view .LVU3800 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 11315 .loc 2 1156 4 is_stmt 0 view .LVU3801 11316 .thumb 11317 .syntax unified 11318 .LBE978: 11319 .LBE977: 3353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 11320 .loc 1 3353 7 discriminator 1 view .LVU3802 11321 0096 23F49073 bic r3, r3, #288 11322 .LVL994: 3353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 11323 .loc 1 3353 7 is_stmt 1 discriminator 1 view .LVU3803 11324 .LBB979: 11325 .LBI979: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11326 .loc 2 1202 31 view .LVU3804 11327 .LBB980: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 11328 .loc 2 1204 4 view .LVU3805 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 11329 .loc 2 1206 4 view .LVU3806 11330 .syntax unified 11331 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11332 009a 42E80031 strex r1, r3, [r2] 11333 @ 0 "" 2 11334 .LVL995: 11335 .loc 2 1207 4 view .LVU3807 11336 .loc 2 1207 4 is_stmt 0 view .LVU3808 11337 .thumb 11338 .syntax unified 11339 .LBE980: 11340 .LBE979: 3353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 11341 .loc 1 3353 7 discriminator 1 view .LVU3809 11342 009e 0029 cmp r1, #0 11343 00a0 F6D1 bne .L565 11344 .LVL996: 11345 .L566: 3353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); ARM GAS /tmp/cciGf5I5.s page 362 11346 .loc 1 3353 7 discriminator 1 view .LVU3810 11347 .LBE976: 3353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 11348 .loc 1 3353 7 is_stmt 1 discriminator 2 view .LVU3811 3354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11349 .loc 1 3354 7 discriminator 1 view .LVU3812 11350 .LBB981: 3354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11351 .loc 1 3354 7 discriminator 1 view .LVU3813 3354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11352 .loc 1 3354 7 discriminator 1 view .LVU3814 3354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11353 .loc 1 3354 7 discriminator 1 view .LVU3815 11354 00a2 2268 ldr r2, [r4] 11355 .LVL997: 11356 .LBB982: 11357 .LBI982: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11358 .loc 2 1151 31 view .LVU3816 11359 .LBB983: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 11360 .loc 2 1153 5 view .LVU3817 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 11361 .loc 2 1155 4 view .LVU3818 11362 00a4 02F10803 add r3, r2, #8 11363 .LVL998: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 11364 .loc 2 1155 4 is_stmt 0 view .LVU3819 11365 .syntax unified 11366 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11367 00a8 53E8003F ldrex r3, [r3] 11368 @ 0 "" 2 11369 .LVL999: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 11370 .loc 2 1156 4 is_stmt 1 view .LVU3820 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 11371 .loc 2 1156 4 is_stmt 0 view .LVU3821 11372 .thumb 11373 .syntax unified 11374 .LBE983: 11375 .LBE982: 3354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11376 .loc 1 3354 7 discriminator 1 view .LVU3822 11377 00ac 23F00103 bic r3, r3, #1 11378 .LVL1000: 3354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11379 .loc 1 3354 7 is_stmt 1 discriminator 1 view .LVU3823 11380 .LBB984: 11381 .LBI984: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11382 .loc 2 1202 31 view .LVU3824 11383 .LBB985: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 11384 .loc 2 1204 4 view .LVU3825 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 11385 .loc 2 1206 4 view .LVU3826 11386 00b0 0832 adds r2, r2, #8 ARM GAS /tmp/cciGf5I5.s page 363 11387 .LVL1001: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 11388 .loc 2 1206 4 is_stmt 0 view .LVU3827 11389 .syntax unified 11390 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11391 00b2 42E80031 strex r1, r3, [r2] 11392 @ 0 "" 2 11393 .LVL1002: 11394 .loc 2 1207 4 is_stmt 1 view .LVU3828 11395 .loc 2 1207 4 is_stmt 0 view .LVU3829 11396 .thumb 11397 .syntax unified 11398 .LBE985: 11399 .LBE984: 3354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11400 .loc 1 3354 7 discriminator 1 view .LVU3830 11401 00b6 0029 cmp r1, #0 11402 00b8 F3D1 bne .L566 11403 .LBE981: 3354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11404 .loc 1 3354 7 is_stmt 1 discriminator 2 view .LVU3831 3356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11405 .loc 1 3356 7 view .LVU3832 3356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11406 .loc 1 3356 22 is_stmt 0 view .LVU3833 11407 00ba 2023 movs r3, #32 11408 .LVL1003: 3356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11409 .loc 1 3356 22 view .LVU3834 11410 00bc C4F88C30 str r3, [r4, #140] 3358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11411 .loc 1 3358 7 is_stmt 1 view .LVU3835 3358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11412 .loc 1 3358 7 view .LVU3836 11413 00c0 0023 movs r3, #0 11414 00c2 84F88430 strb r3, [r4, #132] 3358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11415 .loc 1 3358 7 view .LVU3837 3361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11416 .loc 1 3361 7 view .LVU3838 3361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11417 .loc 1 3361 14 is_stmt 0 view .LVU3839 11418 00c6 0320 movs r0, #3 11419 00c8 B7E7 b .L563 11420 .cfi_endproc 11421 .LFE374: 11423 .section .text.HAL_UART_Init,"ax",%progbits 11424 .align 1 11425 .global HAL_UART_Init 11426 .syntax unified 11427 .thumb 11428 .thumb_func 11430 HAL_UART_Init: 11431 .LVL1004: 11432 .LFB329: 308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */ 11433 .loc 1 308 1 is_stmt 1 view -0 ARM GAS /tmp/cciGf5I5.s page 364 11434 .cfi_startproc 11435 @ args = 0, pretend = 0, frame = 0 11436 @ frame_needed = 0, uses_anonymous_args = 0 310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11437 .loc 1 310 3 view .LVU3841 310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11438 .loc 1 310 6 is_stmt 0 view .LVU3842 11439 0000 78B3 cbz r0, .L574 308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */ 11440 .loc 1 308 1 view .LVU3843 11441 0002 10B5 push {r4, lr} 11442 .LCFI45: 11443 .cfi_def_cfa_offset 8 11444 .cfi_offset 4, -8 11445 .cfi_offset 14, -4 11446 0004 0446 mov r4, r0 315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11447 .loc 1 315 3 is_stmt 1 view .LVU3844 318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11448 .loc 1 318 5 view .LVU3845 323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11449 .loc 1 323 5 view .LVU3846 326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11450 .loc 1 326 3 view .LVU3847 326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11451 .loc 1 326 12 is_stmt 0 view .LVU3848 11452 0006 D0F88830 ldr r3, [r0, #136] 326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11453 .loc 1 326 6 view .LVU3849 11454 000a 0BB3 cbz r3, .L579 11455 .LVL1005: 11456 .L572: 347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11457 .loc 1 347 3 is_stmt 1 view .LVU3850 347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11458 .loc 1 347 17 is_stmt 0 view .LVU3851 11459 000c 2423 movs r3, #36 11460 000e C4F88830 str r3, [r4, #136] 349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11461 .loc 1 349 3 is_stmt 1 view .LVU3852 11462 0012 2268 ldr r2, [r4] 11463 0014 1368 ldr r3, [r2] 11464 0016 23F00103 bic r3, r3, #1 11465 001a 1360 str r3, [r2] 353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11466 .loc 1 353 3 view .LVU3853 353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11467 .loc 1 353 26 is_stmt 0 view .LVU3854 11468 001c A36A ldr r3, [r4, #40] 353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11469 .loc 1 353 6 view .LVU3855 11470 001e E3B9 cbnz r3, .L580 11471 .L573: 359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11472 .loc 1 359 3 is_stmt 1 view .LVU3856 359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11473 .loc 1 359 7 is_stmt 0 view .LVU3857 ARM GAS /tmp/cciGf5I5.s page 365 11474 0020 2046 mov r0, r4 11475 0022 FFF7FEFF bl UART_SetConfig 11476 .LVL1006: 359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11477 .loc 1 359 6 discriminator 1 view .LVU3858 11478 0026 0128 cmp r0, #1 11479 0028 11D0 beq .L571 367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); 11480 .loc 1 367 3 is_stmt 1 view .LVU3859 11481 002a 2268 ldr r2, [r4] 11482 002c 5368 ldr r3, [r2, #4] 11483 002e 23F49043 bic r3, r3, #18432 11484 0032 5360 str r3, [r2, #4] 368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11485 .loc 1 368 3 view .LVU3860 11486 0034 2268 ldr r2, [r4] 11487 0036 9368 ldr r3, [r2, #8] 11488 0038 23F02A03 bic r3, r3, #42 11489 003c 9360 str r3, [r2, #8] 370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11490 .loc 1 370 3 view .LVU3861 11491 003e 2268 ldr r2, [r4] 11492 0040 1368 ldr r3, [r2] 11493 0042 43F00103 orr r3, r3, #1 11494 0046 1360 str r3, [r2] 373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11495 .loc 1 373 3 view .LVU3862 373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11496 .loc 1 373 11 is_stmt 0 view .LVU3863 11497 0048 2046 mov r0, r4 11498 004a FFF7FEFF bl UART_CheckIdleState 11499 .LVL1007: 11500 .L571: 374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11501 .loc 1 374 1 view .LVU3864 11502 004e 10BD pop {r4, pc} 11503 .LVL1008: 11504 .L579: 329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11505 .loc 1 329 5 is_stmt 1 view .LVU3865 329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11506 .loc 1 329 17 is_stmt 0 view .LVU3866 11507 0050 80F88430 strb r3, [r0, #132] 343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 11508 .loc 1 343 5 is_stmt 1 view .LVU3867 11509 0054 FFF7FEFF bl HAL_UART_MspInit 11510 .LVL1009: 343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 11511 .loc 1 343 5 is_stmt 0 view .LVU3868 11512 0058 D8E7 b .L572 11513 .L580: 355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11514 .loc 1 355 5 is_stmt 1 view .LVU3869 11515 005a 2046 mov r0, r4 11516 005c FFF7FEFF bl UART_AdvFeatureConfig 11517 .LVL1010: 11518 0060 DEE7 b .L573 ARM GAS /tmp/cciGf5I5.s page 366 11519 .LVL1011: 11520 .L574: 11521 .LCFI46: 11522 .cfi_def_cfa_offset 0 11523 .cfi_restore 4 11524 .cfi_restore 14 312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11525 .loc 1 312 12 is_stmt 0 view .LVU3870 11526 0062 0120 movs r0, #1 11527 .LVL1012: 374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11528 .loc 1 374 1 view .LVU3871 11529 0064 7047 bx lr 11530 .cfi_endproc 11531 .LFE329: 11533 .section .text.HAL_HalfDuplex_Init,"ax",%progbits 11534 .align 1 11535 .global HAL_HalfDuplex_Init 11536 .syntax unified 11537 .thumb 11538 .thumb_func 11540 HAL_HalfDuplex_Init: 11541 .LVL1013: 11542 .LFB330: 383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */ 11543 .loc 1 383 1 is_stmt 1 view -0 11544 .cfi_startproc 11545 @ args = 0, pretend = 0, frame = 0 11546 @ frame_needed = 0, uses_anonymous_args = 0 385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11547 .loc 1 385 3 view .LVU3873 385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11548 .loc 1 385 6 is_stmt 0 view .LVU3874 11549 0000 0028 cmp r0, #0 11550 0002 34D0 beq .L585 383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */ 11551 .loc 1 383 1 view .LVU3875 11552 0004 10B5 push {r4, lr} 11553 .LCFI47: 11554 .cfi_def_cfa_offset 8 11555 .cfi_offset 4, -8 11556 .cfi_offset 14, -4 11557 0006 0446 mov r4, r0 391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11558 .loc 1 391 3 is_stmt 1 view .LVU3876 393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11559 .loc 1 393 3 view .LVU3877 393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11560 .loc 1 393 12 is_stmt 0 view .LVU3878 11561 0008 D0F88830 ldr r3, [r0, #136] 393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11562 .loc 1 393 6 view .LVU3879 11563 000c 33B3 cbz r3, .L590 11564 .LVL1014: 11565 .L583: 414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11566 .loc 1 414 3 is_stmt 1 view .LVU3880 ARM GAS /tmp/cciGf5I5.s page 367 414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11567 .loc 1 414 17 is_stmt 0 view .LVU3881 11568 000e 2423 movs r3, #36 11569 0010 C4F88830 str r3, [r4, #136] 416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11570 .loc 1 416 3 is_stmt 1 view .LVU3882 11571 0014 2268 ldr r2, [r4] 11572 0016 1368 ldr r3, [r2] 11573 0018 23F00103 bic r3, r3, #1 11574 001c 1360 str r3, [r2] 420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11575 .loc 1 420 3 view .LVU3883 420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11576 .loc 1 420 26 is_stmt 0 view .LVU3884 11577 001e A36A ldr r3, [r4, #40] 420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11578 .loc 1 420 6 view .LVU3885 11579 0020 0BBB cbnz r3, .L591 11580 .L584: 426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11581 .loc 1 426 3 is_stmt 1 view .LVU3886 426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11582 .loc 1 426 7 is_stmt 0 view .LVU3887 11583 0022 2046 mov r0, r4 11584 0024 FFF7FEFF bl UART_SetConfig 11585 .LVL1015: 426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11586 .loc 1 426 6 discriminator 1 view .LVU3888 11587 0028 0128 cmp r0, #1 11588 002a 16D0 beq .L582 434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN)); 11589 .loc 1 434 3 is_stmt 1 view .LVU3889 11590 002c 2268 ldr r2, [r4] 11591 002e 5368 ldr r3, [r2, #4] 11592 0030 23F49043 bic r3, r3, #18432 11593 0034 5360 str r3, [r2, #4] 435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11594 .loc 1 435 3 view .LVU3890 11595 0036 2268 ldr r2, [r4] 11596 0038 9368 ldr r3, [r2, #8] 11597 003a 23F02203 bic r3, r3, #34 11598 003e 9360 str r3, [r2, #8] 438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11599 .loc 1 438 3 view .LVU3891 11600 0040 2268 ldr r2, [r4] 11601 0042 9368 ldr r3, [r2, #8] 11602 0044 43F00803 orr r3, r3, #8 11603 0048 9360 str r3, [r2, #8] 440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11604 .loc 1 440 3 view .LVU3892 11605 004a 2268 ldr r2, [r4] 11606 004c 1368 ldr r3, [r2] 11607 004e 43F00103 orr r3, r3, #1 11608 0052 1360 str r3, [r2] 443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11609 .loc 1 443 3 view .LVU3893 443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cciGf5I5.s page 368 11610 .loc 1 443 11 is_stmt 0 view .LVU3894 11611 0054 2046 mov r0, r4 11612 0056 FFF7FEFF bl UART_CheckIdleState 11613 .LVL1016: 11614 .L582: 444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11615 .loc 1 444 1 view .LVU3895 11616 005a 10BD pop {r4, pc} 11617 .LVL1017: 11618 .L590: 396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11619 .loc 1 396 5 is_stmt 1 view .LVU3896 396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11620 .loc 1 396 17 is_stmt 0 view .LVU3897 11621 005c 80F88430 strb r3, [r0, #132] 410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 11622 .loc 1 410 5 is_stmt 1 view .LVU3898 11623 0060 FFF7FEFF bl HAL_UART_MspInit 11624 .LVL1018: 410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 11625 .loc 1 410 5 is_stmt 0 view .LVU3899 11626 0064 D3E7 b .L583 11627 .L591: 422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11628 .loc 1 422 5 is_stmt 1 view .LVU3900 11629 0066 2046 mov r0, r4 11630 0068 FFF7FEFF bl UART_AdvFeatureConfig 11631 .LVL1019: 11632 006c D9E7 b .L584 11633 .LVL1020: 11634 .L585: 11635 .LCFI48: 11636 .cfi_def_cfa_offset 0 11637 .cfi_restore 4 11638 .cfi_restore 14 387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11639 .loc 1 387 12 is_stmt 0 view .LVU3901 11640 006e 0120 movs r0, #1 11641 .LVL1021: 444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11642 .loc 1 444 1 view .LVU3902 11643 0070 7047 bx lr 11644 .cfi_endproc 11645 .LFE330: 11647 .section .text.HAL_LIN_Init,"ax",%progbits 11648 .align 1 11649 .global HAL_LIN_Init 11650 .syntax unified 11651 .thumb 11652 .thumb_func 11654 HAL_LIN_Init: 11655 .LVL1022: 11656 .LFB331: 458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */ 11657 .loc 1 458 1 is_stmt 1 view -0 11658 .cfi_startproc 11659 @ args = 0, pretend = 0, frame = 0 ARM GAS /tmp/cciGf5I5.s page 369 11660 @ frame_needed = 0, uses_anonymous_args = 0 460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11661 .loc 1 460 3 view .LVU3904 460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11662 .loc 1 460 6 is_stmt 0 view .LVU3905 11663 0000 0028 cmp r0, #0 11664 0002 42D0 beq .L596 458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */ 11665 .loc 1 458 1 view .LVU3906 11666 0004 38B5 push {r3, r4, r5, lr} 11667 .LCFI49: 11668 .cfi_def_cfa_offset 16 11669 .cfi_offset 3, -16 11670 .cfi_offset 4, -12 11671 .cfi_offset 5, -8 11672 .cfi_offset 14, -4 11673 0006 0D46 mov r5, r1 11674 0008 0446 mov r4, r0 466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the Break detection length parameter */ 11675 .loc 1 466 3 is_stmt 1 view .LVU3907 468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11676 .loc 1 468 3 view .LVU3908 471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11677 .loc 1 471 3 view .LVU3909 471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11678 .loc 1 471 18 is_stmt 0 view .LVU3910 11679 000a C369 ldr r3, [r0, #28] 471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11680 .loc 1 471 6 view .LVU3911 11681 000c B3F5004F cmp r3, #32768 11682 0010 3DD0 beq .L597 476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11683 .loc 1 476 3 is_stmt 1 view .LVU3912 476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11684 .loc 1 476 18 is_stmt 0 view .LVU3913 11685 0012 8368 ldr r3, [r0, #8] 476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11686 .loc 1 476 6 view .LVU3914 11687 0014 002B cmp r3, #0 11688 0016 3CD1 bne .L598 481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11689 .loc 1 481 3 is_stmt 1 view .LVU3915 481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11690 .loc 1 481 12 is_stmt 0 view .LVU3916 11691 0018 D0F88830 ldr r3, [r0, #136] 481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11692 .loc 1 481 6 view .LVU3917 11693 001c 63B3 cbz r3, .L603 11694 .LVL1023: 11695 .L594: 502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11696 .loc 1 502 3 is_stmt 1 view .LVU3918 502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11697 .loc 1 502 17 is_stmt 0 view .LVU3919 11698 001e 2423 movs r3, #36 11699 0020 C4F88830 str r3, [r4, #136] 504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cciGf5I5.s page 370 11700 .loc 1 504 3 is_stmt 1 view .LVU3920 11701 0024 2268 ldr r2, [r4] 11702 0026 1368 ldr r3, [r2] 11703 0028 23F00103 bic r3, r3, #1 11704 002c 1360 str r3, [r2] 508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11705 .loc 1 508 3 view .LVU3921 508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11706 .loc 1 508 26 is_stmt 0 view .LVU3922 11707 002e A36A ldr r3, [r4, #40] 508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11708 .loc 1 508 6 view .LVU3923 11709 0030 3BBB cbnz r3, .L604 11710 .L595: 514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11711 .loc 1 514 3 is_stmt 1 view .LVU3924 514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11712 .loc 1 514 7 is_stmt 0 view .LVU3925 11713 0032 2046 mov r0, r4 11714 0034 FFF7FEFF bl UART_SetConfig 11715 .LVL1024: 514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11716 .loc 1 514 6 discriminator 1 view .LVU3926 11717 0038 0128 cmp r0, #1 11718 003a 1CD0 beq .L593 522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN)); 11719 .loc 1 522 3 is_stmt 1 view .LVU3927 11720 003c 2268 ldr r2, [r4] 11721 003e 5368 ldr r3, [r2, #4] 11722 0040 23F40063 bic r3, r3, #2048 11723 0044 5360 str r3, [r2, #4] 523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11724 .loc 1 523 3 view .LVU3928 11725 0046 2268 ldr r2, [r4] 11726 0048 9368 ldr r3, [r2, #8] 11727 004a 23F02A03 bic r3, r3, #42 11728 004e 9360 str r3, [r2, #8] 526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11729 .loc 1 526 3 view .LVU3929 11730 0050 2268 ldr r2, [r4] 11731 0052 5368 ldr r3, [r2, #4] 11732 0054 43F48043 orr r3, r3, #16384 11733 0058 5360 str r3, [r2, #4] 529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11734 .loc 1 529 3 view .LVU3930 11735 005a 2268 ldr r2, [r4] 11736 005c 5368 ldr r3, [r2, #4] 11737 005e 23F02003 bic r3, r3, #32 11738 0062 2B43 orrs r3, r3, r5 11739 0064 5360 str r3, [r2, #4] 531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11740 .loc 1 531 3 view .LVU3931 11741 0066 2268 ldr r2, [r4] 11742 0068 1368 ldr r3, [r2] 11743 006a 43F00103 orr r3, r3, #1 11744 006e 1360 str r3, [r2] 534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cciGf5I5.s page 371 11745 .loc 1 534 3 view .LVU3932 534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11746 .loc 1 534 11 is_stmt 0 view .LVU3933 11747 0070 2046 mov r0, r4 11748 0072 FFF7FEFF bl UART_CheckIdleState 11749 .LVL1025: 11750 .L593: 535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11751 .loc 1 535 1 view .LVU3934 11752 0076 38BD pop {r3, r4, r5, pc} 11753 .LVL1026: 11754 .L603: 484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11755 .loc 1 484 5 is_stmt 1 view .LVU3935 484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11756 .loc 1 484 17 is_stmt 0 view .LVU3936 11757 0078 80F88430 strb r3, [r0, #132] 498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 11758 .loc 1 498 5 is_stmt 1 view .LVU3937 11759 007c FFF7FEFF bl HAL_UART_MspInit 11760 .LVL1027: 498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 11761 .loc 1 498 5 is_stmt 0 view .LVU3938 11762 0080 CDE7 b .L594 11763 .L604: 510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11764 .loc 1 510 5 is_stmt 1 view .LVU3939 11765 0082 2046 mov r0, r4 11766 0084 FFF7FEFF bl UART_AdvFeatureConfig 11767 .LVL1028: 11768 0088 D3E7 b .L595 11769 .LVL1029: 11770 .L596: 11771 .LCFI50: 11772 .cfi_def_cfa_offset 0 11773 .cfi_restore 3 11774 .cfi_restore 4 11775 .cfi_restore 5 11776 .cfi_restore 14 462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11777 .loc 1 462 12 is_stmt 0 view .LVU3940 11778 008a 0120 movs r0, #1 11779 .LVL1030: 535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11780 .loc 1 535 1 view .LVU3941 11781 008c 7047 bx lr 11782 .LVL1031: 11783 .L597: 11784 .LCFI51: 11785 .cfi_def_cfa_offset 16 11786 .cfi_offset 3, -16 11787 .cfi_offset 4, -12 11788 .cfi_offset 5, -8 11789 .cfi_offset 14, -4 473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11790 .loc 1 473 12 view .LVU3942 11791 008e 0120 movs r0, #1 ARM GAS /tmp/cciGf5I5.s page 372 11792 .LVL1032: 473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11793 .loc 1 473 12 view .LVU3943 11794 0090 F1E7 b .L593 11795 .LVL1033: 11796 .L598: 478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11797 .loc 1 478 12 view .LVU3944 11798 0092 0120 movs r0, #1 11799 .LVL1034: 478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11800 .loc 1 478 12 view .LVU3945 11801 0094 EFE7 b .L593 11802 .cfi_endproc 11803 .LFE331: 11805 .section .text.HAL_MultiProcessor_Init,"ax",%progbits 11806 .align 1 11807 .global HAL_MultiProcessor_Init 11808 .syntax unified 11809 .thumb 11810 .thumb_func 11812 HAL_MultiProcessor_Init: 11813 .LVL1035: 11814 .LFB332: 557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */ 11815 .loc 1 557 1 is_stmt 1 view -0 11816 .cfi_startproc 11817 @ args = 0, pretend = 0, frame = 0 11818 @ frame_needed = 0, uses_anonymous_args = 0 559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11819 .loc 1 559 3 view .LVU3947 559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11820 .loc 1 559 6 is_stmt 0 view .LVU3948 11821 0000 0028 cmp r0, #0 11822 0002 42D0 beq .L610 557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */ 11823 .loc 1 557 1 view .LVU3949 11824 0004 70B5 push {r4, r5, r6, lr} 11825 .LCFI52: 11826 .cfi_def_cfa_offset 16 11827 .cfi_offset 4, -16 11828 .cfi_offset 5, -12 11829 .cfi_offset 6, -8 11830 .cfi_offset 14, -4 11831 0006 0E46 mov r6, r1 11832 0008 1546 mov r5, r2 11833 000a 0446 mov r4, r0 565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11834 .loc 1 565 3 is_stmt 1 view .LVU3950 567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11835 .loc 1 567 3 view .LVU3951 567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11836 .loc 1 567 12 is_stmt 0 view .LVU3952 11837 000c D0F88830 ldr r3, [r0, #136] 567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11838 .loc 1 567 6 view .LVU3953 11839 0010 53B3 cbz r3, .L615 ARM GAS /tmp/cciGf5I5.s page 373 11840 .LVL1036: 11841 .L607: 588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11842 .loc 1 588 3 is_stmt 1 view .LVU3954 588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11843 .loc 1 588 17 is_stmt 0 view .LVU3955 11844 0012 2423 movs r3, #36 11845 0014 C4F88830 str r3, [r4, #136] 590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11846 .loc 1 590 3 is_stmt 1 view .LVU3956 11847 0018 2268 ldr r2, [r4] 11848 001a 1368 ldr r3, [r2] 11849 001c 23F00103 bic r3, r3, #1 11850 0020 1360 str r3, [r2] 594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11851 .loc 1 594 3 view .LVU3957 594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11852 .loc 1 594 26 is_stmt 0 view .LVU3958 11853 0022 A36A ldr r3, [r4, #40] 594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11854 .loc 1 594 6 view .LVU3959 11855 0024 2BBB cbnz r3, .L616 11856 .L608: 600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11857 .loc 1 600 3 is_stmt 1 view .LVU3960 600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11858 .loc 1 600 7 is_stmt 0 view .LVU3961 11859 0026 2046 mov r0, r4 11860 0028 FFF7FEFF bl UART_SetConfig 11861 .LVL1037: 600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11862 .loc 1 600 6 discriminator 1 view .LVU3962 11863 002c 0128 cmp r0, #1 11864 002e 1AD0 beq .L606 608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); 11865 .loc 1 608 3 is_stmt 1 view .LVU3963 11866 0030 2268 ldr r2, [r4] 11867 0032 5368 ldr r3, [r2, #4] 11868 0034 23F49043 bic r3, r3, #18432 11869 0038 5360 str r3, [r2, #4] 609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11870 .loc 1 609 3 view .LVU3964 11871 003a 2268 ldr r2, [r4] 11872 003c 9368 ldr r3, [r2, #8] 11873 003e 23F02A03 bic r3, r3, #42 11874 0042 9360 str r3, [r2, #8] 611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11875 .loc 1 611 3 view .LVU3965 611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11876 .loc 1 611 6 is_stmt 0 view .LVU3966 11877 0044 B5F5006F cmp r5, #2048 11878 0048 17D0 beq .L617 11879 .L609: 618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11880 .loc 1 618 3 is_stmt 1 view .LVU3967 11881 004a 2268 ldr r2, [r4] 11882 004c 1368 ldr r3, [r2] ARM GAS /tmp/cciGf5I5.s page 374 11883 004e 23F40063 bic r3, r3, #2048 11884 0052 2B43 orrs r3, r3, r5 11885 0054 1360 str r3, [r2] 620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11886 .loc 1 620 3 view .LVU3968 11887 0056 2268 ldr r2, [r4] 11888 0058 1368 ldr r3, [r2] 11889 005a 43F00103 orr r3, r3, #1 11890 005e 1360 str r3, [r2] 623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11891 .loc 1 623 3 view .LVU3969 623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11892 .loc 1 623 11 is_stmt 0 view .LVU3970 11893 0060 2046 mov r0, r4 11894 0062 FFF7FEFF bl UART_CheckIdleState 11895 .LVL1038: 11896 .L606: 624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11897 .loc 1 624 1 view .LVU3971 11898 0066 70BD pop {r4, r5, r6, pc} 11899 .LVL1039: 11900 .L615: 570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11901 .loc 1 570 5 is_stmt 1 view .LVU3972 570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11902 .loc 1 570 17 is_stmt 0 view .LVU3973 11903 0068 80F88430 strb r3, [r0, #132] 584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 11904 .loc 1 584 5 is_stmt 1 view .LVU3974 11905 006c FFF7FEFF bl HAL_UART_MspInit 11906 .LVL1040: 584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 11907 .loc 1 584 5 is_stmt 0 view .LVU3975 11908 0070 CFE7 b .L607 11909 .L616: 596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11910 .loc 1 596 5 is_stmt 1 view .LVU3976 11911 0072 2046 mov r0, r4 11912 0074 FFF7FEFF bl UART_AdvFeatureConfig 11913 .LVL1041: 11914 0078 D5E7 b .L608 11915 .L617: 614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11916 .loc 1 614 5 view .LVU3977 11917 007a 2268 ldr r2, [r4] 11918 007c 5368 ldr r3, [r2, #4] 11919 007e 23F07F43 bic r3, r3, #-16777216 11920 0082 43EA0663 orr r3, r3, r6, lsl #24 11921 0086 5360 str r3, [r2, #4] 11922 0088 DFE7 b .L609 11923 .LVL1042: 11924 .L610: 11925 .LCFI53: 11926 .cfi_def_cfa_offset 0 11927 .cfi_restore 4 11928 .cfi_restore 5 11929 .cfi_restore 6 ARM GAS /tmp/cciGf5I5.s page 375 11930 .cfi_restore 14 561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11931 .loc 1 561 12 is_stmt 0 view .LVU3978 11932 008a 0120 movs r0, #1 11933 .LVL1043: 624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11934 .loc 1 624 1 view .LVU3979 11935 008c 7047 bx lr 11936 .cfi_endproc 11937 .LFE332: 11939 .section .text.HAL_MultiProcessor_EnableMuteMode,"ax",%progbits 11940 .align 1 11941 .global HAL_MultiProcessor_EnableMuteMode 11942 .syntax unified 11943 .thumb 11944 .thumb_func 11946 HAL_MultiProcessor_EnableMuteMode: 11947 .LVL1044: 11948 .LFB364: 2823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 11949 .loc 1 2823 1 is_stmt 1 view -0 11950 .cfi_startproc 11951 @ args = 0, pretend = 0, frame = 0 11952 @ frame_needed = 0, uses_anonymous_args = 0 2823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 11953 .loc 1 2823 1 is_stmt 0 view .LVU3981 11954 0000 08B5 push {r3, lr} 11955 .LCFI54: 11956 .cfi_def_cfa_offset 8 11957 .cfi_offset 3, -8 11958 .cfi_offset 14, -4 2824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11959 .loc 1 2824 3 is_stmt 1 view .LVU3982 2824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11960 .loc 1 2824 3 view .LVU3983 11961 0002 90F88430 ldrb r3, [r0, #132] @ zero_extendqisi2 11962 0006 012B cmp r3, #1 11963 0008 14D0 beq .L621 2824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11964 .loc 1 2824 3 discriminator 2 view .LVU3984 11965 000a 0123 movs r3, #1 11966 000c 80F88430 strb r3, [r0, #132] 2824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11967 .loc 1 2824 3 view .LVU3985 2826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11968 .loc 1 2826 3 view .LVU3986 2826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11969 .loc 1 2826 17 is_stmt 0 view .LVU3987 11970 0010 2423 movs r3, #36 11971 0012 C0F88830 str r3, [r0, #136] 11972 .L620: 2829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11973 .loc 1 2829 3 is_stmt 1 discriminator 1 view .LVU3988 11974 .LBB986: 2829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11975 .loc 1 2829 3 discriminator 1 view .LVU3989 2829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cciGf5I5.s page 376 11976 .loc 1 2829 3 discriminator 1 view .LVU3990 2829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11977 .loc 1 2829 3 discriminator 1 view .LVU3991 11978 0016 0268 ldr r2, [r0] 11979 .LVL1045: 11980 .LBB987: 11981 .LBI987: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11982 .loc 2 1151 31 view .LVU3992 11983 .LBB988: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 11984 .loc 2 1153 5 view .LVU3993 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 11985 .loc 2 1155 4 view .LVU3994 11986 .syntax unified 11987 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11988 0018 52E8003F ldrex r3, [r2] 11989 @ 0 "" 2 11990 .LVL1046: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 11991 .loc 2 1156 4 view .LVU3995 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 11992 .loc 2 1156 4 is_stmt 0 view .LVU3996 11993 .thumb 11994 .syntax unified 11995 .LBE988: 11996 .LBE987: 2829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11997 .loc 1 2829 3 discriminator 1 view .LVU3997 11998 001c 43F40053 orr r3, r3, #8192 11999 .LVL1047: 2829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12000 .loc 1 2829 3 is_stmt 1 discriminator 1 view .LVU3998 12001 .LBB989: 12002 .LBI989: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12003 .loc 2 1202 31 view .LVU3999 12004 .LBB990: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 12005 .loc 2 1204 4 view .LVU4000 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12006 .loc 2 1206 4 view .LVU4001 12007 .syntax unified 12008 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12009 0020 42E80031 strex r1, r3, [r2] 12010 @ 0 "" 2 12011 .LVL1048: 12012 .loc 2 1207 4 view .LVU4002 12013 .loc 2 1207 4 is_stmt 0 view .LVU4003 12014 .thumb 12015 .syntax unified 12016 .LBE990: 12017 .LBE989: 2829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12018 .loc 1 2829 3 discriminator 1 view .LVU4004 12019 0024 0029 cmp r1, #0 12020 0026 F6D1 bne .L620 ARM GAS /tmp/cciGf5I5.s page 377 12021 .LBE986: 2829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12022 .loc 1 2829 3 is_stmt 1 discriminator 2 view .LVU4005 2831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12023 .loc 1 2831 3 view .LVU4006 2831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12024 .loc 1 2831 17 is_stmt 0 view .LVU4007 12025 0028 2023 movs r3, #32 12026 .LVL1049: 2831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12027 .loc 1 2831 17 view .LVU4008 12028 002a C0F88830 str r3, [r0, #136] 2833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12029 .loc 1 2833 3 is_stmt 1 view .LVU4009 2833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12030 .loc 1 2833 11 is_stmt 0 view .LVU4010 12031 002e FFF7FEFF bl UART_CheckIdleState 12032 .LVL1050: 12033 .L619: 2834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12034 .loc 1 2834 1 view .LVU4011 12035 0032 08BD pop {r3, pc} 12036 .LVL1051: 12037 .L621: 2824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12038 .loc 1 2824 3 discriminator 1 view .LVU4012 12039 0034 0220 movs r0, #2 12040 .LVL1052: 2824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12041 .loc 1 2824 3 discriminator 1 view .LVU4013 12042 0036 FCE7 b .L619 12043 .cfi_endproc 12044 .LFE364: 12046 .section .text.HAL_MultiProcessor_DisableMuteMode,"ax",%progbits 12047 .align 1 12048 .global HAL_MultiProcessor_DisableMuteMode 12049 .syntax unified 12050 .thumb 12051 .thumb_func 12053 HAL_MultiProcessor_DisableMuteMode: 12054 .LVL1053: 12055 .LFB365: 2843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 12056 .loc 1 2843 1 is_stmt 1 view -0 12057 .cfi_startproc 12058 @ args = 0, pretend = 0, frame = 0 12059 @ frame_needed = 0, uses_anonymous_args = 0 2843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 12060 .loc 1 2843 1 is_stmt 0 view .LVU4015 12061 0000 08B5 push {r3, lr} 12062 .LCFI55: 12063 .cfi_def_cfa_offset 8 12064 .cfi_offset 3, -8 12065 .cfi_offset 14, -4 2844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12066 .loc 1 2844 3 is_stmt 1 view .LVU4016 2844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cciGf5I5.s page 378 12067 .loc 1 2844 3 view .LVU4017 12068 0002 90F88430 ldrb r3, [r0, #132] @ zero_extendqisi2 12069 0006 012B cmp r3, #1 12070 0008 14D0 beq .L626 2844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12071 .loc 1 2844 3 discriminator 2 view .LVU4018 12072 000a 0123 movs r3, #1 12073 000c 80F88430 strb r3, [r0, #132] 2844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12074 .loc 1 2844 3 view .LVU4019 2846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12075 .loc 1 2846 3 view .LVU4020 2846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12076 .loc 1 2846 17 is_stmt 0 view .LVU4021 12077 0010 2423 movs r3, #36 12078 0012 C0F88830 str r3, [r0, #136] 12079 .L625: 2849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12080 .loc 1 2849 3 is_stmt 1 discriminator 1 view .LVU4022 12081 .LBB991: 2849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12082 .loc 1 2849 3 discriminator 1 view .LVU4023 2849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12083 .loc 1 2849 3 discriminator 1 view .LVU4024 2849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12084 .loc 1 2849 3 discriminator 1 view .LVU4025 12085 0016 0268 ldr r2, [r0] 12086 .LVL1054: 12087 .LBB992: 12088 .LBI992: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12089 .loc 2 1151 31 view .LVU4026 12090 .LBB993: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 12091 .loc 2 1153 5 view .LVU4027 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12092 .loc 2 1155 4 view .LVU4028 12093 .syntax unified 12094 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12095 0018 52E8003F ldrex r3, [r2] 12096 @ 0 "" 2 12097 .LVL1055: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12098 .loc 2 1156 4 view .LVU4029 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12099 .loc 2 1156 4 is_stmt 0 view .LVU4030 12100 .thumb 12101 .syntax unified 12102 .LBE993: 12103 .LBE992: 2849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12104 .loc 1 2849 3 discriminator 1 view .LVU4031 12105 001c 23F40053 bic r3, r3, #8192 12106 .LVL1056: 2849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12107 .loc 1 2849 3 is_stmt 1 discriminator 1 view .LVU4032 12108 .LBB994: ARM GAS /tmp/cciGf5I5.s page 379 12109 .LBI994: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12110 .loc 2 1202 31 view .LVU4033 12111 .LBB995: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 12112 .loc 2 1204 4 view .LVU4034 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12113 .loc 2 1206 4 view .LVU4035 12114 .syntax unified 12115 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12116 0020 42E80031 strex r1, r3, [r2] 12117 @ 0 "" 2 12118 .LVL1057: 12119 .loc 2 1207 4 view .LVU4036 12120 .loc 2 1207 4 is_stmt 0 view .LVU4037 12121 .thumb 12122 .syntax unified 12123 .LBE995: 12124 .LBE994: 2849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12125 .loc 1 2849 3 discriminator 1 view .LVU4038 12126 0024 0029 cmp r1, #0 12127 0026 F6D1 bne .L625 12128 .LBE991: 2849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12129 .loc 1 2849 3 is_stmt 1 discriminator 2 view .LVU4039 2851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12130 .loc 1 2851 3 view .LVU4040 2851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12131 .loc 1 2851 17 is_stmt 0 view .LVU4041 12132 0028 2023 movs r3, #32 12133 .LVL1058: 2851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12134 .loc 1 2851 17 view .LVU4042 12135 002a C0F88830 str r3, [r0, #136] 2853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12136 .loc 1 2853 3 is_stmt 1 view .LVU4043 2853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12137 .loc 1 2853 11 is_stmt 0 view .LVU4044 12138 002e FFF7FEFF bl UART_CheckIdleState 12139 .LVL1059: 12140 .L624: 2854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12141 .loc 1 2854 1 view .LVU4045 12142 0032 08BD pop {r3, pc} 12143 .LVL1060: 12144 .L626: 2844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12145 .loc 1 2844 3 discriminator 1 view .LVU4046 12146 0034 0220 movs r0, #2 12147 .LVL1061: 2844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12148 .loc 1 2844 3 discriminator 1 view .LVU4047 12149 0036 FCE7 b .L624 12150 .cfi_endproc 12151 .LFE365: 12153 .section .text.UART_Start_Receive_IT,"ax",%progbits ARM GAS /tmp/cciGf5I5.s page 380 12154 .align 1 12155 .global UART_Start_Receive_IT 12156 .syntax unified 12157 .thumb 12158 .thumb_func 12160 UART_Start_Receive_IT: 12161 .LVL1062: 12162 .LFB376: 3455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr = pData; 12163 .loc 1 3455 1 is_stmt 1 view -0 12164 .cfi_startproc 12165 @ args = 0, pretend = 0, frame = 0 12166 @ frame_needed = 0, uses_anonymous_args = 0 12167 @ link register save eliminated. 3455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr = pData; 12168 .loc 1 3455 1 is_stmt 0 view .LVU4049 12169 0000 10B4 push {r4} 12170 .LCFI56: 12171 .cfi_def_cfa_offset 4 12172 .cfi_offset 4, -4 3456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferSize = Size; 12173 .loc 1 3456 3 is_stmt 1 view .LVU4050 3456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferSize = Size; 12174 .loc 1 3456 22 is_stmt 0 view .LVU4051 12175 0002 8165 str r1, [r0, #88] 3457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = Size; 12176 .loc 1 3457 3 is_stmt 1 view .LVU4052 3457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = Size; 12177 .loc 1 3457 22 is_stmt 0 view .LVU4053 12178 0004 A0F85C20 strh r2, [r0, #92] @ movhi 3458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL; 12179 .loc 1 3458 3 is_stmt 1 view .LVU4054 3458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL; 12180 .loc 1 3458 22 is_stmt 0 view .LVU4055 12181 0008 A0F85E20 strh r2, [r0, #94] @ movhi 3459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12182 .loc 1 3459 3 is_stmt 1 view .LVU4056 3459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12183 .loc 1 3459 22 is_stmt 0 view .LVU4057 12184 000c 0023 movs r3, #0 12185 000e 4367 str r3, [r0, #116] 3462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12186 .loc 1 3462 3 is_stmt 1 view .LVU4058 3462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12187 .loc 1 3462 3 view .LVU4059 12188 0010 8368 ldr r3, [r0, #8] 12189 0012 B3F5805F cmp r3, #4096 12190 0016 06D0 beq .L649 3462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12191 .loc 1 3462 3 discriminator 2 view .LVU4060 12192 0018 A3B9 cbnz r3, .L632 3462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12193 .loc 1 3462 3 discriminator 5 view .LVU4061 12194 001a 0369 ldr r3, [r0, #16] 12195 001c 73B9 cbnz r3, .L633 3462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12196 .loc 1 3462 3 discriminator 7 view .LVU4062 ARM GAS /tmp/cciGf5I5.s page 381 12197 001e FF23 movs r3, #255 12198 0020 A0F86030 strh r3, [r0, #96] @ movhi 12199 0024 14E0 b .L631 12200 .L649: 3462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12201 .loc 1 3462 3 discriminator 1 view .LVU4063 12202 0026 0369 ldr r3, [r0, #16] 12203 0028 23B9 cbnz r3, .L630 3462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12204 .loc 1 3462 3 discriminator 3 view .LVU4064 12205 002a 40F2FF13 movw r3, #511 12206 002e A0F86030 strh r3, [r0, #96] @ movhi 12207 0032 0DE0 b .L631 12208 .L630: 3462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12209 .loc 1 3462 3 discriminator 4 view .LVU4065 12210 0034 FF23 movs r3, #255 12211 0036 A0F86030 strh r3, [r0, #96] @ movhi 12212 003a 09E0 b .L631 12213 .L633: 3462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12214 .loc 1 3462 3 discriminator 8 view .LVU4066 12215 003c 7F23 movs r3, #127 12216 003e A0F86030 strh r3, [r0, #96] @ movhi 12217 0042 05E0 b .L631 12218 .L632: 3462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12219 .loc 1 3462 3 discriminator 6 view .LVU4067 12220 0044 B3F1805F cmp r3, #268435456 12221 0048 2ED0 beq .L650 3462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12222 .loc 1 3462 3 discriminator 10 view .LVU4068 12223 004a 0023 movs r3, #0 12224 004c A0F86030 strh r3, [r0, #96] @ movhi 12225 .L631: 3462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12226 .loc 1 3462 3 discriminator 13 view .LVU4069 3464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 12227 .loc 1 3464 3 view .LVU4070 3464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 12228 .loc 1 3464 20 is_stmt 0 view .LVU4071 12229 0050 0023 movs r3, #0 12230 0052 C0F89030 str r3, [r0, #144] 3465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12231 .loc 1 3465 3 is_stmt 1 view .LVU4072 3465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12232 .loc 1 3465 18 is_stmt 0 view .LVU4073 12233 0056 2223 movs r3, #34 12234 0058 C0F88C30 str r3, [r0, #140] 12235 .LVL1063: 12236 .L636: 3468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12237 .loc 1 3468 3 is_stmt 1 discriminator 1 view .LVU4074 12238 .LBB996: 3468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12239 .loc 1 3468 3 discriminator 1 view .LVU4075 3468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cciGf5I5.s page 382 12240 .loc 1 3468 3 discriminator 1 view .LVU4076 3468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12241 .loc 1 3468 3 discriminator 1 view .LVU4077 12242 005c 0168 ldr r1, [r0] 12243 .LVL1064: 12244 .LBB997: 12245 .LBI997: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12246 .loc 2 1151 31 view .LVU4078 12247 .LBB998: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 12248 .loc 2 1153 5 view .LVU4079 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12249 .loc 2 1155 4 view .LVU4080 12250 005e 01F10803 add r3, r1, #8 12251 .LVL1065: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12252 .loc 2 1155 4 is_stmt 0 view .LVU4081 12253 .syntax unified 12254 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12255 0062 53E8003F ldrex r3, [r3] 12256 @ 0 "" 2 12257 .LVL1066: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12258 .loc 2 1156 4 is_stmt 1 view .LVU4082 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12259 .loc 2 1156 4 is_stmt 0 view .LVU4083 12260 .thumb 12261 .syntax unified 12262 .LBE998: 12263 .LBE997: 3468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12264 .loc 1 3468 3 discriminator 1 view .LVU4084 12265 0066 43F00103 orr r3, r3, #1 12266 .LVL1067: 3468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12267 .loc 1 3468 3 is_stmt 1 discriminator 1 view .LVU4085 12268 .LBB999: 12269 .LBI999: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12270 .loc 2 1202 31 view .LVU4086 12271 .LBB1000: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 12272 .loc 2 1204 4 view .LVU4087 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12273 .loc 2 1206 4 view .LVU4088 12274 006a 0831 adds r1, r1, #8 12275 .LVL1068: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12276 .loc 2 1206 4 is_stmt 0 view .LVU4089 12277 .syntax unified 12278 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12279 006c 41E80034 strex r4, r3, [r1] 12280 @ 0 "" 2 12281 .LVL1069: 12282 .loc 2 1207 4 is_stmt 1 view .LVU4090 12283 .loc 2 1207 4 is_stmt 0 view .LVU4091 ARM GAS /tmp/cciGf5I5.s page 383 12284 .thumb 12285 .syntax unified 12286 .LBE1000: 12287 .LBE999: 3468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12288 .loc 1 3468 3 discriminator 1 view .LVU4092 12289 0070 002C cmp r4, #0 12290 0072 F3D1 bne .L636 12291 .LBE996: 3468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12292 .loc 1 3468 3 is_stmt 1 discriminator 2 view .LVU4093 3471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12293 .loc 1 3471 3 view .LVU4094 3471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12294 .loc 1 3471 13 is_stmt 0 view .LVU4095 12295 0074 436E ldr r3, [r0, #100] 12296 .LVL1070: 3471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12297 .loc 1 3471 6 view .LVU4096 12298 0076 B3F1005F cmp r3, #536870912 12299 007a 1FD0 beq .L651 12300 .L637: 3493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12301 .loc 1 3493 5 is_stmt 1 view .LVU4097 3493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12302 .loc 1 3493 21 is_stmt 0 view .LVU4098 12303 007c 8368 ldr r3, [r0, #8] 3493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12304 .loc 1 3493 8 view .LVU4099 12305 007e B3F5805F cmp r3, #4096 12306 0082 43D0 beq .L652 12307 .L644: 3499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12308 .loc 1 3499 7 is_stmt 1 view .LVU4100 3499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12309 .loc 1 3499 20 is_stmt 0 view .LVU4101 12310 0084 294B ldr r3, .L654 12311 0086 4367 str r3, [r0, #116] 12312 .L645: 3503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12313 .loc 1 3503 5 is_stmt 1 view .LVU4102 3503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12314 .loc 1 3503 20 is_stmt 0 view .LVU4103 12315 0088 0369 ldr r3, [r0, #16] 3503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12316 .loc 1 3503 8 view .LVU4104 12317 008a 002B cmp r3, #0 12318 008c 44D0 beq .L646 12319 .LVL1071: 12320 .L647: 3505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12321 .loc 1 3505 7 is_stmt 1 discriminator 1 view .LVU4105 12322 .LBB1001: 3505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12323 .loc 1 3505 7 discriminator 1 view .LVU4106 3505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12324 .loc 1 3505 7 discriminator 1 view .LVU4107 ARM GAS /tmp/cciGf5I5.s page 384 3505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12325 .loc 1 3505 7 discriminator 1 view .LVU4108 12326 008e 0268 ldr r2, [r0] 12327 .LVL1072: 12328 .LBB1002: 12329 .LBI1002: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12330 .loc 2 1151 31 view .LVU4109 12331 .LBB1003: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 12332 .loc 2 1153 5 view .LVU4110 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12333 .loc 2 1155 4 view .LVU4111 12334 .syntax unified 12335 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12336 0090 52E8003F ldrex r3, [r2] 12337 @ 0 "" 2 12338 .LVL1073: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12339 .loc 2 1156 4 view .LVU4112 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12340 .loc 2 1156 4 is_stmt 0 view .LVU4113 12341 .thumb 12342 .syntax unified 12343 .LBE1003: 12344 .LBE1002: 3505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12345 .loc 1 3505 7 discriminator 1 view .LVU4114 12346 0094 43F49073 orr r3, r3, #288 12347 .LVL1074: 3505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12348 .loc 1 3505 7 is_stmt 1 discriminator 1 view .LVU4115 12349 .LBB1004: 12350 .LBI1004: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12351 .loc 2 1202 31 view .LVU4116 12352 .LBB1005: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 12353 .loc 2 1204 4 view .LVU4117 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12354 .loc 2 1206 4 view .LVU4118 12355 .syntax unified 12356 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12357 0098 42E80031 strex r1, r3, [r2] 12358 @ 0 "" 2 12359 .LVL1075: 12360 .loc 2 1207 4 view .LVU4119 12361 .loc 2 1207 4 is_stmt 0 view .LVU4120 12362 .thumb 12363 .syntax unified 12364 .LBE1005: 12365 .LBE1004: 3505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12366 .loc 1 3505 7 discriminator 1 view .LVU4121 12367 009c 0029 cmp r1, #0 12368 009e F6D1 bne .L647 12369 .LVL1076: ARM GAS /tmp/cciGf5I5.s page 385 12370 .L643: 3505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12371 .loc 1 3505 7 discriminator 1 view .LVU4122 12372 .LBE1001: 3509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12373 .loc 1 3509 7 is_stmt 1 discriminator 2 view .LVU4123 3512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12374 .loc 1 3512 3 view .LVU4124 3513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12375 .loc 1 3513 1 is_stmt 0 view .LVU4125 12376 00a0 0020 movs r0, #0 12377 .LVL1077: 3513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12378 .loc 1 3513 1 view .LVU4126 12379 00a2 5DF8044B ldr r4, [sp], #4 12380 .LCFI57: 12381 .cfi_remember_state 12382 .cfi_restore 4 12383 .cfi_def_cfa_offset 0 12384 00a6 7047 bx lr 12385 .LVL1078: 12386 .L650: 12387 .LCFI58: 12388 .cfi_restore_state 3462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12389 .loc 1 3462 3 is_stmt 1 discriminator 9 view .LVU4127 12390 00a8 0369 ldr r3, [r0, #16] 12391 00aa 1BB9 cbnz r3, .L635 3462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12392 .loc 1 3462 3 discriminator 11 view .LVU4128 12393 00ac 7F23 movs r3, #127 12394 00ae A0F86030 strh r3, [r0, #96] @ movhi 12395 00b2 CDE7 b .L631 12396 .L635: 3462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12397 .loc 1 3462 3 discriminator 12 view .LVU4129 12398 00b4 3F23 movs r3, #63 12399 00b6 A0F86030 strh r3, [r0, #96] @ movhi 12400 00ba C9E7 b .L631 12401 .LVL1079: 12402 .L651: 3471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12403 .loc 1 3471 66 is_stmt 0 discriminator 1 view .LVU4130 12404 00bc B0F86830 ldrh r3, [r0, #104] 3471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12405 .loc 1 3471 49 discriminator 1 view .LVU4131 12406 00c0 9342 cmp r3, r2 12407 00c2 DBD8 bhi .L637 3474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12408 .loc 1 3474 5 is_stmt 1 view .LVU4132 3474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12409 .loc 1 3474 21 is_stmt 0 view .LVU4133 12410 00c4 8368 ldr r3, [r0, #8] 3474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12411 .loc 1 3474 8 view .LVU4134 12412 00c6 B3F5805F cmp r3, #4096 12413 00ca 19D0 beq .L653 ARM GAS /tmp/cciGf5I5.s page 386 12414 .L638: 3480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12415 .loc 1 3480 7 is_stmt 1 view .LVU4135 3480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12416 .loc 1 3480 20 is_stmt 0 view .LVU4136 12417 00cc 184B ldr r3, .L654+4 12418 00ce 4367 str r3, [r0, #116] 12419 .L639: 3484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12420 .loc 1 3484 5 is_stmt 1 view .LVU4137 3484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12421 .loc 1 3484 20 is_stmt 0 view .LVU4138 12422 00d0 0369 ldr r3, [r0, #16] 3484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12423 .loc 1 3484 8 view .LVU4139 12424 00d2 43B1 cbz r3, .L642 12425 .LVL1080: 12426 .L641: 3486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12427 .loc 1 3486 7 is_stmt 1 discriminator 1 view .LVU4140 12428 .LBB1006: 3486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12429 .loc 1 3486 7 discriminator 1 view .LVU4141 3486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12430 .loc 1 3486 7 discriminator 1 view .LVU4142 3486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12431 .loc 1 3486 7 discriminator 1 view .LVU4143 12432 00d4 0268 ldr r2, [r0] 12433 .LVL1081: 12434 .LBB1007: 12435 .LBI1007: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12436 .loc 2 1151 31 view .LVU4144 12437 .LBB1008: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 12438 .loc 2 1153 5 view .LVU4145 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12439 .loc 2 1155 4 view .LVU4146 12440 .syntax unified 12441 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12442 00d6 52E8003F ldrex r3, [r2] 12443 @ 0 "" 2 12444 .LVL1082: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12445 .loc 2 1156 4 view .LVU4147 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12446 .loc 2 1156 4 is_stmt 0 view .LVU4148 12447 .thumb 12448 .syntax unified 12449 .LBE1008: 12450 .LBE1007: 3486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12451 .loc 1 3486 7 discriminator 1 view .LVU4149 12452 00da 43F48073 orr r3, r3, #256 12453 .LVL1083: 3486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12454 .loc 1 3486 7 is_stmt 1 discriminator 1 view .LVU4150 ARM GAS /tmp/cciGf5I5.s page 387 12455 .LBB1009: 12456 .LBI1009: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12457 .loc 2 1202 31 view .LVU4151 12458 .LBB1010: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 12459 .loc 2 1204 4 view .LVU4152 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12460 .loc 2 1206 4 view .LVU4153 12461 .syntax unified 12462 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12463 00de 42E80031 strex r1, r3, [r2] 12464 @ 0 "" 2 12465 .LVL1084: 12466 .loc 2 1207 4 view .LVU4154 12467 .loc 2 1207 4 is_stmt 0 view .LVU4155 12468 .thumb 12469 .syntax unified 12470 .LBE1010: 12471 .LBE1009: 3486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12472 .loc 1 3486 7 discriminator 1 view .LVU4156 12473 00e2 0029 cmp r1, #0 12474 00e4 F6D1 bne .L641 12475 .LVL1085: 12476 .L642: 3486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12477 .loc 1 3486 7 discriminator 1 view .LVU4157 12478 .LBE1006: 3486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12479 .loc 1 3486 7 is_stmt 1 discriminator 2 view .LVU4158 3488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12480 .loc 1 3488 5 discriminator 1 view .LVU4159 12481 .LBB1011: 3488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12482 .loc 1 3488 5 discriminator 1 view .LVU4160 3488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12483 .loc 1 3488 5 discriminator 1 view .LVU4161 3488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12484 .loc 1 3488 5 discriminator 1 view .LVU4162 12485 00e6 0268 ldr r2, [r0] 12486 .LVL1086: 12487 .LBB1012: 12488 .LBI1012: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12489 .loc 2 1151 31 view .LVU4163 12490 .LBB1013: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 12491 .loc 2 1153 5 view .LVU4164 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12492 .loc 2 1155 4 view .LVU4165 12493 00e8 02F10803 add r3, r2, #8 12494 .LVL1087: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12495 .loc 2 1155 4 is_stmt 0 view .LVU4166 12496 .syntax unified 12497 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 ARM GAS /tmp/cciGf5I5.s page 388 12498 00ec 53E8003F ldrex r3, [r3] 12499 @ 0 "" 2 12500 .LVL1088: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12501 .loc 2 1156 4 is_stmt 1 view .LVU4167 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12502 .loc 2 1156 4 is_stmt 0 view .LVU4168 12503 .thumb 12504 .syntax unified 12505 .LBE1013: 12506 .LBE1012: 3488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12507 .loc 1 3488 5 discriminator 1 view .LVU4169 12508 00f0 43F08053 orr r3, r3, #268435456 12509 .LVL1089: 3488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12510 .loc 1 3488 5 is_stmt 1 discriminator 1 view .LVU4170 12511 .LBB1014: 12512 .LBI1014: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12513 .loc 2 1202 31 view .LVU4171 12514 .LBB1015: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 12515 .loc 2 1204 4 view .LVU4172 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12516 .loc 2 1206 4 view .LVU4173 12517 00f4 0832 adds r2, r2, #8 12518 .LVL1090: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12519 .loc 2 1206 4 is_stmt 0 view .LVU4174 12520 .syntax unified 12521 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12522 00f6 42E80031 strex r1, r3, [r2] 12523 @ 0 "" 2 12524 .LVL1091: 12525 .loc 2 1207 4 is_stmt 1 view .LVU4175 12526 .loc 2 1207 4 is_stmt 0 view .LVU4176 12527 .thumb 12528 .syntax unified 12529 .LBE1015: 12530 .LBE1014: 3488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12531 .loc 1 3488 5 discriminator 1 view .LVU4177 12532 00fa 0029 cmp r1, #0 12533 00fc F3D1 bne .L642 12534 00fe CFE7 b .L643 12535 .LVL1092: 12536 .L653: 3488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12537 .loc 1 3488 5 discriminator 1 view .LVU4178 12538 .LBE1011: 3474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12539 .loc 1 3474 71 discriminator 1 view .LVU4179 12540 0100 0369 ldr r3, [r0, #16] 3474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12541 .loc 1 3474 56 discriminator 1 view .LVU4180 12542 0102 002B cmp r3, #0 ARM GAS /tmp/cciGf5I5.s page 389 12543 0104 E2D1 bne .L638 3476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12544 .loc 1 3476 7 is_stmt 1 view .LVU4181 3476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12545 .loc 1 3476 20 is_stmt 0 view .LVU4182 12546 0106 0B4B ldr r3, .L654+8 12547 0108 4367 str r3, [r0, #116] 12548 010a E1E7 b .L639 12549 .L652: 3493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12550 .loc 1 3493 71 discriminator 1 view .LVU4183 12551 010c 0369 ldr r3, [r0, #16] 3493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12552 .loc 1 3493 56 discriminator 1 view .LVU4184 12553 010e 002B cmp r3, #0 12554 0110 B8D1 bne .L644 3495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12555 .loc 1 3495 7 is_stmt 1 view .LVU4185 3495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12556 .loc 1 3495 20 is_stmt 0 view .LVU4186 12557 0112 094B ldr r3, .L654+12 12558 0114 4367 str r3, [r0, #116] 12559 0116 B7E7 b .L645 12560 .LVL1093: 12561 .L646: 3509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12562 .loc 1 3509 7 is_stmt 1 discriminator 1 view .LVU4187 12563 .LBB1016: 3509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12564 .loc 1 3509 7 discriminator 1 view .LVU4188 3509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12565 .loc 1 3509 7 discriminator 1 view .LVU4189 3509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12566 .loc 1 3509 7 discriminator 1 view .LVU4190 12567 0118 0268 ldr r2, [r0] 12568 .LVL1094: 12569 .LBB1017: 12570 .LBI1017: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12571 .loc 2 1151 31 view .LVU4191 12572 .LBB1018: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 12573 .loc 2 1153 5 view .LVU4192 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12574 .loc 2 1155 4 view .LVU4193 12575 .syntax unified 12576 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12577 011a 52E8003F ldrex r3, [r2] 12578 @ 0 "" 2 12579 .LVL1095: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12580 .loc 2 1156 4 view .LVU4194 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12581 .loc 2 1156 4 is_stmt 0 view .LVU4195 12582 .thumb 12583 .syntax unified 12584 .LBE1018: ARM GAS /tmp/cciGf5I5.s page 390 12585 .LBE1017: 3509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12586 .loc 1 3509 7 discriminator 1 view .LVU4196 12587 011e 43F02003 orr r3, r3, #32 12588 .LVL1096: 3509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12589 .loc 1 3509 7 is_stmt 1 discriminator 1 view .LVU4197 12590 .LBB1019: 12591 .LBI1019: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12592 .loc 2 1202 31 view .LVU4198 12593 .LBB1020: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 12594 .loc 2 1204 4 view .LVU4199 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12595 .loc 2 1206 4 view .LVU4200 12596 .syntax unified 12597 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12598 0122 42E80031 strex r1, r3, [r2] 12599 @ 0 "" 2 12600 .LVL1097: 12601 .loc 2 1207 4 view .LVU4201 12602 .loc 2 1207 4 is_stmt 0 view .LVU4202 12603 .thumb 12604 .syntax unified 12605 .LBE1020: 12606 .LBE1019: 3509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12607 .loc 1 3509 7 discriminator 1 view .LVU4203 12608 0126 0029 cmp r1, #0 12609 0128 F6D1 bne .L646 12610 012a B9E7 b .L643 12611 .L655: 12612 .align 2 12613 .L654: 12614 012c 00000000 .word UART_RxISR_8BIT 12615 0130 00000000 .word UART_RxISR_8BIT_FIFOEN 12616 0134 00000000 .word UART_RxISR_16BIT_FIFOEN 12617 0138 00000000 .word UART_RxISR_16BIT 12618 .LBE1016: 12619 .cfi_endproc 12620 .LFE376: 12622 .section .text.HAL_UART_Receive_IT,"ax",%progbits 12623 .align 1 12624 .global HAL_UART_Receive_IT 12625 .syntax unified 12626 .thumb 12627 .thumb_func 12629 HAL_UART_Receive_IT: 12630 .LVL1098: 12631 .LFB339: 1360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 12632 .loc 1 1360 1 is_stmt 1 view -0 12633 .cfi_startproc 12634 @ args = 0, pretend = 0, frame = 0 12635 @ frame_needed = 0, uses_anonymous_args = 0 1360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ ARM GAS /tmp/cciGf5I5.s page 391 12636 .loc 1 1360 1 is_stmt 0 view .LVU4205 12637 0000 38B5 push {r3, r4, r5, lr} 12638 .LCFI59: 12639 .cfi_def_cfa_offset 16 12640 .cfi_offset 3, -16 12641 .cfi_offset 4, -12 12642 .cfi_offset 5, -8 12643 .cfi_offset 14, -4 1362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12644 .loc 1 1362 3 is_stmt 1 view .LVU4206 1362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12645 .loc 1 1362 12 is_stmt 0 view .LVU4207 12646 0002 D0F88C30 ldr r3, [r0, #140] 1362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12647 .loc 1 1362 6 view .LVU4208 12648 0006 202B cmp r3, #32 12649 0008 17D1 bne .L660 1364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12650 .loc 1 1364 5 is_stmt 1 view .LVU4209 1364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12651 .loc 1 1364 8 is_stmt 0 view .LVU4210 12652 000a C1B1 cbz r1, .L661 1364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12653 .loc 1 1364 25 discriminator 1 view .LVU4211 12654 000c CAB1 cbz r2, .L662 1370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12655 .loc 1 1370 5 is_stmt 1 view .LVU4212 1370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12656 .loc 1 1370 26 is_stmt 0 view .LVU4213 12657 000e 0023 movs r3, #0 12658 0010 C366 str r3, [r0, #108] 1372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12659 .loc 1 1372 5 is_stmt 1 view .LVU4214 1372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12660 .loc 1 1372 11 is_stmt 0 view .LVU4215 12661 0012 0368 ldr r3, [r0] 1372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12662 .loc 1 1372 8 view .LVU4216 12663 0014 0C4C ldr r4, .L664 12664 0016 A342 cmp r3, r4 12665 0018 0CD0 beq .L658 1375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12666 .loc 1 1375 7 is_stmt 1 view .LVU4217 1375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12667 .loc 1 1375 11 is_stmt 0 view .LVU4218 12668 001a 5B68 ldr r3, [r3, #4] 1375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12669 .loc 1 1375 10 view .LVU4219 12670 001c 13F4000F tst r3, #8388608 12671 0020 08D0 beq .L658 12672 .L659: 1378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12673 .loc 1 1378 9 is_stmt 1 discriminator 1 view .LVU4220 12674 .LBB1021: 1378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12675 .loc 1 1378 9 discriminator 1 view .LVU4221 1378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cciGf5I5.s page 392 12676 .loc 1 1378 9 discriminator 1 view .LVU4222 1378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12677 .loc 1 1378 9 discriminator 1 view .LVU4223 12678 0022 0468 ldr r4, [r0] 12679 .LVL1099: 12680 .LBB1022: 12681 .LBI1022: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12682 .loc 2 1151 31 view .LVU4224 12683 .LBB1023: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 12684 .loc 2 1153 5 view .LVU4225 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12685 .loc 2 1155 4 view .LVU4226 12686 .syntax unified 12687 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12688 0024 54E8003F ldrex r3, [r4] 12689 @ 0 "" 2 12690 .LVL1100: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12691 .loc 2 1156 4 view .LVU4227 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12692 .loc 2 1156 4 is_stmt 0 view .LVU4228 12693 .thumb 12694 .syntax unified 12695 .LBE1023: 12696 .LBE1022: 1378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12697 .loc 1 1378 9 discriminator 1 view .LVU4229 12698 0028 43F08063 orr r3, r3, #67108864 12699 .LVL1101: 1378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12700 .loc 1 1378 9 is_stmt 1 discriminator 1 view .LVU4230 12701 .LBB1024: 12702 .LBI1024: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12703 .loc 2 1202 31 view .LVU4231 12704 .LBB1025: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 12705 .loc 2 1204 4 view .LVU4232 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12706 .loc 2 1206 4 view .LVU4233 12707 .syntax unified 12708 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12709 002c 44E80035 strex r5, r3, [r4] 12710 @ 0 "" 2 12711 .LVL1102: 12712 .loc 2 1207 4 view .LVU4234 12713 .loc 2 1207 4 is_stmt 0 view .LVU4235 12714 .thumb 12715 .syntax unified 12716 .LBE1025: 12717 .LBE1024: 1378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12718 .loc 1 1378 9 discriminator 1 view .LVU4236 12719 0030 002D cmp r5, #0 12720 0032 F6D1 bne .L659 ARM GAS /tmp/cciGf5I5.s page 393 12721 .LVL1103: 12722 .L658: 1378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12723 .loc 1 1378 9 discriminator 1 view .LVU4237 12724 .LBE1021: 1378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12725 .loc 1 1378 9 is_stmt 1 discriminator 2 view .LVU4238 1382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12726 .loc 1 1382 5 view .LVU4239 1382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12727 .loc 1 1382 13 is_stmt 0 view .LVU4240 12728 0034 FFF7FEFF bl UART_Start_Receive_IT 12729 .LVL1104: 1382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12730 .loc 1 1382 13 view .LVU4241 12731 0038 00E0 b .L657 12732 .LVL1105: 12733 .L660: 1386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12734 .loc 1 1386 12 view .LVU4242 12735 003a 0220 movs r0, #2 12736 .LVL1106: 12737 .L657: 1388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12738 .loc 1 1388 1 view .LVU4243 12739 003c 38BD pop {r3, r4, r5, pc} 12740 .LVL1107: 12741 .L661: 1366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12742 .loc 1 1366 14 view .LVU4244 12743 003e 0120 movs r0, #1 12744 .LVL1108: 1366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12745 .loc 1 1366 14 view .LVU4245 12746 0040 FCE7 b .L657 12747 .LVL1109: 12748 .L662: 1366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12749 .loc 1 1366 14 view .LVU4246 12750 0042 0120 movs r0, #1 12751 .LVL1110: 1366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12752 .loc 1 1366 14 view .LVU4247 12753 0044 FAE7 b .L657 12754 .L665: 12755 0046 00BF .align 2 12756 .L664: 12757 0048 00800040 .word 1073774592 12758 .cfi_endproc 12759 .LFE339: 12761 .section .text.UART_Start_Receive_DMA,"ax",%progbits 12762 .align 1 12763 .global UART_Start_Receive_DMA 12764 .syntax unified 12765 .thumb 12766 .thumb_func 12768 UART_Start_Receive_DMA: ARM GAS /tmp/cciGf5I5.s page 394 12769 .LVL1111: 12770 .LFB377: 3527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr = pData; 12771 .loc 1 3527 1 is_stmt 1 view -0 12772 .cfi_startproc 12773 @ args = 0, pretend = 0, frame = 0 12774 @ frame_needed = 0, uses_anonymous_args = 0 3527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr = pData; 12775 .loc 1 3527 1 is_stmt 0 view .LVU4249 12776 0000 10B5 push {r4, lr} 12777 .LCFI60: 12778 .cfi_def_cfa_offset 8 12779 .cfi_offset 4, -8 12780 .cfi_offset 14, -4 12781 0002 0446 mov r4, r0 12782 0004 1346 mov r3, r2 3528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferSize = Size; 12783 .loc 1 3528 3 is_stmt 1 view .LVU4250 3528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferSize = Size; 12784 .loc 1 3528 21 is_stmt 0 view .LVU4251 12785 0006 8165 str r1, [r0, #88] 3529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12786 .loc 1 3529 3 is_stmt 1 view .LVU4252 3529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12787 .loc 1 3529 21 is_stmt 0 view .LVU4253 12788 0008 A0F85C20 strh r2, [r0, #92] @ movhi 3531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 12789 .loc 1 3531 3 is_stmt 1 view .LVU4254 3531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 12790 .loc 1 3531 20 is_stmt 0 view .LVU4255 12791 000c 0022 movs r2, #0 12792 .LVL1112: 3531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 12793 .loc 1 3531 20 view .LVU4256 12794 000e C0F89020 str r2, [r0, #144] 3532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12795 .loc 1 3532 3 is_stmt 1 view .LVU4257 3532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12796 .loc 1 3532 18 is_stmt 0 view .LVU4258 12797 0012 2222 movs r2, #34 12798 0014 C0F88C20 str r2, [r0, #140] 3534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12799 .loc 1 3534 3 is_stmt 1 view .LVU4259 3534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12800 .loc 1 3534 12 is_stmt 0 view .LVU4260 12801 0018 D0F88020 ldr r2, [r0, #128] 3534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12802 .loc 1 3534 6 view .LVU4261 12803 001c AAB1 cbz r2, .L667 3537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12804 .loc 1 3537 5 is_stmt 1 view .LVU4262 3537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12805 .loc 1 3537 37 is_stmt 0 view .LVU4263 12806 001e 2149 ldr r1, .L675 12807 .LVL1113: 3537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12808 .loc 1 3537 37 view .LVU4264 ARM GAS /tmp/cciGf5I5.s page 395 12809 0020 D162 str r1, [r2, #44] 12810 .LVL1114: 3540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12811 .loc 1 3540 5 is_stmt 1 view .LVU4265 3540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12812 .loc 1 3540 10 is_stmt 0 view .LVU4266 12813 0022 D0F88020 ldr r2, [r0, #128] 3540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12814 .loc 1 3540 41 view .LVU4267 12815 0026 2049 ldr r1, .L675+4 12816 0028 1163 str r1, [r2, #48] 3543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12817 .loc 1 3543 5 is_stmt 1 view .LVU4268 3543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12818 .loc 1 3543 10 is_stmt 0 view .LVU4269 12819 002a D0F88020 ldr r2, [r0, #128] 3543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12820 .loc 1 3543 38 view .LVU4270 12821 002e 1F49 ldr r1, .L675+8 12822 0030 5163 str r1, [r2, #52] 3546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12823 .loc 1 3546 5 is_stmt 1 view .LVU4271 3546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12824 .loc 1 3546 10 is_stmt 0 view .LVU4272 12825 0032 D0F88020 ldr r2, [r0, #128] 3546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12826 .loc 1 3546 38 view .LVU4273 12827 0036 0021 movs r1, #0 12828 0038 9163 str r1, [r2, #56] 3549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12829 .loc 1 3549 5 is_stmt 1 view .LVU4274 3549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12830 .loc 1 3549 57 is_stmt 0 view .LVU4275 12831 003a 0168 ldr r1, [r0] 3549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12832 .loc 1 3549 9 view .LVU4276 12833 003c 826D ldr r2, [r0, #88] 12834 003e 2431 adds r1, r1, #36 12835 0040 D0F88000 ldr r0, [r0, #128] 12836 .LVL1115: 3549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12837 .loc 1 3549 9 view .LVU4277 12838 0044 FFF7FEFF bl HAL_DMA_Start_IT 12839 .LVL1116: 3549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12840 .loc 1 3549 8 discriminator 1 view .LVU4278 12841 0048 20BB cbnz r0, .L674 12842 .L667: 3562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12843 .loc 1 3562 3 is_stmt 1 view .LVU4279 3562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12844 .loc 1 3562 18 is_stmt 0 view .LVU4280 12845 004a 2369 ldr r3, [r4, #16] 3562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12846 .loc 1 3562 6 view .LVU4281 12847 004c 43B1 cbz r3, .L671 12848 .L670: ARM GAS /tmp/cciGf5I5.s page 396 3564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12849 .loc 1 3564 5 is_stmt 1 discriminator 1 view .LVU4282 12850 .LBB1026: 3564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12851 .loc 1 3564 5 discriminator 1 view .LVU4283 3564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12852 .loc 1 3564 5 discriminator 1 view .LVU4284 3564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12853 .loc 1 3564 5 discriminator 1 view .LVU4285 12854 004e 2268 ldr r2, [r4] 12855 .LVL1117: 12856 .LBB1027: 12857 .LBI1027: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12858 .loc 2 1151 31 view .LVU4286 12859 .LBB1028: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 12860 .loc 2 1153 5 view .LVU4287 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12861 .loc 2 1155 4 view .LVU4288 12862 .syntax unified 12863 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12864 0050 52E8003F ldrex r3, [r2] 12865 @ 0 "" 2 12866 .LVL1118: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12867 .loc 2 1156 4 view .LVU4289 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12868 .loc 2 1156 4 is_stmt 0 view .LVU4290 12869 .thumb 12870 .syntax unified 12871 .LBE1028: 12872 .LBE1027: 3564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12873 .loc 1 3564 5 discriminator 1 view .LVU4291 12874 0054 43F48073 orr r3, r3, #256 12875 .LVL1119: 3564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12876 .loc 1 3564 5 is_stmt 1 discriminator 1 view .LVU4292 12877 .LBB1029: 12878 .LBI1029: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12879 .loc 2 1202 31 view .LVU4293 12880 .LBB1030: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 12881 .loc 2 1204 4 view .LVU4294 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12882 .loc 2 1206 4 view .LVU4295 12883 .syntax unified 12884 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12885 0058 42E80031 strex r1, r3, [r2] 12886 @ 0 "" 2 12887 .LVL1120: 12888 .loc 2 1207 4 view .LVU4296 12889 .loc 2 1207 4 is_stmt 0 view .LVU4297 12890 .thumb 12891 .syntax unified ARM GAS /tmp/cciGf5I5.s page 397 12892 .LBE1030: 12893 .LBE1029: 3564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12894 .loc 1 3564 5 discriminator 1 view .LVU4298 12895 005c 0029 cmp r1, #0 12896 005e F6D1 bne .L670 12897 .LVL1121: 12898 .L671: 3564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12899 .loc 1 3564 5 discriminator 1 view .LVU4299 12900 .LBE1026: 3564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12901 .loc 1 3564 5 is_stmt 1 discriminator 2 view .LVU4300 3568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12902 .loc 1 3568 3 discriminator 1 view .LVU4301 12903 .LBB1031: 3568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12904 .loc 1 3568 3 discriminator 1 view .LVU4302 3568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12905 .loc 1 3568 3 discriminator 1 view .LVU4303 3568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12906 .loc 1 3568 3 discriminator 1 view .LVU4304 12907 0060 2268 ldr r2, [r4] 12908 .LVL1122: 12909 .LBB1032: 12910 .LBI1032: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12911 .loc 2 1151 31 view .LVU4305 12912 .LBB1033: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 12913 .loc 2 1153 5 view .LVU4306 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12914 .loc 2 1155 4 view .LVU4307 12915 0062 02F10803 add r3, r2, #8 12916 .LVL1123: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12917 .loc 2 1155 4 is_stmt 0 view .LVU4308 12918 .syntax unified 12919 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12920 0066 53E8003F ldrex r3, [r3] 12921 @ 0 "" 2 12922 .LVL1124: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12923 .loc 2 1156 4 is_stmt 1 view .LVU4309 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12924 .loc 2 1156 4 is_stmt 0 view .LVU4310 12925 .thumb 12926 .syntax unified 12927 .LBE1033: 12928 .LBE1032: 3568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12929 .loc 1 3568 3 discriminator 1 view .LVU4311 12930 006a 43F00103 orr r3, r3, #1 12931 .LVL1125: 3568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12932 .loc 1 3568 3 is_stmt 1 discriminator 1 view .LVU4312 12933 .LBB1034: ARM GAS /tmp/cciGf5I5.s page 398 12934 .LBI1034: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12935 .loc 2 1202 31 view .LVU4313 12936 .LBB1035: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 12937 .loc 2 1204 4 view .LVU4314 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12938 .loc 2 1206 4 view .LVU4315 12939 006e 0832 adds r2, r2, #8 12940 .LVL1126: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12941 .loc 2 1206 4 is_stmt 0 view .LVU4316 12942 .syntax unified 12943 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12944 0070 42E80031 strex r1, r3, [r2] 12945 @ 0 "" 2 12946 .LVL1127: 12947 .loc 2 1207 4 is_stmt 1 view .LVU4317 12948 .loc 2 1207 4 is_stmt 0 view .LVU4318 12949 .thumb 12950 .syntax unified 12951 .LBE1035: 12952 .LBE1034: 3568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12953 .loc 1 3568 3 discriminator 1 view .LVU4319 12954 0074 0029 cmp r1, #0 12955 0076 F3D1 bne .L671 12956 .LVL1128: 12957 .L672: 3568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12958 .loc 1 3568 3 discriminator 1 view .LVU4320 12959 .LBE1031: 3568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12960 .loc 1 3568 3 is_stmt 1 discriminator 2 view .LVU4321 3572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12961 .loc 1 3572 3 discriminator 1 view .LVU4322 12962 .LBB1036: 3572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12963 .loc 1 3572 3 discriminator 1 view .LVU4323 3572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12964 .loc 1 3572 3 discriminator 1 view .LVU4324 3572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12965 .loc 1 3572 3 discriminator 1 view .LVU4325 12966 0078 2268 ldr r2, [r4] 12967 .LVL1129: 12968 .LBB1037: 12969 .LBI1037: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12970 .loc 2 1151 31 view .LVU4326 12971 .LBB1038: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 12972 .loc 2 1153 5 view .LVU4327 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12973 .loc 2 1155 4 view .LVU4328 12974 007a 02F10803 add r3, r2, #8 12975 .LVL1130: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS /tmp/cciGf5I5.s page 399 12976 .loc 2 1155 4 is_stmt 0 view .LVU4329 12977 .syntax unified 12978 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12979 007e 53E8003F ldrex r3, [r3] 12980 @ 0 "" 2 12981 .LVL1131: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12982 .loc 2 1156 4 is_stmt 1 view .LVU4330 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12983 .loc 2 1156 4 is_stmt 0 view .LVU4331 12984 .thumb 12985 .syntax unified 12986 .LBE1038: 12987 .LBE1037: 3572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12988 .loc 1 3572 3 discriminator 1 view .LVU4332 12989 0082 43F04003 orr r3, r3, #64 12990 .LVL1132: 3572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12991 .loc 1 3572 3 is_stmt 1 discriminator 1 view .LVU4333 12992 .LBB1039: 12993 .LBI1039: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12994 .loc 2 1202 31 view .LVU4334 12995 .LBB1040: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 12996 .loc 2 1204 4 view .LVU4335 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12997 .loc 2 1206 4 view .LVU4336 12998 0086 0832 adds r2, r2, #8 12999 .LVL1133: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 13000 .loc 2 1206 4 is_stmt 0 view .LVU4337 13001 .syntax unified 13002 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 13003 0088 42E80031 strex r1, r3, [r2] 13004 @ 0 "" 2 13005 .LVL1134: 13006 .loc 2 1207 4 is_stmt 1 view .LVU4338 13007 .loc 2 1207 4 is_stmt 0 view .LVU4339 13008 .thumb 13009 .syntax unified 13010 .LBE1040: 13011 .LBE1039: 3572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 13012 .loc 1 3572 3 discriminator 1 view .LVU4340 13013 008c 0029 cmp r1, #0 13014 008e F3D1 bne .L672 13015 .LBE1036: 3574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 13016 .loc 1 3574 10 view .LVU4341 13017 0090 0020 movs r0, #0 13018 .LVL1135: 13019 .L668: 3575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 13020 .loc 1 3575 1 view .LVU4342 13021 0092 10BD pop {r4, pc} ARM GAS /tmp/cciGf5I5.s page 400 13022 .LVL1136: 13023 .L674: 3552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 13024 .loc 1 3552 7 is_stmt 1 view .LVU4343 3552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 13025 .loc 1 3552 24 is_stmt 0 view .LVU4344 13026 0094 1023 movs r3, #16 13027 0096 C4F89030 str r3, [r4, #144] 3555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 13028 .loc 1 3555 7 is_stmt 1 view .LVU4345 3555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 13029 .loc 1 3555 22 is_stmt 0 view .LVU4346 13030 009a 2023 movs r3, #32 13031 009c C4F88C30 str r3, [r4, #140] 3557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 13032 .loc 1 3557 7 is_stmt 1 view .LVU4347 3557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 13033 .loc 1 3557 14 is_stmt 0 view .LVU4348 13034 00a0 0120 movs r0, #1 13035 00a2 F6E7 b .L668 13036 .L676: 13037 .align 2 13038 .L675: 13039 00a4 00000000 .word UART_DMAReceiveCplt 13040 00a8 00000000 .word UART_DMARxHalfCplt 13041 00ac 00000000 .word UART_DMAError 13042 .cfi_endproc 13043 .LFE377: 13045 .section .text.HAL_UART_Receive_DMA,"ax",%progbits 13046 .align 1 13047 .global HAL_UART_Receive_DMA 13048 .syntax unified 13049 .thumb 13050 .thumb_func 13052 HAL_UART_Receive_DMA: 13053 .LVL1137: 13054 .LFB341: 1471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 13055 .loc 1 1471 1 is_stmt 1 view -0 13056 .cfi_startproc 13057 @ args = 0, pretend = 0, frame = 0 13058 @ frame_needed = 0, uses_anonymous_args = 0 1471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 13059 .loc 1 1471 1 is_stmt 0 view .LVU4350 13060 0000 38B5 push {r3, r4, r5, lr} 13061 .LCFI61: 13062 .cfi_def_cfa_offset 16 13063 .cfi_offset 3, -16 13064 .cfi_offset 4, -12 13065 .cfi_offset 5, -8 13066 .cfi_offset 14, -4 1473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 13067 .loc 1 1473 3 is_stmt 1 view .LVU4351 1473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 13068 .loc 1 1473 12 is_stmt 0 view .LVU4352 13069 0002 D0F88C30 ldr r3, [r0, #140] 1473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cciGf5I5.s page 401 13070 .loc 1 1473 6 view .LVU4353 13071 0006 202B cmp r3, #32 13072 0008 17D1 bne .L681 1475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 13073 .loc 1 1475 5 is_stmt 1 view .LVU4354 1475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 13074 .loc 1 1475 8 is_stmt 0 view .LVU4355 13075 000a C1B1 cbz r1, .L682 1475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 13076 .loc 1 1475 25 discriminator 1 view .LVU4356 13077 000c CAB1 cbz r2, .L683 1481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 13078 .loc 1 1481 5 is_stmt 1 view .LVU4357 1481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 13079 .loc 1 1481 26 is_stmt 0 view .LVU4358 13080 000e 0023 movs r3, #0 13081 0010 C366 str r3, [r0, #108] 1483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 13082 .loc 1 1483 5 is_stmt 1 view .LVU4359 1483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 13083 .loc 1 1483 11 is_stmt 0 view .LVU4360 13084 0012 0368 ldr r3, [r0] 1483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 13085 .loc 1 1483 8 view .LVU4361 13086 0014 0C4C ldr r4, .L685 13087 0016 A342 cmp r3, r4 13088 0018 0CD0 beq .L679 1486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 13089 .loc 1 1486 7 is_stmt 1 view .LVU4362 1486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 13090 .loc 1 1486 11 is_stmt 0 view .LVU4363 13091 001a 5B68 ldr r3, [r3, #4] 1486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 13092 .loc 1 1486 10 view .LVU4364 13093 001c 13F4000F tst r3, #8388608 13094 0020 08D0 beq .L679 13095 .L680: 1489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 13096 .loc 1 1489 9 is_stmt 1 discriminator 1 view .LVU4365 13097 .LBB1041: 1489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 13098 .loc 1 1489 9 discriminator 1 view .LVU4366 1489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 13099 .loc 1 1489 9 discriminator 1 view .LVU4367 1489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 13100 .loc 1 1489 9 discriminator 1 view .LVU4368 13101 0022 0468 ldr r4, [r0] 13102 .LVL1138: 13103 .LBB1042: 13104 .LBI1042: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 13105 .loc 2 1151 31 view .LVU4369 13106 .LBB1043: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 13107 .loc 2 1153 5 view .LVU4370 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 13108 .loc 2 1155 4 view .LVU4371 ARM GAS /tmp/cciGf5I5.s page 402 13109 .syntax unified 13110 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 13111 0024 54E8003F ldrex r3, [r4] 13112 @ 0 "" 2 13113 .LVL1139: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 13114 .loc 2 1156 4 view .LVU4372 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 13115 .loc 2 1156 4 is_stmt 0 view .LVU4373 13116 .thumb 13117 .syntax unified 13118 .LBE1043: 13119 .LBE1042: 1489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 13120 .loc 1 1489 9 discriminator 1 view .LVU4374 13121 0028 43F08063 orr r3, r3, #67108864 13122 .LVL1140: 1489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 13123 .loc 1 1489 9 is_stmt 1 discriminator 1 view .LVU4375 13124 .LBB1044: 13125 .LBI1044: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 13126 .loc 2 1202 31 view .LVU4376 13127 .LBB1045: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 13128 .loc 2 1204 4 view .LVU4377 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 13129 .loc 2 1206 4 view .LVU4378 13130 .syntax unified 13131 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 13132 002c 44E80035 strex r5, r3, [r4] 13133 @ 0 "" 2 13134 .LVL1141: 13135 .loc 2 1207 4 view .LVU4379 13136 .loc 2 1207 4 is_stmt 0 view .LVU4380 13137 .thumb 13138 .syntax unified 13139 .LBE1045: 13140 .LBE1044: 1489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 13141 .loc 1 1489 9 discriminator 1 view .LVU4381 13142 0030 002D cmp r5, #0 13143 0032 F6D1 bne .L680 13144 .LVL1142: 13145 .L679: 1489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 13146 .loc 1 1489 9 discriminator 1 view .LVU4382 13147 .LBE1041: 1489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 13148 .loc 1 1489 9 is_stmt 1 discriminator 2 view .LVU4383 1493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 13149 .loc 1 1493 5 view .LVU4384 1493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 13150 .loc 1 1493 13 is_stmt 0 view .LVU4385 13151 0034 FFF7FEFF bl UART_Start_Receive_DMA 13152 .LVL1143: 1493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cciGf5I5.s page 403 13153 .loc 1 1493 13 view .LVU4386 13154 0038 00E0 b .L678 13155 .LVL1144: 13156 .L681: 1497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 13157 .loc 1 1497 12 view .LVU4387 13158 003a 0220 movs r0, #2 13159 .LVL1145: 13160 .L678: 1499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 13161 .loc 1 1499 1 view .LVU4388 13162 003c 38BD pop {r3, r4, r5, pc} 13163 .LVL1146: 13164 .L682: 1477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 13165 .loc 1 1477 14 view .LVU4389 13166 003e 0120 movs r0, #1 13167 .LVL1147: 1477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 13168 .loc 1 1477 14 view .LVU4390 13169 0040 FCE7 b .L678 13170 .LVL1148: 13171 .L683: 1477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 13172 .loc 1 1477 14 view .LVU4391 13173 0042 0120 movs r0, #1 13174 .LVL1149: 1477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 13175 .loc 1 1477 14 view .LVU4392 13176 0044 FAE7 b .L678 13177 .L686: 13178 0046 00BF .align 2 13179 .L685: 13180 0048 00800040 .word 1073774592 13181 .cfi_endproc 13182 .LFE341: 13184 .global UARTPrescTable 13185 .section .rodata.UARTPrescTable,"a" 13186 .align 2 13189 UARTPrescTable: 13190 0000 0100 .short 1 13191 0002 0200 .short 2 13192 0004 0400 .short 4 13193 0006 0600 .short 6 13194 0008 0800 .short 8 13195 000a 0A00 .short 10 13196 000c 0C00 .short 12 13197 000e 1000 .short 16 13198 0010 2000 .short 32 13199 0012 4000 .short 64 13200 0014 8000 .short 128 13201 0016 0001 .short 256 13202 .text 13203 .Letext0: 13204 .file 3 "/home/fra/bin/arm-gnu-toolchain-14.2.rel1-x86_64-arm-none-eabi/arm-none-eabi/include/mach 13205 .file 4 "/home/fra/bin/arm-gnu-toolchain-14.2.rel1-x86_64-arm-none-eabi/arm-none-eabi/include/sys/ 13206 .file 5 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h" ARM GAS /tmp/cciGf5I5.s page 404 13207 .file 6 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h" 13208 .file 7 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h" 13209 .file 8 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h" 13210 .file 9 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart.h" 13211 .file 10 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h" 13212 .file 11 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart_ex.h" 13213 .file 12 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h" ARM GAS /tmp/cciGf5I5.s page 405 DEFINED SYMBOLS *ABS*:00000000 stm32g4xx_hal_uart.c /tmp/cciGf5I5.s:21 .text.UART_EndTxTransfer:00000000 $t /tmp/cciGf5I5.s:26 .text.UART_EndTxTransfer:00000000 UART_EndTxTransfer /tmp/cciGf5I5.s:157 .text.UART_EndRxTransfer:00000000 $t /tmp/cciGf5I5.s:162 .text.UART_EndRxTransfer:00000000 UART_EndRxTransfer /tmp/cciGf5I5.s:358 .text.UART_TxISR_8BIT:00000000 $t /tmp/cciGf5I5.s:363 .text.UART_TxISR_8BIT:00000000 UART_TxISR_8BIT /tmp/cciGf5I5.s:523 .text.UART_TxISR_16BIT:00000000 $t /tmp/cciGf5I5.s:528 .text.UART_TxISR_16BIT:00000000 UART_TxISR_16BIT /tmp/cciGf5I5.s:695 .text.UART_TxISR_8BIT_FIFOEN:00000000 $t /tmp/cciGf5I5.s:700 .text.UART_TxISR_8BIT_FIFOEN:00000000 UART_TxISR_8BIT_FIFOEN /tmp/cciGf5I5.s:890 .text.UART_TxISR_16BIT_FIFOEN:00000000 $t /tmp/cciGf5I5.s:895 .text.UART_TxISR_16BIT_FIFOEN:00000000 UART_TxISR_16BIT_FIFOEN /tmp/cciGf5I5.s:1092 .text.HAL_UART_MspInit:00000000 $t /tmp/cciGf5I5.s:1098 .text.HAL_UART_MspInit:00000000 HAL_UART_MspInit /tmp/cciGf5I5.s:1113 .text.HAL_UART_MspDeInit:00000000 $t /tmp/cciGf5I5.s:1119 .text.HAL_UART_MspDeInit:00000000 HAL_UART_MspDeInit /tmp/cciGf5I5.s:1134 .text.HAL_UART_DeInit:00000000 $t /tmp/cciGf5I5.s:1140 .text.HAL_UART_DeInit:00000000 HAL_UART_DeInit /tmp/cciGf5I5.s:1229 .text.HAL_UART_Transmit_IT:00000000 $t /tmp/cciGf5I5.s:1235 .text.HAL_UART_Transmit_IT:00000000 HAL_UART_Transmit_IT /tmp/cciGf5I5.s:1472 .text.HAL_UART_Transmit_IT:0000009c $d /tmp/cciGf5I5.s:1480 .text.HAL_UART_Transmit_DMA:00000000 $t /tmp/cciGf5I5.s:1486 .text.HAL_UART_Transmit_DMA:00000000 HAL_UART_Transmit_DMA /tmp/cciGf5I5.s:1687 .text.HAL_UART_Transmit_DMA:00000094 $d /tmp/cciGf5I5.s:3596 .text.UART_DMATransmitCplt:00000000 UART_DMATransmitCplt /tmp/cciGf5I5.s:3866 .text.UART_DMATxHalfCplt:00000000 UART_DMATxHalfCplt /tmp/cciGf5I5.s:3961 .text.UART_DMAError:00000000 UART_DMAError /tmp/cciGf5I5.s:1694 .text.HAL_UART_DMAPause:00000000 $t /tmp/cciGf5I5.s:1700 .text.HAL_UART_DMAPause:00000000 HAL_UART_DMAPause /tmp/cciGf5I5.s:1994 .text.HAL_UART_DMAResume:00000000 $t /tmp/cciGf5I5.s:2000 .text.HAL_UART_DMAResume:00000000 HAL_UART_DMAResume /tmp/cciGf5I5.s:2273 .text.HAL_UART_DMAStop:00000000 $t /tmp/cciGf5I5.s:2279 .text.HAL_UART_DMAStop:00000000 HAL_UART_DMAStop /tmp/cciGf5I5.s:2527 .text.HAL_UART_Abort:00000000 $t /tmp/cciGf5I5.s:2533 .text.HAL_UART_Abort:00000000 HAL_UART_Abort /tmp/cciGf5I5.s:2978 .text.HAL_UART_AbortTransmit:00000000 $t /tmp/cciGf5I5.s:2984 .text.HAL_UART_AbortTransmit:00000000 HAL_UART_AbortTransmit /tmp/cciGf5I5.s:3246 .text.HAL_UART_AbortReceive:00000000 $t /tmp/cciGf5I5.s:3252 .text.HAL_UART_AbortReceive:00000000 HAL_UART_AbortReceive /tmp/cciGf5I5.s:3570 .text.HAL_UART_TxCpltCallback:00000000 $t /tmp/cciGf5I5.s:3576 .text.HAL_UART_TxCpltCallback:00000000 HAL_UART_TxCpltCallback /tmp/cciGf5I5.s:3591 .text.UART_DMATransmitCplt:00000000 $t /tmp/cciGf5I5.s:3752 .text.UART_EndTransmit_IT:00000000 $t /tmp/cciGf5I5.s:3757 .text.UART_EndTransmit_IT:00000000 UART_EndTransmit_IT /tmp/cciGf5I5.s:3840 .text.HAL_UART_TxHalfCpltCallback:00000000 $t /tmp/cciGf5I5.s:3846 .text.HAL_UART_TxHalfCpltCallback:00000000 HAL_UART_TxHalfCpltCallback /tmp/cciGf5I5.s:3861 .text.UART_DMATxHalfCplt:00000000 $t /tmp/cciGf5I5.s:3893 .text.HAL_UART_RxCpltCallback:00000000 $t /tmp/cciGf5I5.s:3899 .text.HAL_UART_RxCpltCallback:00000000 HAL_UART_RxCpltCallback /tmp/cciGf5I5.s:3914 .text.HAL_UART_RxHalfCpltCallback:00000000 $t /tmp/cciGf5I5.s:3920 .text.HAL_UART_RxHalfCpltCallback:00000000 HAL_UART_RxHalfCpltCallback /tmp/cciGf5I5.s:3935 .text.HAL_UART_ErrorCallback:00000000 $t /tmp/cciGf5I5.s:3941 .text.HAL_UART_ErrorCallback:00000000 HAL_UART_ErrorCallback /tmp/cciGf5I5.s:3956 .text.UART_DMAError:00000000 $t /tmp/cciGf5I5.s:4051 .text.UART_DMAAbortOnError:00000000 $t ARM GAS /tmp/cciGf5I5.s page 406 /tmp/cciGf5I5.s:4056 .text.UART_DMAAbortOnError:00000000 UART_DMAAbortOnError /tmp/cciGf5I5.s:4086 .text.HAL_UART_AbortCpltCallback:00000000 $t /tmp/cciGf5I5.s:4092 .text.HAL_UART_AbortCpltCallback:00000000 HAL_UART_AbortCpltCallback /tmp/cciGf5I5.s:4107 .text.HAL_UART_Abort_IT:00000000 $t /tmp/cciGf5I5.s:4113 .text.HAL_UART_Abort_IT:00000000 HAL_UART_Abort_IT /tmp/cciGf5I5.s:4604 .text.HAL_UART_Abort_IT:00000148 $d /tmp/cciGf5I5.s:4693 .text.UART_DMATxAbortCallback:00000000 UART_DMATxAbortCallback /tmp/cciGf5I5.s:4615 .text.UART_DMARxAbortCallback:00000000 UART_DMARxAbortCallback /tmp/cciGf5I5.s:4610 .text.UART_DMARxAbortCallback:00000000 $t /tmp/cciGf5I5.s:4688 .text.UART_DMATxAbortCallback:00000000 $t /tmp/cciGf5I5.s:4777 .text.HAL_UART_AbortTransmitCpltCallback:00000000 $t /tmp/cciGf5I5.s:4783 .text.HAL_UART_AbortTransmitCpltCallback:00000000 HAL_UART_AbortTransmitCpltCallback /tmp/cciGf5I5.s:4798 .text.HAL_UART_AbortTransmit_IT:00000000 $t /tmp/cciGf5I5.s:4804 .text.HAL_UART_AbortTransmit_IT:00000000 HAL_UART_AbortTransmit_IT /tmp/cciGf5I5.s:5083 .text.HAL_UART_AbortTransmit_IT:000000a8 $d /tmp/cciGf5I5.s:5093 .text.UART_DMATxOnlyAbortCallback:00000000 UART_DMATxOnlyAbortCallback /tmp/cciGf5I5.s:5088 .text.UART_DMATxOnlyAbortCallback:00000000 $t /tmp/cciGf5I5.s:5142 .text.HAL_UART_AbortReceiveCpltCallback:00000000 $t /tmp/cciGf5I5.s:5148 .text.HAL_UART_AbortReceiveCpltCallback:00000000 HAL_UART_AbortReceiveCpltCallback /tmp/cciGf5I5.s:5163 .text.HAL_UART_AbortReceive_IT:00000000 $t /tmp/cciGf5I5.s:5169 .text.HAL_UART_AbortReceive_IT:00000000 HAL_UART_AbortReceive_IT /tmp/cciGf5I5.s:5515 .text.HAL_UART_AbortReceive_IT:000000d4 $d /tmp/cciGf5I5.s:5525 .text.UART_DMARxOnlyAbortCallback:00000000 UART_DMARxOnlyAbortCallback /tmp/cciGf5I5.s:5520 .text.UART_DMARxOnlyAbortCallback:00000000 $t /tmp/cciGf5I5.s:5571 .text.HAL_UARTEx_RxEventCallback:00000000 $t /tmp/cciGf5I5.s:5577 .text.HAL_UARTEx_RxEventCallback:00000000 HAL_UARTEx_RxEventCallback /tmp/cciGf5I5.s:5593 .text.HAL_UART_IRQHandler:00000000 $t /tmp/cciGf5I5.s:5599 .text.HAL_UART_IRQHandler:00000000 HAL_UART_IRQHandler /tmp/cciGf5I5.s:6321 .text.HAL_UART_IRQHandler:000002a8 $d /tmp/cciGf5I5.s:6331 .text.HAL_UART_IRQHandler:000002b4 $t /tmp/cciGf5I5.s:6606 .text.UART_RxISR_8BIT:00000000 $t /tmp/cciGf5I5.s:6611 .text.UART_RxISR_8BIT:00000000 UART_RxISR_8BIT /tmp/cciGf5I5.s:6966 .text.UART_RxISR_8BIT:000000d8 $d /tmp/cciGf5I5.s:6971 .text.UART_RxISR_16BIT:00000000 $t /tmp/cciGf5I5.s:6976 .text.UART_RxISR_16BIT:00000000 UART_RxISR_16BIT /tmp/cciGf5I5.s:7331 .text.UART_RxISR_16BIT:000000d4 $d /tmp/cciGf5I5.s:7336 .text.UART_RxISR_8BIT_FIFOEN:00000000 $t /tmp/cciGf5I5.s:7341 .text.UART_RxISR_8BIT_FIFOEN:00000000 UART_RxISR_8BIT_FIFOEN /tmp/cciGf5I5.s:7943 .text.UART_RxISR_8BIT_FIFOEN:000001c0 $d /tmp/cciGf5I5.s:7949 .text.UART_RxISR_16BIT_FIFOEN:00000000 $t /tmp/cciGf5I5.s:7954 .text.UART_RxISR_16BIT_FIFOEN:00000000 UART_RxISR_16BIT_FIFOEN /tmp/cciGf5I5.s:8559 .text.UART_RxISR_16BIT_FIFOEN:000001c0 $d /tmp/cciGf5I5.s:8565 .text.UART_DMARxHalfCplt:00000000 $t /tmp/cciGf5I5.s:8570 .text.UART_DMARxHalfCplt:00000000 UART_DMARxHalfCplt /tmp/cciGf5I5.s:8618 .text.UART_DMAReceiveCplt:00000000 $t /tmp/cciGf5I5.s:8623 .text.UART_DMAReceiveCplt:00000000 UART_DMAReceiveCplt /tmp/cciGf5I5.s:8919 .text.HAL_UART_ReceiverTimeout_Config:00000000 $t /tmp/cciGf5I5.s:8925 .text.HAL_UART_ReceiverTimeout_Config:00000000 HAL_UART_ReceiverTimeout_Config /tmp/cciGf5I5.s:8954 .text.HAL_UART_ReceiverTimeout_Config:00000014 $d /tmp/cciGf5I5.s:8959 .text.HAL_UART_EnableReceiverTimeout:00000000 $t /tmp/cciGf5I5.s:8965 .text.HAL_UART_EnableReceiverTimeout:00000000 HAL_UART_EnableReceiverTimeout /tmp/cciGf5I5.s:9042 .text.HAL_UART_EnableReceiverTimeout:00000048 $d /tmp/cciGf5I5.s:9047 .text.HAL_UART_DisableReceiverTimeout:00000000 $t /tmp/cciGf5I5.s:9053 .text.HAL_UART_DisableReceiverTimeout:00000000 HAL_UART_DisableReceiverTimeout /tmp/cciGf5I5.s:9130 .text.HAL_UART_DisableReceiverTimeout:00000048 $d /tmp/cciGf5I5.s:9135 .text.HAL_MultiProcessor_EnterMuteMode:00000000 $t /tmp/cciGf5I5.s:9141 .text.HAL_MultiProcessor_EnterMuteMode:00000000 HAL_MultiProcessor_EnterMuteMode ARM GAS /tmp/cciGf5I5.s page 407 /tmp/cciGf5I5.s:9160 .text.HAL_HalfDuplex_EnableTransmitter:00000000 $t /tmp/cciGf5I5.s:9166 .text.HAL_HalfDuplex_EnableTransmitter:00000000 HAL_HalfDuplex_EnableTransmitter /tmp/cciGf5I5.s:9319 .text.HAL_HalfDuplex_EnableReceiver:00000000 $t /tmp/cciGf5I5.s:9325 .text.HAL_HalfDuplex_EnableReceiver:00000000 HAL_HalfDuplex_EnableReceiver /tmp/cciGf5I5.s:9478 .text.HAL_LIN_SendBreak:00000000 $t /tmp/cciGf5I5.s:9484 .text.HAL_LIN_SendBreak:00000000 HAL_LIN_SendBreak /tmp/cciGf5I5.s:9537 .text.HAL_UART_GetState:00000000 $t /tmp/cciGf5I5.s:9543 .text.HAL_UART_GetState:00000000 HAL_UART_GetState /tmp/cciGf5I5.s:9571 .text.HAL_UART_GetError:00000000 $t /tmp/cciGf5I5.s:9577 .text.HAL_UART_GetError:00000000 HAL_UART_GetError /tmp/cciGf5I5.s:9595 .text.UART_SetConfig:00000000 $t /tmp/cciGf5I5.s:9601 .text.UART_SetConfig:00000000 UART_SetConfig /tmp/cciGf5I5.s:9746 .text.UART_SetConfig:00000094 $d /tmp/cciGf5I5.s:9756 .text.UART_SetConfig:000000a6 $t /tmp/cciGf5I5.s:9766 .text.UART_SetConfig:000000ba $d /tmp/cciGf5I5.s:9770 .text.UART_SetConfig:000000be $t /tmp/cciGf5I5.s:9808 .text.UART_SetConfig:000000e2 $d /tmp/cciGf5I5.s:9973 .text.UART_SetConfig:000001b4 $d /tmp/cciGf5I5.s:10078 .text.UART_SetConfig:00000232 $d /tmp/cciGf5I5.s:10094 .text.UART_SetConfig:00000240 $d /tmp/cciGf5I5.s:13189 .rodata.UARTPrescTable:00000000 UARTPrescTable /tmp/cciGf5I5.s:10106 .text.UART_SetConfig:00000264 $t /tmp/cciGf5I5.s:10312 .text.UART_SetConfig:00000330 $d /tmp/cciGf5I5.s:10318 .text.UART_AdvFeatureConfig:00000000 $t /tmp/cciGf5I5.s:10324 .text.UART_AdvFeatureConfig:00000000 UART_AdvFeatureConfig /tmp/cciGf5I5.s:10476 .text.UART_WaitOnFlagUntilTimeout:00000000 $t /tmp/cciGf5I5.s:10482 .text.UART_WaitOnFlagUntilTimeout:00000000 UART_WaitOnFlagUntilTimeout /tmp/cciGf5I5.s:10620 .text.HAL_UART_Transmit:00000000 $t /tmp/cciGf5I5.s:10626 .text.HAL_UART_Transmit:00000000 HAL_UART_Transmit /tmp/cciGf5I5.s:10843 .text.HAL_UART_Receive:00000000 $t /tmp/cciGf5I5.s:10849 .text.HAL_UART_Receive:00000000 HAL_UART_Receive /tmp/cciGf5I5.s:11113 .text.UART_CheckIdleState:00000000 $t /tmp/cciGf5I5.s:11119 .text.UART_CheckIdleState:00000000 UART_CheckIdleState /tmp/cciGf5I5.s:11424 .text.HAL_UART_Init:00000000 $t /tmp/cciGf5I5.s:11430 .text.HAL_UART_Init:00000000 HAL_UART_Init /tmp/cciGf5I5.s:11534 .text.HAL_HalfDuplex_Init:00000000 $t /tmp/cciGf5I5.s:11540 .text.HAL_HalfDuplex_Init:00000000 HAL_HalfDuplex_Init /tmp/cciGf5I5.s:11648 .text.HAL_LIN_Init:00000000 $t /tmp/cciGf5I5.s:11654 .text.HAL_LIN_Init:00000000 HAL_LIN_Init /tmp/cciGf5I5.s:11806 .text.HAL_MultiProcessor_Init:00000000 $t /tmp/cciGf5I5.s:11812 .text.HAL_MultiProcessor_Init:00000000 HAL_MultiProcessor_Init /tmp/cciGf5I5.s:11940 .text.HAL_MultiProcessor_EnableMuteMode:00000000 $t /tmp/cciGf5I5.s:11946 .text.HAL_MultiProcessor_EnableMuteMode:00000000 HAL_MultiProcessor_EnableMuteMode /tmp/cciGf5I5.s:12047 .text.HAL_MultiProcessor_DisableMuteMode:00000000 $t /tmp/cciGf5I5.s:12053 .text.HAL_MultiProcessor_DisableMuteMode:00000000 HAL_MultiProcessor_DisableMuteMode /tmp/cciGf5I5.s:12154 .text.UART_Start_Receive_IT:00000000 $t /tmp/cciGf5I5.s:12160 .text.UART_Start_Receive_IT:00000000 UART_Start_Receive_IT /tmp/cciGf5I5.s:12614 .text.UART_Start_Receive_IT:0000012c $d /tmp/cciGf5I5.s:12623 .text.HAL_UART_Receive_IT:00000000 $t /tmp/cciGf5I5.s:12629 .text.HAL_UART_Receive_IT:00000000 HAL_UART_Receive_IT /tmp/cciGf5I5.s:12757 .text.HAL_UART_Receive_IT:00000048 $d /tmp/cciGf5I5.s:12762 .text.UART_Start_Receive_DMA:00000000 $t /tmp/cciGf5I5.s:12768 .text.UART_Start_Receive_DMA:00000000 UART_Start_Receive_DMA /tmp/cciGf5I5.s:13039 .text.UART_Start_Receive_DMA:000000a4 $d /tmp/cciGf5I5.s:13046 .text.HAL_UART_Receive_DMA:00000000 $t /tmp/cciGf5I5.s:13052 .text.HAL_UART_Receive_DMA:00000000 HAL_UART_Receive_DMA /tmp/cciGf5I5.s:13180 .text.HAL_UART_Receive_DMA:00000048 $d ARM GAS /tmp/cciGf5I5.s page 408 /tmp/cciGf5I5.s:13186 .rodata.UARTPrescTable:00000000 $d /tmp/cciGf5I5.s:9821 .text.UART_SetConfig:000000ef $d /tmp/cciGf5I5.s:9821 .text.UART_SetConfig:000000f0 $t /tmp/cciGf5I5.s:9982 .text.UART_SetConfig:000001bd $d /tmp/cciGf5I5.s:9982 .text.UART_SetConfig:000001be $t /tmp/cciGf5I5.s:10087 .text.UART_SetConfig:0000023b $d /tmp/cciGf5I5.s:10087 .text.UART_SetConfig:0000023c $t UNDEFINED SYMBOLS HAL_DMA_Start_IT HAL_DMA_Abort HAL_DMA_GetError HAL_DMA_Abort_IT HAL_UARTEx_WakeupCallback HAL_UARTEx_TxFifoEmptyCallback HAL_UARTEx_RxFifoFullCallback HAL_RCC_GetPCLK1Freq HAL_RCC_GetSysClockFreq __aeabi_uldivmod HAL_RCC_GetPCLK2Freq HAL_GetTick