ARM GAS /tmp/cceWHrnJ.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/cceWHrnJ.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/cceWHrnJ.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 (surcharged) 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 (surcharged) 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 (surcharged) 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/cceWHrnJ.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 (surcharged) 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_EndTxTransfer(UART_HandleTypeDef *huart); 201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart); 202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma); ARM GAS /tmp/cceWHrnJ.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/cceWHrnJ.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/cceWHrnJ.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 **** /* Set the UART Communication parameters */ 352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR) 353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT) 358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_AdvFeatureConfig(huart); 360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* In asynchronous mode, the following bits must be kept cleared: 363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register, 364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register.*/ 365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN)); 366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); 367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_ENABLE(huart); 369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ 371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 8 374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Initialize the half-duplex mode according to the specified 376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * parameters in the UART_InitTypeDef and creates the associated handle. 377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_Init(UART_HandleTypeDef *huart) 381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */ 383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart == NULL) 384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check UART instance */ 389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_HALFDUPLEX_INSTANCE(huart->Instance)); 390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET) 392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Allocate lock resource and initialize it */ 394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED; 395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_InitCallbacksToDefault(huart); 398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->MspInitCallback == NULL) 400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Init the low level hardware */ 405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspInitCallback(huart); 406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */ 408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_MspInit(huart); 409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART Communication parameters */ 417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR) 418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT) 423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_AdvFeatureConfig(huart); 425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* In half-duplex mode, the following bits must be kept cleared: 428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register, 429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - SCEN and IREN bits in the USART_CR3 register.*/ 430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN)); ARM GAS /tmp/cceWHrnJ.s page 9 431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN)); 432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the Half-Duplex mode by setting the HDSEL bit in the CR3 register */ 434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_HDSEL); 435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_ENABLE(huart); 437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ 439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Initialize the LIN mode according to the specified 445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * parameters in the UART_InitTypeDef and creates the associated handle. 446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param BreakDetectLength Specifies the LIN break detection length. 448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This parameter can be one of the following values: 449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref UART_LINBREAKDETECTLENGTH_10B 10-bit break detection 450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref UART_LINBREAKDETECTLENGTH_11B 11-bit break detection 451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_Init(UART_HandleTypeDef *huart, uint32_t BreakDetectLength) 454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */ 456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart == NULL) 457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the LIN UART instance */ 462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_LIN_INSTANCE(huart->Instance)); 463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the Break detection length parameter */ 464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_LIN_BREAK_DETECT_LENGTH(BreakDetectLength)); 465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* LIN mode limited to 16-bit oversampling only */ 467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->Init.OverSampling == UART_OVERSAMPLING_8) 468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* LIN mode limited to 8-bit data length */ 472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->Init.WordLength != UART_WORDLENGTH_8B) 473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET) 478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Allocate lock resource and initialize it */ 480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED; 481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_InitCallbacksToDefault(huart); 484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->MspInitCallback == NULL) 486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; ARM GAS /tmp/cceWHrnJ.s page 10 488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Init the low level hardware */ 491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspInitCallback(huart); 492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */ 494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_MspInit(huart); 495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART Communication parameters */ 503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR) 504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT) 509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_AdvFeatureConfig(huart); 511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* In LIN mode, the following bits must be kept cleared: 514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register, 515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - SCEN and IREN bits in the USART_CR3 register.*/ 516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_CLKEN); 517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN)); 518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the LIN mode by setting the LINEN bit in the CR2 register */ 520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, USART_CR2_LINEN); 521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the USART LIN Break detection length. */ 523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_LBDL, BreakDetectLength); 524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_ENABLE(huart); 526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ 528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Initialize the multiprocessor mode according to the specified 534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * parameters in the UART_InitTypeDef and initialize the associated handle. 535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Address UART node address (4-, 6-, 7- or 8-bit long). 537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param WakeUpMethod Specifies the UART wakeup method. 538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This parameter can be one of the following values: 539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref UART_WAKEUPMETHOD_IDLELINE WakeUp by an idle line detection 540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref UART_WAKEUPMETHOD_ADDRESSMARK WakeUp by an address mark 541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note If the user resorts to idle line detection wake up, the Address parameter 542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * is useless and ignored by the initialization function. 543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note If the user resorts to address mark wake up, the address length detection 544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * is configured by default to 4 bits only. For the UART to be able to ARM GAS /tmp/cceWHrnJ.s page 11 545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * manage 6-, 7- or 8-bit long addresses detection, the API 546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * HAL_MultiProcessorEx_AddressLength_Set() must be called after 547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * HAL_MultiProcessor_Init(). 548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_Init(UART_HandleTypeDef *huart, uint8_t Address, uint32_t Wake 551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */ 553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart == NULL) 554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the wake up method parameter */ 559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_WAKEUPMETHOD(WakeUpMethod)); 560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET) 562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Allocate lock resource and initialize it */ 564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED; 565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_InitCallbacksToDefault(huart); 568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->MspInitCallback == NULL) 570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Init the low level hardware */ 575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspInitCallback(huart); 576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */ 578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_MspInit(huart); 579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART Communication parameters */ 587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR) 588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT) 593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_AdvFeatureConfig(huart); 595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* In multiprocessor mode, the following bits must be kept cleared: 598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register, 599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register. */ 600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN)); 601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); ARM GAS /tmp/cceWHrnJ.s page 12 602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (WakeUpMethod == UART_WAKEUPMETHOD_ADDRESSMARK) 604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If address mark wake up method is chosen, set the USART address node */ 606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ADD, ((uint32_t)Address << UART_CR2_ADDRESS_LSB_POS) 607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the wake up method by setting the WAKE bit in the CR1 register */ 610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_WAKE, WakeUpMethod); 611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_ENABLE(huart); 613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ 615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DeInitialize the UART peripheral. 621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DeInit(UART_HandleTypeDef *huart) 625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */ 627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart == NULL) 628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the parameters */ 633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param((IS_UART_INSTANCE(huart->Instance)) || (IS_LPUART_INSTANCE(huart->Instance))); 634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->CR1 = 0x0U; 640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->CR2 = 0x0U; 641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->CR3 = 0x0U; 642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->MspDeInitCallback == NULL) 645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; 647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* DeInit the low level hardware */ 649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspDeInitCallback(huart); 650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* DeInit the low level hardware */ 652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_MspDeInit(huart); 653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET; 657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET; 658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; ARM GAS /tmp/cceWHrnJ.s page 13 659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Initialize the UART MSP. 667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_MspInit(UART_HandleTypeDef *huart) 671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart); 674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UART_MspInit can be implemented in the user file 677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DeInitialize the UART MSP. 682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_MspDeInit(UART_HandleTypeDef *huart) 686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart); 689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 690:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UART_MspDeInit can be implemented in the user file 692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Register a User UART Callback 698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * To be used instead of the weak predefined callback 699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart uart handle 700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param CallbackID ID of the callback to be registered 701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This parameter can be one of the following values: 702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID 703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID 704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID 705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID 706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID 707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID 708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID 709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID 710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_WAKEUP_CB_ID Wakeup Callback ID 711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_FIFO_FULL_CB_ID Rx Fifo Full Callback ID 712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_FIFO_EMPTY_CB_ID Tx Fifo Empty Callback ID 713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID 714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID 715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param pCallback pointer to the Callback function ARM GAS /tmp/cceWHrnJ.s page 14 716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef C 719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pUART_CallbackTypeDef pCallback) 720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK; 722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (pCallback == NULL) 724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** switch (CallbackID) 735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID : 737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxHalfCpltCallback = pCallback; 738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID : 741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxCpltCallback = pCallback; 742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID : 745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxHalfCpltCallback = pCallback; 746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID : 749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxCpltCallback = pCallback; 750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID : 753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCallback = pCallback; 754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID : 757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortCpltCallback = pCallback; 758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID : 761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortTransmitCpltCallback = pCallback; 762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID : 765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortReceiveCpltCallback = pCallback; 766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_WAKEUP_CB_ID : 769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->WakeupCallback = pCallback; 770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_RX_FIFO_FULL_CB_ID : ARM GAS /tmp/cceWHrnJ.s page 15 773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxFifoFullCallback = pCallback; 774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_TX_FIFO_EMPTY_CB_ID : 777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxFifoEmptyCallback = pCallback; 778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID : 781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspInitCallback = pCallback; 782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID : 785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspDeInitCallback = pCallback; 786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** default : 789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** status = HAL_ERROR; 792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else if (huart->gState == HAL_UART_STATE_RESET) 796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** switch (CallbackID) 798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID : 800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspInitCallback = pCallback; 801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID : 804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspDeInitCallback = pCallback; 805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** default : 808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** status = HAL_ERROR; 811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** status = HAL_ERROR; 819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return status; 824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Unregister an UART Callback 828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * UART callaback is redirected to the weak predefined callback 829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart uart handle ARM GAS /tmp/cceWHrnJ.s page 16 830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param CallbackID ID of the callback to be unregistered 831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This parameter can be one of the following values: 832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID 833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID 834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID 835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID 836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID 837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID 838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID 839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID 840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_WAKEUP_CB_ID Wakeup Callback ID 841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_FIFO_FULL_CB_ID Rx Fifo Full Callback ID 842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_FIFO_EMPTY_CB_ID Tx Fifo Empty Callback ID 843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID 844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID 845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef 848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK; 850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_UART_STATE_READY == huart->gState) 854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** switch (CallbackID) 856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID : 858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHa 859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID : 862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpl 863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID : 866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHal 867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID : 870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpl 871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID : 874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak Error 875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID : 878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak Abort 879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID : 882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak 883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** AbortTransmitCplt 884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID : ARM GAS /tmp/cceWHrnJ.s page 17 887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak 888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** AbortReceiveCpltC 889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_WAKEUP_CB_ID : 892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->WakeupCallback = HAL_UARTEx_WakeupCallback; /* Legacy weak Wakeu 893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_RX_FIFO_FULL_CB_ID : 896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxFifoFullCallback = HAL_UARTEx_RxFifoFullCallback; /* Legacy weak RxFif 897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_TX_FIFO_EMPTY_CB_ID : 900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxFifoEmptyCallback = HAL_UARTEx_TxFifoEmptyCallback; /* Legacy weak TxFif 901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID : 904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; /* Legacy weak MspIn 905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID : 908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; /* Legacy weak MspDe 909:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** default : 912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** status = HAL_ERROR; 915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else if (HAL_UART_STATE_RESET == huart->gState) 919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** switch (CallbackID) 921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID : 923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID : 927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; 928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** default : 931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** status = HAL_ERROR; 934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 938:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** status = HAL_ERROR; 942:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 18 944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return status; 947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Register a User UART Rx Event Callback 951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * To be used instead of the weak predefined callback 952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart Uart handle 953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param pCallback Pointer to the Rx Event Callback function 954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterRxEventCallback(UART_HandleTypeDef *huart, pUART_RxEventCallback 957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK; 959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (pCallback == NULL) 961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Process locked */ 968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback = pCallback; 973:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 974:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** status = HAL_ERROR; 979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Release Lock */ 982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return status; 985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 988:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief UnRegister the UART Rx Event Callback 989:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * UART Rx Event Callback is redirected to the weak HAL_UARTEx_RxEventCallback() predefine 990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart Uart handle 991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterRxEventCallback(UART_HandleTypeDef *huart) 994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK; 996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Process locked */ 998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) ARM GAS /tmp/cceWHrnJ.s page 19 1001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback = HAL_UARTEx_RxEventCallback; /* Legacy weak UART Rx Event Callback */ 1003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 1007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** status = HAL_ERROR; 1009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Release Lock */ 1012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 1013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return status; 1014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 1017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 1019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @} 1020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 1021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group2 IO operation functions 1023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief UART Transmit/Receive functions 1024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * 1025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @verbatim 1026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** =============================================================================== 1027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ##### IO operation functions ##### 1028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** =============================================================================== 1029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** This subsection provides a set of functions allowing to manage the UART asynchronous 1030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** and Half duplex data transfers. 1031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) There are two mode of transfer: 1033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) Blocking mode: The communication is performed in polling mode. 1034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** The HAL status of all data processing is returned by the same function 1035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** after finishing transfer. 1036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) Non-Blocking mode: The communication is performed using Interrupts 1037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** or DMA, These API's return the HAL status. 1038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** The end of the data processing will be indicated through the 1039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** dedicated UART IRQ when using Interrupt mode or the DMA IRQ when 1040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** using DMA mode. 1041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** The HAL_UART_TxCpltCallback(), HAL_UART_RxCpltCallback() user callbacks 1042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** will be executed respectively at the end of the transmit or Receive process 1043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** The HAL_UART_ErrorCallback()user callback will be executed when a communication error is 1044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) Blocking mode API's are : 1046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_Transmit() 1047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_Receive() 1048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) Non-Blocking mode API's with Interrupt are : 1050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_Transmit_IT() 1051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_Receive_IT() 1052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_IRQHandler() 1053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) Non-Blocking mode API's with DMA are : 1055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_Transmit_DMA() 1056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_Receive_DMA() 1057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_DMAPause() ARM GAS /tmp/cceWHrnJ.s page 20 1058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_DMAResume() 1059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_DMAStop() 1060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) A set of Transfer Complete Callbacks are provided in Non_Blocking mode: 1062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_TxHalfCpltCallback() 1063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_TxCpltCallback() 1064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_RxHalfCpltCallback() 1065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_RxCpltCallback() 1066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_ErrorCallback() 1067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) Non-Blocking mode transfers could be aborted using Abort API's : 1069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_Abort() 1070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_AbortTransmit() 1071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_AbortReceive() 1072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_Abort_IT() 1073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_AbortTransmit_IT() 1074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_AbortReceive_IT() 1075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) For Abort services based on interrupts (HAL_UART_Abortxxx_IT), a set of Abort Complete Call 1077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_AbortCpltCallback() 1078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_AbortTransmitCpltCallback() 1079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_AbortReceiveCpltCallback() 1080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) A Rx Event Reception Callback (Rx event notification) is available for Non_Blocking modes o 1082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** reception services: 1083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UARTEx_RxEventCallback() 1084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) In Non-Blocking mode transfers, possible errors are split into 2 categories. 1086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Errors are handled as follows : 1087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) Error is considered as Recoverable and non blocking : Transfer could go till end, but er 1088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** to be evaluated by user : this concerns Frame Error, Parity Error or Noise Error 1089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** in Interrupt mode reception . 1090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Received character is then retrieved and stored in Rx buffer, Error code is set to allow 1091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** to identify error type, and HAL_UART_ErrorCallback() user callback is executed. 1092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Transfer is kept ongoing on UART side. 1093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** If user wants to abort it, Abort services should be called by user. 1094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) Error is considered as Blocking : Transfer could not be completed properly and is aborte 1095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** This concerns Overrun Error In Interrupt mode reception and all errors in DMA mode. 1096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Error code is set to allow user to identify error type, and HAL_UART_ErrorCallback() 1097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** user callback is executed. 1098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** -@- In the Half duplex communication, it is forbidden to run the transmit 1100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** and receive process in parallel, the UART state HAL_UART_STATE_BUSY_TX_RX can't be useful. 1101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @endverbatim 1103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @{ 1104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 1105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 1107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Send an amount of data in blocking mode. 1108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number 1110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * of u16 provided through pData. 1111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note When FIFO mode is enabled, writing a data in the TDR register adds one 1112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * data to the TXFIFO. Write operations to the TDR register are performed 1113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * when TXFNF flag is set. From hardware perspective, TXFNF flag and 1114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * TXE are mapped on the same bit-field. ARM GAS /tmp/cceWHrnJ.s page 21 1115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 1116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent. 1118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Timeout Timeout duration. 1119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 1120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 1121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Size, 1122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const uint8_t *pdata8bits; 1124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const uint16_t *pdata16bits; 1125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t tickstart; 1126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 1129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 1133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 1136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Init tickstart for timeout management */ 1141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tickstart = HAL_GetTick(); 1142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferSize = Size; 1144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = Size; 1145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pData needs to be handled as a uint16_t pointer */ 1147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 1148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits = NULL; 1150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits = (const uint16_t *) pData; 1151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits = pData; 1155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits = NULL; 1156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 1159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** while (huart->TxXferCount > 0U) 1161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK) 1163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT; 1165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (pdata8bits == NULL) 1167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->TDR = (uint16_t)(*pdata16bits & 0x01FFU); 1169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits++; 1170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else ARM GAS /tmp/cceWHrnJ.s page 22 1172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->TDR = (uint8_t)(*pdata8bits & 0xFFU); 1174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits++; 1175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; 1177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TC, RESET, tickstart, Timeout) != HAL_OK) 1180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT; 1182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */ 1185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 1188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_BUSY; 1192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 1196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Receive an amount of data in blocking mode. 1197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb 1199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * of u16 available through pData. 1200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note When FIFO mode is enabled, the RXFNE flag is set as long as the RXFIFO 1201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * is not empty. Read operations from the RDR register are performed when 1202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * RXFNE flag is set. From hardware perspective, RXFNE flag and 1203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * RXNE are mapped on the same bit-field. 1204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 1205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 1207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Timeout Timeout duration. 1208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 1209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 1210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32 1211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint8_t *pdata8bits; 1213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t *pdata16bits; 1214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t uhMask; 1215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t tickstart; 1216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 1218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) 1219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 1223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 1226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; ARM GAS /tmp/cceWHrnJ.s page 23 1229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Init tickstart for timeout management */ 1232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tickstart = HAL_GetTick(); 1233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferSize = Size; 1235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = Size; 1236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Computation of UART mask to apply to RDR register */ 1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_MASK_COMPUTATION(huart); 1239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask; 1240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pRxData needs to be handled as a uint16_t pointer */ 1242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 1243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits = NULL; 1245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 1246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits = pData; 1250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits = NULL; 1251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 1254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* as long as data have to be received */ 1256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** while (huart->RxXferCount > 0U) 1257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_RXNE, RESET, tickstart, Timeout) != HAL_OK) 1259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT; 1261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (pdata8bits == NULL) 1263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *pdata16bits = (uint16_t)(huart->Instance->RDR & uhMask); 1265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits++; 1266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->RDR & (uint8_t)uhMask); 1270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits++; 1271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 1273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 1276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 1279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_BUSY; 1283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 24 1286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 1287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Send an amount of data in interrupt mode. 1288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number 1290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * of u16 provided through pData. 1291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 1292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent. 1294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 1295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 1296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Si 1297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 1300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 1304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 1307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr = pData; 1309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferSize = Size; 1310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = Size; 1311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL; 1312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Configure Tx interrupt processing */ 1317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->FifoMode == UART_FIFOMODE_ENABLE) 1318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the Tx ISR function pointer according to the data word length */ 1320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE 1321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = UART_TxISR_16BIT_FIFOEN; 1323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = UART_TxISR_8BIT_FIFOEN; 1327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 1330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the TX FIFO threshold interrupt */ 1332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 1333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the Tx ISR function pointer according to the data word length */ 1337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE 1338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = UART_TxISR_16BIT; 1340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cceWHrnJ.s page 25 1343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = UART_TxISR_8BIT; 1344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 1347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the Transmit Data Register Empty interrupt */ 1349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TXEIE_TXFNFIE); 1350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 1353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_BUSY; 1357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 1361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Receive an amount of data in interrupt mode. 1362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb 1364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * of u16 available through pData. 1365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 1366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 1368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 1369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 1370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 1371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 1373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) 1374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 1378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 1381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set Reception type to Standard reception */ 1383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance))) 1386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that USART RTOEN bit is set */ 1388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U) 1389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */ 1391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RTOIE); 1392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return (UART_Start_Receive_IT(huart, pData, Size)); 1396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_BUSY; ARM GAS /tmp/cceWHrnJ.s page 26 1400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 1404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Send an amount of data in DMA mode. 1405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number 1407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * of u16 provided through pData. 1408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 1409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent. 1411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 1412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 1413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t S 1414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 1417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 1421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 1424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr = pData; 1426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferSize = Size; 1427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = Size; 1428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmatx != NULL) 1433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */ 1435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferCpltCallback = UART_DMATransmitCplt; 1436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */ 1438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferHalfCpltCallback = UART_DMATxHalfCplt; 1439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the DMA error callback */ 1441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferErrorCallback = UART_DMAError; 1442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the DMA abort callback */ 1444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART transmit DMA channel */ 1447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Start_IT(huart->hdmatx, (uint32_t)huart->pTxBuffPtr, (uint32_t)&huart->Instance-> 1448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set error code to DMA */ 1450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 1453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->gState to ready */ 1455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 27 1457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 1458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the TC flag in the ICR register */ 1461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_TCF); 1462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 1464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the DMA transfer for transmit request by setting the DMAT bit 1466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** in the UART CR3 register */ 1467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 1470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_BUSY; 1474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 1478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Receive an amount of data in DMA mode. 1479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note When the UART parity is enabled (PCE = 1), the received data contain 1480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the parity bit (MSB position). 1481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb 1483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * of u16 available through pData. 1484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 1485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 1487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 1488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 1489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 1490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 1492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) 1493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 1497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 1500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set Reception type to Standard reception */ 1502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance))) 1505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that USART RTOEN bit is set */ 1507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U) 1508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */ 1510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RTOIE); 1511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 28 1514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return (UART_Start_Receive_DMA(huart, pData, Size)); 1515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_BUSY; 1519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 1523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Pause the DMA Transfer. 1524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 1525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 1526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 1527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAPause(UART_HandleTypeDef *huart) 1528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; 1530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 1533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) && 1535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART DMA Tx request */ 1538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) && 1541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */ 1544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); 1545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART DMA Rx request */ 1548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 1552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 1554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 1557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Resume the DMA Transfer. 1558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 1559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 1560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 1561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAResume(UART_HandleTypeDef *huart) 1562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 1564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) 1566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART DMA Tx request */ 1568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX) ARM GAS /tmp/cceWHrnJ.s page 29 1571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the Overrun flag before resuming the Rx transfer */ 1573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF); 1574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Re-enable PE and ERR (Frame error, noise error, overrun error) interrupts */ 1576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE) 1577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE); 1579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE); 1581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART DMA Rx request */ 1583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 1587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 1589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 1592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Stop the DMA Transfer. 1593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 1594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 1595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 1596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAStop(UART_HandleTypeDef *huart) 1597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application 1599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** to call the HAL UART API under callbacks HAL_UART_TxCpltCallback() / HAL_UART_RxCpltCallback() 1600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_TxHalfCpltCallback / HAL_UART_RxHalfCpltCallback: 1601: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 1602: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 1603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the stream and the corresponding call back is executed. */ 1604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; 1606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */ 1609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) && 1610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Tx channel */ 1615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmatx != NULL) 1616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK) 1618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT) 1620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set error code to DMA */ 1622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT; 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 **** } ARM GAS /tmp/cceWHrnJ.s page 30 1628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_EndTxTransfer(huart); 1630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */ 1633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) && 1634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Rx channel */ 1639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmarx != NULL) 1640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK) 1642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT) 1644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set error code to DMA */ 1646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT; 1649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_EndRxTransfer(huart); 1654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 1657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 1660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Abort ongoing transfers (blocking mode). 1661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 1662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or 1663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This procedure performs following operations : 1664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx) 1665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) 1667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Set handle State to READY 1668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere 1669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 1670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 1671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort(UART_HandleTypeDef *huart) 1672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1673: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 1674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE | 1675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE | USART_CR1_TCIE)); 1676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE | USART_CR3_TXFTIE); 1677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */ 1679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 1680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE)); 1682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Tx channel if enabled */ ARM GAS /tmp/cceWHrnJ.s page 31 1685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 1686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */ 1688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1690:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use blocking DMA Abort API (no callback) */ 1691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmatx != NULL) 1692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null. 1694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** No call back execution at end of DMA abort procedure */ 1695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK) 1698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT) 1700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set error code to DMA */ 1702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT; 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 **** } 1708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */ 1711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 1712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 1714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use blocking DMA Abort API (no callback) */ 1717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmarx != NULL) 1718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null. 1720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** No call back execution at end of DMA abort procedure */ 1721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 1722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK) 1724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT) 1726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set error code to DMA */ 1728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT; 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 **** } 1735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */ 1737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U; 1738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 1739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 1741: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); ARM GAS /tmp/cceWHrnJ.s page 32 1742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Flush the whole TX FIFO (if needed) */ 1744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->FifoMode == UART_FIFOMODE_ENABLE) 1745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_TXDATA_FLUSH_REQUEST); 1747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Discard the received data */ 1750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 1751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */ 1753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 1760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 1763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (blocking mode). 1764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 1765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt 1766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This procedure performs following operations : 1767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable UART Interrupts (Tx) 1768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) 1770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Set handle State to READY 1771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere 1772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 1773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 1774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit(UART_HandleTypeDef *huart) 1775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable TCIE, TXEIE and TXFTIE interrupts */ 1777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TCIE | USART_CR1_TXEIE_TXFNFIE)); 1778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 1779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Tx channel if enabled */ 1781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 1782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */ 1784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use blocking DMA Abort API (no callback) */ 1787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmatx != NULL) 1788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null. 1790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** No call back execution at end of DMA abort procedure */ 1791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK) 1794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT) 1796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set error code to DMA */ 1798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; ARM GAS /tmp/cceWHrnJ.s page 33 1799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT; 1801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset Tx transfer counter */ 1807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U; 1808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Flush the whole TX FIFO (if needed) */ 1810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->FifoMode == UART_FIFOMODE_ENABLE) 1811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_TXDATA_FLUSH_REQUEST); 1813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->gState to Ready */ 1816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 1819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 1822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (blocking mode). 1823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 1824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt 1825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This procedure performs following operations : 1826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable UART Interrupts (Rx) 1827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) 1829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Set handle State to READY 1830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere 1831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 1832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 1833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive(UART_HandleTypeDef *huart) 1834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable PEIE, EIE, RXNEIE and RXFTIE interrupts */ 1836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_PEIE | USART_CR1_RXNEIE_RXFNEIE)); 1837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE); 1838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */ 1840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 1841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE)); 1843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */ 1846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 1847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 1849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use blocking DMA Abort API (no callback) */ 1852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmarx != NULL) 1853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null. 1855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** No call back execution at end of DMA abort procedure */ ARM GAS /tmp/cceWHrnJ.s page 34 1856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 1857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK) 1859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT) 1861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set error code to DMA */ 1863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT; 1866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset Rx transfer counter */ 1872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 1873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 1875: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); 1876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Discard the received data */ 1878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 1879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->RxState to Ready */ 1881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 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 **** /** 1888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Abort ongoing transfers (Interrupt mode). 1889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 1890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or 1891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This procedure performs following operations : 1892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx) 1893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1894: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) 1895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Set handle State to READY 1896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - At abort completion, call user abort complete callback 1897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be 1898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex 1899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 1900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 1901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort_IT(UART_HandleTypeDef *huart) 1902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t abortcplt = 1U; 1904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable interrupts */ 1906: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 1907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 1908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE | USART_CR3_TXFTIE)); 1909:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */ 1911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 1912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cceWHrnJ.s page 35 1913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE)); 1914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1916: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 1917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** before any call to DMA Abort functions */ 1918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* DMA Tx Handle is valid */ 1919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmatx != NULL) 1920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Tx request if enabled. 1922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Otherwise, set it to NULL */ 1923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 1924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxAbortCallback; 1926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* DMA Rx Handle is valid */ 1933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmarx != NULL) 1934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Rx request if enabled. 1936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Otherwise, set it to NULL */ 1937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 1938:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxAbortCallback; 1940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1942:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 1944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Tx channel if enabled */ 1948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 1949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable DMA Tx at UART level */ 1951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */ 1954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmatx != NULL) 1955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART Tx DMA Abort callback has already been initialised : 1957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ 1958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort DMA TX */ 1960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK) 1961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** abortcplt = 0U; 1967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cceWHrnJ.s page 36 1970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */ 1972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 1973:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1974:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 1975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */ 1978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmarx != NULL) 1979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART Rx DMA Abort callback has already been initialised : 1981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ 1982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort DMA RX */ 1984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) 1985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 1987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** abortcplt = 1U; 1988:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1989:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 1990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** abortcplt = 0U; 1992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* if no DMA abort complete callback execution is required => call user Abort Complete callback * 1997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (abortcplt == 1U) 1998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */ 2000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U; 2001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 2002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear ISR function pointers */ 2004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL; 2005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL; 2006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset errorCode */ 2008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 2009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 2011: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 2012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Flush the whole TX FIFO (if needed) */ 2014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->FifoMode == UART_FIFOMODE_ENABLE) 2015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_TXDATA_FLUSH_REQUEST); 2017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Discard the received data */ 2020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 2021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */ 2023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 37 2027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 2028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Abort complete callback */ 2030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortCpltCallback(huart); 2031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 2032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Abort complete callback */ 2033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart); 2034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 2038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (Interrupt mode). 2042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt 2044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This procedure performs following operations : 2045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable UART Interrupts (Tx) 2046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 2047: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) 2048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Set handle State to READY 2049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - At abort completion, call user abort complete callback 2050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be 2051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex 2052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 2053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit_IT(UART_HandleTypeDef *huart) 2055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable interrupts */ 2057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TCIE | USART_CR1_TXEIE_TXFNFIE)); 2058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 2059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Tx channel if enabled */ 2061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 2062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */ 2064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 2065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */ 2067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmatx != NULL) 2068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA Abort callback : 2070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ 2071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxOnlyAbortCallback; 2072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort DMA TX */ 2074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK) 2075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call Directly huart->hdmatx->XferAbortCallback function in case of error */ 2077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback(huart->hdmatx); 2078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 2081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset Tx transfer counter */ 2083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U; ARM GAS /tmp/cceWHrnJ.s page 38 2084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear TxISR function pointers */ 2086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL; 2087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->gState to Ready */ 2089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 2092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */ 2094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart); 2095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 2096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */ 2097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart); 2098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 2102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset Tx transfer counter */ 2104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U; 2105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear TxISR function pointers */ 2107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL; 2108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Flush the whole TX FIFO (if needed) */ 2110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->FifoMode == UART_FIFOMODE_ENABLE) 2111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_TXDATA_FLUSH_REQUEST); 2113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->gState to Ready */ 2116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 2119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */ 2121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart); 2122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 2123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */ 2124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart); 2125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 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 **** return HAL_OK; 2129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (Interrupt mode). 2133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt 2135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This procedure performs following operations : 2136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable UART Interrupts (Rx) 2137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 2138: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) 2139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Set handle State to READY 2140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - At abort completion, call user abort complete callback ARM GAS /tmp/cceWHrnJ.s page 39 2141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be 2142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex 2143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 2144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive_IT(UART_HandleTypeDef *huart) 2146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 2148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_PEIE | USART_CR1_RXNEIE_RXFNEIE)); 2149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 2150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */ 2152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 2153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE)); 2155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */ 2158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 2159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 2161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 2162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */ 2164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmarx != NULL) 2165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA Abort callback : 2167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ 2168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxOnlyAbortCallback; 2169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort DMA RX */ 2171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) 2172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */ 2174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx); 2175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 2178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset Rx transfer counter */ 2180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 2181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear RxISR function pointer */ 2183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr = NULL; 2184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 2186: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 2187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Discard the received data */ 2189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 2190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->RxState to Ready */ 2192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 2196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */ ARM GAS /tmp/cceWHrnJ.s page 40 2198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart); 2199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 2200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */ 2201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart); 2202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 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 **** else 2206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset Rx transfer counter */ 2208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 2209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear RxISR function pointer */ 2211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr = NULL; 2212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 2214: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 2215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->RxState to Ready */ 2217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 2221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */ 2223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart); 2224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 2225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */ 2226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart); 2227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 2231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 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 **** * @brief Handle UART interrupt request. 2235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 2237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** void HAL_UART_IRQHandler(UART_HandleTypeDef *huart) 2239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR); 2241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 2242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3); 2243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t errorflags; 2245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t errorcode; 2246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If no error occurs */ 2248: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 | 2249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (errorflags == 0U) 2250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART in mode Receiver ---------------------------------------------------*/ 2252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_RXNE_RXFNE) != 0U) 2253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U) 2254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** || ((cr3its & USART_CR3_RXFTIE) != 0U))) ARM GAS /tmp/cceWHrnJ.s page 41 2255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxISR != NULL) 2257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR(huart); 2259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return; 2261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 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 **** /* If some errors occur */ 2265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((errorflags != 0U) 2266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && ((((cr3its & (USART_CR3_RXFTIE | USART_CR3_EIE)) != 0U) 2267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U)))) 2268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART parity error interrupt occurred -------------------------------------*/ 2270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_PE) != 0U) && ((cr1its & USART_CR1_PEIE) != 0U)) 2271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_PEF); 2273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_PE; 2275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART frame error interrupt occurred --------------------------------------*/ 2278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_FE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U)) 2279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_FEF); 2281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_FE; 2283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART noise error interrupt occurred --------------------------------------*/ 2286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_NE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U)) 2287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_NEF); 2289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_NE; 2291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART Over-Run interrupt occurred -----------------------------------------*/ 2294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_ORE) != 0U) 2295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U) || 2296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ((cr3its & (USART_CR3_RXFTIE | USART_CR3_EIE)) != 0U))) 2297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF); 2299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_ORE; 2301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART Receiver Timeout interrupt occurred ---------------------------------*/ 2304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_RTOF) != 0U) && ((cr1its & USART_CR1_RTOIE) != 0U)) 2305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_RTOF); 2307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_RTO; 2309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call UART Error Call back function if need be ----------------------------*/ ARM GAS /tmp/cceWHrnJ.s page 42 2312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ErrorCode != HAL_UART_ERROR_NONE) 2313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART in mode Receiver --------------------------------------------------*/ 2315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_RXNE_RXFNE) != 0U) 2316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U) 2317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** || ((cr3its & USART_CR3_RXFTIE) != 0U))) 2318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxISR != NULL) 2320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR(huart); 2322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If Error is to be considered as blocking : 2326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - Receiver Timeout error in Reception 2327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - Overrun error in Reception 2328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - any error occurs in DMA mode reception 2329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** errorcode = huart->ErrorCode; 2331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) || 2332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 2333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Blocking error : transfer is aborted 2335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Set the UART state ready to be able to start again the process, 2336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Disable Rx Interrupts, and disable Rx DMA request, if ongoing */ 2337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_EndRxTransfer(huart); 2338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */ 2340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 2341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 2343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 2344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Rx channel */ 2346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmarx != NULL) 2347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA Abort callback : 2349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** will lead to call HAL_UART_ErrorCallback() at end of DMA abort procedure */ 2350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMAAbortOnError; 2351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort DMA RX */ 2353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) 2354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */ 2356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx); 2357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 2360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call user error callback */ 2362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered error callback*/ 2364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCallback(huart); 2365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 2366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak error callback*/ 2367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 2368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ ARM GAS /tmp/cceWHrnJ.s page 43 2369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 2373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call user error callback */ 2375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered error callback*/ 2377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCallback(huart); 2378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 2379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak error callback*/ 2380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 2381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 2385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Non Blocking error : transfer could go on. 2387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Error is notified to user through user error callback */ 2388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered error callback*/ 2390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCallback(huart); 2391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 2392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak error callback*/ 2393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 2394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 2396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return; 2399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } /* End if some error occurs */ 2401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check current reception Mode : 2403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** If Reception till IDLE event has been selected : */ 2404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 2405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U) 2406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && ((cr1its & USART_ISR_IDLE) != 0U)) 2407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF); 2409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check if DMA mode is enabled in UART */ 2411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 2412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* DMA mode enabled */ 2414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check received length : If all expected data are received, do nothing, 2415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (DMA cplt callback will be called). 2416: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 2417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t nb_remaining_rx_data = (uint16_t) __HAL_DMA_GET_COUNTER(huart->hdmarx); 2418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U) 2419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize)) 2420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reception is not complete */ 2422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = nb_remaining_rx_data; 2423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* In Normal mode, end DMA xfer and HAL UART Rx process*/ 2425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_CLR(huart->hdmarx->Instance->CCR, DMA_CCR_CIRC)) ARM GAS /tmp/cceWHrnJ.s page 44 2426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */ 2428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); 2429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by resetting the DMAR bit 2432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** in the UART CR3 register */ 2433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 2434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 2436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 2440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Last bytes received, so no need as the abort is immediate */ 2442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (void)HAL_DMA_Abort(huart->hdmarx); 2443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx Event callback*/ 2446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount)); 2447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 2448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 2449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount)); 2450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 2451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return; 2453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 2455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* DMA mode not enabled */ 2457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check received length : If all expected data are received, do nothing. 2458: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 2459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t nb_rx_data = huart->RxXferSize - huart->RxXferCount; 2460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 2461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (nb_rx_data > 0U)) 2462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupts */ 2464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE)); 2465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Error Interrupt:(Frame error, noise error, overrun error) and RX FIFO T 2467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 2468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */ 2470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear RxISR function pointer */ 2474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL; 2475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 2477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx complete callback*/ 2479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback(huart, nb_rx_data); 2480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 2481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 2482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, nb_rx_data); ARM GAS /tmp/cceWHrnJ.s page 45 2483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 2484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return; 2486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART wakeup from Stop mode interrupt occurred ---------------------------*/ 2490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_WUF) != 0U) && ((cr3its & USART_CR3_WUFIE) != 0U)) 2491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_WUF); 2493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART Rx state is not reset as a reception process might be ongoing. 2495: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 2496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Wakeup Callback */ 2499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->WakeupCallback(huart); 2500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 2501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Wakeup Callback */ 2502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_WakeupCallback(huart); 2503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return; 2505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART in mode Transmitter ------------------------------------------------*/ 2508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_TXE_TXFNF) != 0U) 2509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (((cr1its & USART_CR1_TXEIE_TXFNFIE) != 0U) 2510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** || ((cr3its & USART_CR3_TXFTIE) != 0U))) 2511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->TxISR != NULL) 2513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR(huart); 2515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return; 2517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART in mode Transmitter (transmission end) -----------------------------*/ 2520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_TC) != 0U) && ((cr1its & USART_CR1_TCIE) != 0U)) 2521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_EndTransmit_IT(huart); 2523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return; 2524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART TX Fifo Empty occurred ----------------------------------------------*/ 2527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_TXFE) != 0U) && ((cr1its & USART_CR1_TXFEIE) != 0U)) 2528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Tx Fifo Empty Callback */ 2531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxFifoEmptyCallback(huart); 2532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 2533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Tx Fifo Empty Callback */ 2534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_TxFifoEmptyCallback(huart); 2535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return; 2537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART RX Fifo Full occurred ----------------------------------------------*/ ARM GAS /tmp/cceWHrnJ.s page 46 2540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_RXFF) != 0U) && ((cr1its & USART_CR1_RXFFIE) != 0U)) 2541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Rx Fifo Full Callback */ 2544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxFifoFullCallback(huart); 2545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 2546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Rx Fifo Full Callback */ 2547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_RxFifoFullCallback(huart); 2548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return; 2550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Tx Transfer completed callback. 2555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 2557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart) 2559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart); 2562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UART_TxCpltCallback can be implemented in the user file. 2565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Tx Half Transfer completed callback. 2570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 2572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart) 2574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart); 2577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed, 2579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UART_TxHalfCpltCallback can be implemented in the user file. 2580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Rx Transfer completed callback. 2585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 2587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) 2589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart); 2592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UART_RxCpltCallback can be implemented in the user file. 2595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cceWHrnJ.s page 47 2597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Rx Half Transfer completed callback. 2600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 2602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart) 2604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart); 2607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed, 2609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UART_RxHalfCpltCallback can be implemented in the user file. 2610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief UART error callback. 2615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 2617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart) 2619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart); 2622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UART_ErrorCallback can be implemented in the user file. 2625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief UART Abort Complete callback. 2630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 2632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_AbortCpltCallback(UART_HandleTypeDef *huart) 2634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart); 2637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UART_AbortCpltCallback can be implemented in the user file. 2640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief UART Abort Complete callback. 2645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 2647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_AbortTransmitCpltCallback(UART_HandleTypeDef *huart) 2649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart); 2652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, ARM GAS /tmp/cceWHrnJ.s page 48 2654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UART_AbortTransmitCpltCallback can be implemented in the user file. 2655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief UART Abort Receive Complete callback. 2660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 2662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_AbortReceiveCpltCallback(UART_HandleTypeDef *huart) 2664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart); 2667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UART_AbortReceiveCpltCallback can be implemented in the user file. 2670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Reception Event Callback (Rx event notification called after use of advanced reception 2675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle 2676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Size Number of data available in application reception buffer (indicates a position in 2677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * reception buffer until which, data are available) 2678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 2679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size) 2681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart); 2684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(Size); 2685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UARTEx_RxEventCallback can be implemented in the user file. 2688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2690:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @} 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 **** /** @defgroup UART_Exported_Functions_Group3 Peripheral Control functions 2696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief UART control functions 2697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * 2698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @verbatim 2699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** =============================================================================== 2700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ##### Peripheral Control functions ##### 2701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** =============================================================================== 2702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** [..] 2703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** This subsection provides a set of functions allowing to control the UART. 2704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_ReceiverTimeout_Config() API allows to configure the receiver timeout value on th 2705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_EnableReceiverTimeout() API enables the receiver timeout feature 2706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_DisableReceiverTimeout() API disables the receiver timeout feature 2707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_MultiProcessor_EnableMuteMode() API enables mute mode 2708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_MultiProcessor_DisableMuteMode() API disables mute mode 2709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_MultiProcessor_EnterMuteMode() API enters mute mode 2710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) UART_SetConfig() API configures the UART peripheral ARM GAS /tmp/cceWHrnJ.s page 49 2711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) UART_AdvFeatureConfig() API optionally configures the UART advanced features 2712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) UART_CheckIdleState() API ensures that TEACK and/or REACK are set after initialization 2713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableTransmitter() API disables receiver and enables transmitter 2714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableReceiver() API disables transmitter and enables receiver 2715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_LIN_SendBreak() API transmits the break characters 2716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @endverbatim 2717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @{ 2718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Update on the fly the receiver timeout value in RTOR register. 2722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the configuration information for the specified UART module. 2724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param TimeoutValue receiver timeout value in number of baud blocks. The timeout 2725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * value must be less or equal to 0x0FFFFFFFF. 2726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 2727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** void HAL_UART_ReceiverTimeout_Config(UART_HandleTypeDef *huart, uint32_t TimeoutValue) 2729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance))) 2731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_RECEIVER_TIMEOUT_VALUE(TimeoutValue)); 2733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->RTOR, USART_RTOR_RTO, TimeoutValue); 2734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Enable the UART receiver timeout feature. 2739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the configuration information for the specified UART module. 2741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 2742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_EnableReceiverTimeout(UART_HandleTypeDef *huart) 2744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance))) 2746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 2748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Process Locked */ 2750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 2751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the USART RTOEN bit */ 2755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, USART_CR2_RTOEN); 2756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Process Unlocked */ 2760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 2761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 2763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 2765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_BUSY; 2767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cceWHrnJ.s page 50 2768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 2770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 2772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Disable the UART receiver timeout feature. 2777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the configuration information for the specified UART module. 2779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 2780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DisableReceiverTimeout(UART_HandleTypeDef *huart) 2782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance))) 2784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 2786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Process Locked */ 2788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 2789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the USART RTOEN bit */ 2793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_RTOEN); 2794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Process Unlocked */ 2798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 2799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 2801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 2803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_BUSY; 2805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 2808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 2810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Enable UART in mute mode (does not mean UART enters mute mode; 2815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * to enter mute mode, HAL_MultiProcessor_EnterMuteMode() API must be called). 2816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 2818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_EnableMuteMode(UART_HandleTypeDef *huart) 2820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 2822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 51 2825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable USART mute mode by setting the MME bit in the CR1 register */ 2826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_MME); 2827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 2831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Disable UART mute mode (does not mean the UART actually exits mute mode 2835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * as it may not have been in mute mode at this very moment). 2836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 2838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_DisableMuteMode(UART_HandleTypeDef *huart) 2840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 2842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable USART mute mode by clearing the MME bit in the CR1 register */ 2846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_MME); 2847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 2851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Enter UART mute mode (means UART actually enters mute mode). 2855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note To exit from mute mode, HAL_MultiProcessor_DisableMuteMode() API must be called. 2856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 2858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** void HAL_MultiProcessor_EnterMuteMode(UART_HandleTypeDef *huart) 2860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_MUTE_MODE_REQUEST); 2862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Enable the UART transmitter and disable the UART receiver. 2866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 2868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableTransmitter(UART_HandleTypeDef *huart) 2870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 2872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear TE and RE bits */ 2875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TE | USART_CR1_RE)); 2876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2877: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 */ 2878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TE); 2879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 52 2882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 2883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 2885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Enable the UART receiver and disable the UART transmitter. 2889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status. 2891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableReceiver(UART_HandleTypeDef *huart) 2893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 2895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear TE and RE bits */ 2898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TE | USART_CR1_RE)); 2899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2900: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 */ 2901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RE); 2902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 2906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 2908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2909:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Transmit break characters. 2913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 2914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 2915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_SendBreak(UART_HandleTypeDef *huart) 2917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the parameters */ 2919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_LIN_INSTANCE(huart->Instance)); 2920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 2922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Send break characters */ 2926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_SENDBREAK_REQUEST); 2927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 2931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 2933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @} 2937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2938:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 53 2939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group4 Peripheral State and Error functions 2940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief UART Peripheral State functions 2941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * 2942:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @verbatim 2943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ============================================================================== 2944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ##### Peripheral State and Error functions ##### 2945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ============================================================================== 2946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** [..] 2947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** This subsection provides functions allowing to : 2948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) Return the UART handle state. 2949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) Return the UART handle error code 2950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @endverbatim 2952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @{ 2953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Return the UART handle state. 2957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the configuration information for the specified UART. 2959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL state 2960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_StateTypeDef HAL_UART_GetState(UART_HandleTypeDef *huart) 2962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t temp1; 2964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t temp2; 2965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** temp1 = huart->gState; 2966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** temp2 = huart->RxState; 2967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return (HAL_UART_StateTypeDef)(temp1 | temp2); 2969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Return the UART handle error code. 2973:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2974:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the configuration information for the specified UART. 2975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval UART Error Code 2976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t HAL_UART_GetError(UART_HandleTypeDef *huart) 2978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return huart->ErrorCode; 2980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @} 2983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 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 **** /** @defgroup UART_Private_Functions UART Private Functions 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 **** 2993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 2994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Initialize the callbacks to their default values. 2995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. ARM GAS /tmp/cceWHrnJ.s page 54 2996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval none 2997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 2998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** void UART_InitCallbacksToDefault(UART_HandleTypeDef *huart) 3000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Init the UART Callback settings */ 3002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHalfCpltC 3003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpltCallb 3004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHalfCpltC 3005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpltCallb 3006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak ErrorCallba 3007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak AbortCpltCa 3008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak AbortTransm 3009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak AbortReceiv 3010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->WakeupCallback = HAL_UARTEx_WakeupCallback; /* Legacy weak WakeupCallb 3011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxFifoFullCallback = HAL_UARTEx_RxFifoFullCallback; /* Legacy weak RxFifoFullC 3012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxFifoEmptyCallback = HAL_UARTEx_TxFifoEmptyCallback; /* Legacy weak TxFifoEmpty 3013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback = HAL_UARTEx_RxEventCallback; /* Legacy weak RxEventCall 3014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 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 **** * @brief Configure the UART peripheral. 3020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 3021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 3022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef UART_SetConfig(UART_HandleTypeDef *huart) 3024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t tmpreg; 3026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t brrtemp; 3027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_ClockSourceTypeDef clocksource; 3028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t usartdiv; 3029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef ret = HAL_OK; 3030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t lpuart_ker_ck_pres; 3031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t pclk; 3032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the parameters */ 3034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_BAUDRATE(huart->Init.BaudRate)); 3035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength)); 3036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_INSTANCE_LOWPOWER(huart)) 3037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_LPUART_STOPBITS(huart->Init.StopBits)); 3039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 3041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_STOPBITS(huart->Init.StopBits)); 3043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_ONE_BIT_SAMPLE(huart->Init.OneBitSampling)); 3044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_PARITY(huart->Init.Parity)); 3047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode)); 3048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl)); 3049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling)); 3050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_PRESCALER(huart->Init.ClockPrescaler)); 3051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*-------------------------- USART CR1 Configuration -----------------------*/ ARM GAS /tmp/cceWHrnJ.s page 55 3053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear M, PCE, PS, TE, RE and OVER8 bits and configure 3054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the UART Word Length, Parity, Mode and oversampling: 3055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * set the M bits according to huart->Init.WordLength value 3056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * set PCE and PS bits according to huart->Init.Parity value 3057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * set TE and RE bits according to huart->Init.Mode value 3058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * set OVER8 bit according to huart->Init.OverSampling value */ 3059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.WordLength | huart->Init.Parity | huart->Init.Mode | huart->Init.O 3060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 3061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*-------------------------- USART CR2 Configuration -----------------------*/ 3063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Configure the UART Stop Bits: Set STOP[13:12] bits according 3064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * to huart->Init.StopBits value */ 3065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_STOP, huart->Init.StopBits); 3066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*-------------------------- USART CR3 Configuration -----------------------*/ 3068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Configure 3069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - UART HardWare Flow Control: set CTSE and RTSE bits according 3070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * to huart->Init.HwFlowCtl value 3071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - one-bit sampling method versus three samples' majority rule according 3072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * to huart->Init.OneBitSampling (not applicable to LPUART) */ 3073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.HwFlowCtl; 3074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(UART_INSTANCE_LOWPOWER(huart))) 3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tmpreg |= huart->Init.OneBitSampling; 3078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg); 3080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*-------------------------- USART PRESC Configuration -----------------------*/ 3082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Configure 3083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - UART Clock Prescaler : set PRESCALER according to huart->Init.ClockPrescaler value */ 3084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->PRESC, USART_PRESC_PRESCALER, huart->Init.ClockPrescaler); 3085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*-------------------------- USART BRR Configuration -----------------------*/ 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_GETCLOCKSOURCE(huart, clocksource); 3088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check LPUART instance */ 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_INSTANCE_LOWPOWER(huart)) 3091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Retrieve frequency clock */ 3093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** switch (clocksource) 3094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK1: 3096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq(); 3097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 3098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 3099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = (uint32_t) HSI_VALUE; 3100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 3101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_SYSCLK: 3102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = HAL_RCC_GetSysClockFreq(); 3103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 3104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE: 3105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = (uint32_t) LSE_VALUE; 3106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 3107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** default: 3108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = 0U; 3109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ret = HAL_ERROR; ARM GAS /tmp/cceWHrnJ.s page 56 3110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 3111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If proper clock source reported */ 3114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (pclk != 0U) 3115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Compute clock after Prescaler */ 3117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** lpuart_ker_ck_pres = (pclk / UARTPrescTable[huart->Init.ClockPrescaler]); 3118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Ensure that Frequency clock is in the range [3 * baudrate, 4096 * baudrate] */ 3120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((lpuart_ker_ck_pres < (3U * huart->Init.BaudRate)) || 3121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate))) 3122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ret = HAL_ERROR; 3124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 3126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check computed UsartDiv value is in allocated range 3128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (it is forbidden to write values lower than 0x300 in the LPUART_BRR register) */ 3129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** usartdiv = (uint32_t)(UART_DIV_LPUART(pclk, huart->Init.BaudRate, huart->Init.ClockPrescale 3130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= LPUART_BRR_MIN) && (usartdiv <= LPUART_BRR_MAX)) 3131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->BRR = usartdiv; 3133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 3135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ret = HAL_ERROR; 3137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } /* if ( (lpuart_ker_ck_pres < (3 * huart->Init.BaudRate) ) || 3139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096 * huart->Init.BaudRate) )) */ 3140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } /* if (pclk != 0) */ 3141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check UART Over Sampling to set Baud Rate Register */ 3143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else if (huart->Init.OverSampling == UART_OVERSAMPLING_8) 3144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** switch (clocksource) 3146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK1: 3148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq(); 3149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 3150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2: 3151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq(); 3152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 3153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 3154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = (uint32_t) HSI_VALUE; 3155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 3156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_SYSCLK: 3157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = HAL_RCC_GetSysClockFreq(); 3158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 3159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE: 3160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = (uint32_t) LSE_VALUE; 3161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 3162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** default: 3163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = 0U; 3164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ret = HAL_ERROR; 3165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 3166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cceWHrnJ.s page 57 3167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* USARTDIV must be greater than or equal to 0d16 */ 3169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (pclk != 0U) 3170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** usartdiv = (uint32_t)(UART_DIV_SAMPLING8(pclk, huart->Init.BaudRate, huart->Init.ClockPrescal 3172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 3173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** brrtemp = (uint16_t)(usartdiv & 0xFFF0U); 3175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U); 3176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->BRR = brrtemp; 3177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 3179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ret = HAL_ERROR; 3181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 3185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** switch (clocksource) 3187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK1: 3189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq(); 3190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 3191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2: 3192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq(); 3193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 3194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 3195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = (uint32_t) HSI_VALUE; 3196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 3197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_SYSCLK: 3198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = HAL_RCC_GetSysClockFreq(); 3199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 3200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE: 3201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = (uint32_t) LSE_VALUE; 3202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 3203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** default: 3204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = 0U; 3205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ret = HAL_ERROR; 3206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 3207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (pclk != 0U) 3210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* USARTDIV must be greater than or equal to 0d16 */ 3212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** usartdiv = (uint32_t)(UART_DIV_SAMPLING16(pclk, huart->Init.BaudRate, huart->Init.ClockPresca 3213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 3214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->BRR = (uint16_t)usartdiv; 3216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 3218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ret = HAL_ERROR; 3220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 58 3224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Initialize the number of data to process during RX/TX ISR execution */ 3225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->NbTxDataToProcess = 1; 3226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->NbRxDataToProcess = 1; 3227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear ISR function pointers */ 3229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL; 3230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL; 3231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return ret; 3233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Configure the UART peripheral advanced features. 3237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 3238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 3239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** void UART_AdvFeatureConfig(UART_HandleTypeDef *huart) 3241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check whether the set of advanced features to configure is properly set */ 3243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_INIT(huart->AdvancedInit.AdvFeatureInit)); 3244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* if required, configure TX pin active level inversion */ 3246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_TXINVERT_INIT)) 3247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_TXINV(huart->AdvancedInit.TxPinLevelInvert)); 3249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_TXINV, huart->AdvancedInit.TxPinLevelInvert); 3250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* if required, configure RX pin active level inversion */ 3253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXINVERT_INIT)) 3254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_RXINV(huart->AdvancedInit.RxPinLevelInvert)); 3256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_RXINV, huart->AdvancedInit.RxPinLevelInvert); 3257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* if required, configure data inversion */ 3260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DATAINVERT_INIT)) 3261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_DATAINV(huart->AdvancedInit.DataInvert)); 3263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_DATAINV, huart->AdvancedInit.DataInvert); 3264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* if required, configure RX/TX pins swap */ 3267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_SWAP_INIT)) 3268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_SWAP(huart->AdvancedInit.Swap)); 3270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_SWAP, huart->AdvancedInit.Swap); 3271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* if required, configure RX overrun detection disabling */ 3274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXOVERRUNDISABLE_INIT)) 3275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_OVERRUN(huart->AdvancedInit.OverrunDisable)); 3277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_OVRDIS, huart->AdvancedInit.OverrunDisable); 3278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* if required, configure DMA disabling on reception error */ ARM GAS /tmp/cceWHrnJ.s page 59 3281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DMADISABLEONERROR_INIT)) 3282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_DMAONRXERROR(huart->AdvancedInit.DMADisableonRxError)); 3284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_DDRE, huart->AdvancedInit.DMADisableonRxError); 3285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* if required, configure auto Baud rate detection scheme */ 3288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_AUTOBAUDRATE_INIT)) 3289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_USART_AUTOBAUDRATE_DETECTION_INSTANCE(huart->Instance)); 3291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATE(huart->AdvancedInit.AutoBaudRateEnable)); 3292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABREN, huart->AdvancedInit.AutoBaudRateEnable); 3293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* set auto Baudrate detection parameters if detection is enabled */ 3294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->AdvancedInit.AutoBaudRateEnable == UART_ADVFEATURE_AUTOBAUDRATE_ENABLE) 3295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATEMODE(huart->AdvancedInit.AutoBaudRateMode)); 3297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABRMODE, huart->AdvancedInit.AutoBaudRateMode); 3298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* if required, configure MSB first on communication line */ 3302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_MSBFIRST_INIT)) 3303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_MSBFIRST(huart->AdvancedInit.MSBFirst)); 3305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_MSBFIRST, huart->AdvancedInit.MSBFirst); 3306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Check the UART Idle State. 3311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 3312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 3313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef UART_CheckIdleState(UART_HandleTypeDef *huart) 3315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t tickstart; 3317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Initialize the UART ErrorCode */ 3319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Init tickstart for timeout management */ 3322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tickstart = HAL_GetTick(); 3323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check if the Transmitter is enabled */ 3325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->Instance->CR1 & USART_CR1_TE) == USART_CR1_TE) 3326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Wait until TEACK flag is set */ 3328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_TEACK, RESET, tickstart, HAL_UART_TIMEOUT_VALU 3329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Timeout occurred */ 3331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT; 3332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check if the Receiver is enabled */ 3336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->Instance->CR1 & USART_CR1_RE) == USART_CR1_RE) 3337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cceWHrnJ.s page 60 3338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Wait until REACK flag is set */ 3339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_REACK, RESET, tickstart, HAL_UART_TIMEOUT_VALU 3340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Timeout occurred */ 3342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT; 3343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Initialize the UART State */ 3347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 3352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 3354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief This function handles UART Communication Timeout. It waits 3358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * until a flag is no longer in the specified status. 3359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 3360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Flag Specifies the UART flag to check 3361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Status The actual Flag status (SET or RESET) 3362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Tickstart Tick start value 3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Timeout Timeout duration 3364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 3365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, FlagStatus 3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t Tickstart, uint32_t Timeout) 3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Wait until flag is set */ 3370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** while ((__HAL_UART_GET_FLAG(huart, Flag) ? SET : RESET) == Status) 3371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check for the Timeout */ 3373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (Timeout != HAL_MAX_DELAY) 3374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U)) 3376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable TXE, RXNE, PE and ERR (Frame error, noise error, overrun error) 3378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** interrupts for the interrupt process */ 3379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE | 3380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 3381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 3387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT; 3389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR1, USART_CR1_RE) != 0U) 3392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_RTOF) == SET) 3394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cceWHrnJ.s page 61 3395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear Receiver Timeout flag*/ 3396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_RTOF); 3397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable TXE, RXNE, PE and ERR (Frame error, noise error, overrun error) 3399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** interrupts for the interrupt process */ 3400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE | 3401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 3402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_RTO; 3407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Process Unlocked */ 3409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 3410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT; 3412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 3417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Start Receive operation in interrupt mode. 3421: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 3422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note When calling this function, parameters validity is considered as already checked, 3423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * i.e. Rx State, buffer address, ... 3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * UART Handle is assumed as Locked. 3425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 3426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 3427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 3428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 3429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef UART_Start_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 3431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr = pData; 3433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferSize = Size; 3434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = Size; 3435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL; 3436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Computation of UART mask to apply to RDR register */ 3438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_MASK_COMPUTATION(huart); 3439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 3442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 3444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE); 3445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Configure Rx interrupt processing */ 3447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->FifoMode == UART_FIFOMODE_ENABLE) && (Size >= huart->NbRxDataToProcess)) 3448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the Rx ISR function pointer according to the data word length */ 3450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 3451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cceWHrnJ.s page 62 3452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = UART_RxISR_16BIT_FIFOEN; 3453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 3455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = UART_RxISR_8BIT_FIFOEN; 3457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 3460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Parity Error interrupt and RX FIFO Threshold interrupt */ 3462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE) 3463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE); 3465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_RXFTIE); 3467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 3469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the Rx ISR function pointer according to the data word length */ 3471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 3472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = UART_RxISR_16BIT; 3474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 3476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = UART_RxISR_8BIT; 3478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 3481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Parity Error interrupt and Data Register Not Empty interrupt */ 3483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE) 3484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE | USART_CR1_RXNEIE_RXFNEIE); 3486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 3488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RXNEIE_RXFNEIE); 3490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 3493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Start Receive operation in DMA mode. 3497: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. 3498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note When calling this function, parameters validity is considered as already checked, 3499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * i.e. Rx State, buffer address, ... 3500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * UART Handle is assumed as Locked. 3501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 3502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 3503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 3504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status 3505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef UART_Start_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 3507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr = pData; ARM GAS /tmp/cceWHrnJ.s page 63 3509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferSize = Size; 3510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 3513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmarx != NULL) 3515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */ 3517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferCpltCallback = UART_DMAReceiveCplt; 3518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */ 3520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferHalfCpltCallback = UART_DMARxHalfCplt; 3521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the DMA error callback */ 3523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferErrorCallback = UART_DMAError; 3524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the DMA abort callback */ 3526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 3527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the DMA channel */ 3529: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 3530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set error code to DMA */ 3532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 3533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 3535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->RxState to ready */ 3537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR; 3540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart); 3543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Parity Error Interrupt */ 3545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE) 3546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE); 3548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 3551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE); 3552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the DMA transfer for the receiver request by setting the DMAR bit 3554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** in the UART CR3 register */ 3555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAR); 3556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK; 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 **** /** 3562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief End ongoing Tx transfer on UART peripheral (following error detection or Transmit compl 3563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 3564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 3565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ ARM GAS /tmp/cceWHrnJ.s page 64 3566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart) 3567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 28 .loc 1 3567 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: 3568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable TXEIE, TCIE, TXFT interrupts */ 3569: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 3569 3 discriminator 1 view .LVU1 36 .LBB509: 37 .loc 1 3569 3 discriminator 1 view .LVU2 38 .loc 1 3569 3 discriminator 1 view .LVU3 39 .loc 1 3569 3 discriminator 1 view .LVU4 40 0000 0268 ldr r2, [r0] 41 .LVL1: 42 .LBB510: 43 .LBI510: 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 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) ARM GAS /tmp/cceWHrnJ.s page 65 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) 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 ARM GAS /tmp/cceWHrnJ.s page 66 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; 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 **** ARM GAS /tmp/cceWHrnJ.s page 67 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 **** 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) ARM GAS /tmp/cceWHrnJ.s page 68 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 **** */ 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 ARM GAS /tmp/cceWHrnJ.s page 69 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) ); 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 **** ARM GAS /tmp/cceWHrnJ.s page 70 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 **** 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 **** /** ARM GAS /tmp/cceWHrnJ.s page 71 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 **** /** 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 ARM GAS /tmp/cceWHrnJ.s page 72 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 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 **** { ARM GAS /tmp/cceWHrnJ.s page 73 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) ); 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 **** } ARM GAS /tmp/cceWHrnJ.s page 74 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 **** /** 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. ARM GAS /tmp/cceWHrnJ.s page 75 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 **** 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 ARM GAS /tmp/cceWHrnJ.s page 76 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 **** */ 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. ARM GAS /tmp/cceWHrnJ.s page 77 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)) 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; ARM GAS /tmp/cceWHrnJ.s page 78 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; 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 **** { ARM GAS /tmp/cceWHrnJ.s page 79 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 **** } 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) ARM GAS /tmp/cceWHrnJ.s page 80 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. 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 **** ARM GAS /tmp/cceWHrnJ.s page 81 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; 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 ARM GAS /tmp/cceWHrnJ.s page 82 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 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; ARM GAS /tmp/cceWHrnJ.s page 83 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) 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 */ ARM GAS /tmp/cceWHrnJ.s page 84 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 discriminator 1 view .LVU5 46 .LBB511: 1152:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 47 .loc 2 1153 5 discriminator 1 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 discriminator 1 view .LVU7 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 discriminator 1 view .LVU8 55 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU9 56 .thumb 57 .syntax unified 58 .LBE511: 59 .LBE510: 60 .loc 1 3569 3 discriminator 1 view .LVU10 61 0006 23F0C003 bic r3, r3, #192 62 .LVL3: 63 .loc 1 3569 3 is_stmt 1 discriminator 1 view .LVU11 64 .LBB512: ARM GAS /tmp/cceWHrnJ.s page 85 65 .LBI512: 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) 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 discriminator 1 view .LVU12 67 .LBB513: 1203:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 68 .loc 2 1204 4 discriminator 1 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 discriminator 1 view .LVU14 70 .syntax unified 71 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 ARM GAS /tmp/cceWHrnJ.s page 86 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 discriminator 1 view .LVU15 76 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU16 77 .thumb 78 .syntax unified 79 .LBE513: 80 .LBE512: 81 .loc 1 3569 3 discriminator 1 view .LVU17 82 000e 0029 cmp r1, #0 83 0010 F6D1 bne .L2 84 .LVL5: 85 .L3: 86 .loc 1 3569 3 discriminator 1 view .LVU18 87 .LBE509: 88 .loc 1 3569 3 is_stmt 1 discriminator 1 view .LVU19 3570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, (USART_CR3_TXFTIE)); 89 .loc 1 3570 3 discriminator 1 view .LVU20 90 .LBB514: 91 .loc 1 3570 3 discriminator 1 view .LVU21 92 .loc 1 3570 3 discriminator 1 view .LVU22 93 .loc 1 3570 3 discriminator 1 view .LVU23 94 0012 0268 ldr r2, [r0] 95 .LVL6: 96 .LBB515: 97 .LBI515: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 98 .loc 2 1151 31 discriminator 1 view .LVU24 99 .LBB516: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 100 .loc 2 1153 5 discriminator 1 view .LVU25 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 101 .loc 2 1155 4 discriminator 1 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 discriminator 1 view .LVU27 105 .syntax unified 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 discriminator 1 view .LVU28 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 111 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU29 112 .thumb 113 .syntax unified 114 .LBE516: 115 .LBE515: 116 .loc 1 3570 3 discriminator 1 view .LVU30 117 001c 23F40003 bic r3, r3, #8388608 118 .LVL9: 119 .loc 1 3570 3 is_stmt 1 discriminator 1 view .LVU31 120 .LBB517: ARM GAS /tmp/cceWHrnJ.s page 87 121 .LBI517: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 122 .loc 2 1202 31 discriminator 1 view .LVU32 123 .LBB518: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 124 .loc 2 1204 4 discriminator 1 view .LVU33 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 125 .loc 2 1206 4 discriminator 1 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 discriminator 1 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 discriminator 1 view .LVU36 135 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU37 136 .thumb 137 .syntax unified 138 .LBE518: 139 .LBE517: 140 .loc 1 3570 3 discriminator 1 view .LVU38 141 0026 0029 cmp r1, #0 142 0028 F3D1 bne .L3 143 .LBE514: 144 .loc 1 3570 3 is_stmt 1 discriminator 2 view .LVU39 3571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */ 3573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 145 .loc 1 3573 3 discriminator 2 view .LVU40 146 .loc 1 3573 17 is_stmt 0 discriminator 2 view .LVU41 147 002a 2023 movs r3, #32 148 .LVL12: 149 .loc 1 3573 17 discriminator 2 view .LVU42 150 002c C0F88430 str r3, [r0, #132] 3574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 151 .loc 1 3574 1 discriminator 2 view .LVU43 152 0030 7047 bx lr 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: 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 **** * @brief End ongoing Rx transfer on UART peripheral (following error detection or Reception comp 3579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 3580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 3581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart) ARM GAS /tmp/cceWHrnJ.s page 88 3583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 164 .loc 1 3583 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: 3584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 3585: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 3585 3 discriminator 1 view .LVU45 172 .LBB519: 173 .loc 1 3585 3 discriminator 1 view .LVU46 174 .loc 1 3585 3 discriminator 1 view .LVU47 175 .loc 1 3585 3 discriminator 1 view .LVU48 176 0000 0268 ldr r2, [r0] 177 .LVL14: 178 .LBB520: 179 .LBI520: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 180 .loc 2 1151 31 discriminator 1 view .LVU49 181 .LBB521: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 182 .loc 2 1153 5 discriminator 1 view .LVU50 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 183 .loc 2 1155 4 discriminator 1 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 discriminator 1 view .LVU52 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 190 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU53 191 .thumb 192 .syntax unified 193 .LBE521: 194 .LBE520: 195 .loc 1 3585 3 discriminator 1 view .LVU54 196 0006 23F49073 bic r3, r3, #288 197 .LVL16: 198 .loc 1 3585 3 is_stmt 1 discriminator 1 view .LVU55 199 .LBB522: 200 .LBI522: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 201 .loc 2 1202 31 discriminator 1 view .LVU56 202 .LBB523: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 203 .loc 2 1204 4 discriminator 1 view .LVU57 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 204 .loc 2 1206 4 discriminator 1 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: ARM GAS /tmp/cceWHrnJ.s page 89 210 .loc 2 1207 4 discriminator 1 view .LVU59 211 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU60 212 .thumb 213 .syntax unified 214 .LBE523: 215 .LBE522: 216 .loc 1 3585 3 discriminator 1 view .LVU61 217 000e 0029 cmp r1, #0 218 0010 F6D1 bne .L5 219 .LVL18: 220 .L6: 221 .loc 1 3585 3 discriminator 1 view .LVU62 222 .LBE519: 223 .loc 1 3585 3 is_stmt 1 discriminator 1 view .LVU63 3586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 224 .loc 1 3586 3 discriminator 1 view .LVU64 225 .LBB524: 226 .loc 1 3586 3 discriminator 1 view .LVU65 227 .loc 1 3586 3 discriminator 1 view .LVU66 228 .loc 1 3586 3 discriminator 1 view .LVU67 229 0012 0268 ldr r2, [r0] 230 .LVL19: 231 .LBB525: 232 .LBI525: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 233 .loc 2 1151 31 discriminator 1 view .LVU68 234 .LBB526: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 235 .loc 2 1153 5 discriminator 1 view .LVU69 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 236 .loc 2 1155 4 discriminator 1 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 discriminator 1 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: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 245 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU72 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 246 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU73 247 .thumb 248 .syntax unified 249 .LBE526: 250 .LBE525: 251 .loc 1 3586 3 discriminator 1 view .LVU74 252 001c 23F08053 bic r3, r3, #268435456 253 0020 23F00103 bic r3, r3, #1 254 .LVL22: 255 .loc 1 3586 3 is_stmt 1 discriminator 1 view .LVU75 256 .LBB527: 257 .LBI527: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 258 .loc 2 1202 31 discriminator 1 view .LVU76 ARM GAS /tmp/cceWHrnJ.s page 90 259 .LBB528: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 260 .loc 2 1204 4 discriminator 1 view .LVU77 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 261 .loc 2 1206 4 discriminator 1 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 discriminator 1 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 discriminator 1 view .LVU80 271 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU81 272 .thumb 273 .syntax unified 274 .LBE528: 275 .LBE527: 276 .loc 1 3586 3 discriminator 1 view .LVU82 277 002a 0029 cmp r1, #0 278 002c F1D1 bne .L6 279 .LBE524: 280 .loc 1 3586 3 is_stmt 1 discriminator 2 view .LVU83 3587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* In case of reception waiting for IDLE event, disable also the IDLE IE interrupt source */ 3589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 281 .loc 1 3589 3 discriminator 2 view .LVU84 282 .loc 1 3589 12 is_stmt 0 discriminator 2 view .LVU85 283 002e C36E ldr r3, [r0, #108] 284 .LVL25: 285 .loc 1 3589 6 discriminator 2 view .LVU86 286 0030 012B cmp r3, #1 287 0032 06D0 beq .L8 288 .L7: 3590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 289 .loc 1 3591 5 is_stmt 1 discriminator 2 view .LVU87 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 **** /* At end of Rx process, restore huart->RxState to Ready */ 3595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 290 .loc 1 3595 3 discriminator 2 view .LVU88 291 .loc 1 3595 18 is_stmt 0 discriminator 2 view .LVU89 292 0034 2023 movs r3, #32 293 0036 C0F88830 str r3, [r0, #136] 3596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 294 .loc 1 3596 3 is_stmt 1 discriminator 2 view .LVU90 295 .loc 1 3596 24 is_stmt 0 discriminator 2 view .LVU91 296 003a 0023 movs r3, #0 297 003c C366 str r3, [r0, #108] 3597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset RxIsr function pointer */ 3599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL; 298 .loc 1 3599 3 is_stmt 1 discriminator 2 view .LVU92 299 .loc 1 3599 16 is_stmt 0 discriminator 2 view .LVU93 ARM GAS /tmp/cceWHrnJ.s page 91 300 003e 0367 str r3, [r0, #112] 3600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 301 .loc 1 3600 1 discriminator 2 view .LVU94 302 0040 7047 bx lr 303 .L8: 3591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 304 .loc 1 3591 5 is_stmt 1 discriminator 1 view .LVU95 305 .LBB529: 3591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 306 .loc 1 3591 5 discriminator 1 view .LVU96 3591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 307 .loc 1 3591 5 discriminator 1 view .LVU97 3591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 308 .loc 1 3591 5 discriminator 1 view .LVU98 309 0042 0268 ldr r2, [r0] 310 .LVL26: 311 .LBB530: 312 .LBI530: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 313 .loc 2 1151 31 discriminator 1 view .LVU99 314 .LBB531: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 315 .loc 2 1153 5 discriminator 1 view .LVU100 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 316 .loc 2 1155 4 discriminator 1 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 discriminator 1 view .LVU102 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 323 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU103 324 .thumb 325 .syntax unified 326 .LBE531: 327 .LBE530: 3591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 328 .loc 1 3591 5 discriminator 1 view .LVU104 329 0048 23F01003 bic r3, r3, #16 330 .LVL28: 3591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 331 .loc 1 3591 5 is_stmt 1 discriminator 1 view .LVU105 332 .LBB532: 333 .LBI532: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 334 .loc 2 1202 31 discriminator 1 view .LVU106 335 .LBB533: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 336 .loc 2 1204 4 discriminator 1 view .LVU107 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 337 .loc 2 1206 4 discriminator 1 view .LVU108 338 .syntax unified 339 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 340 004c 42E80031 strex r1, r3, [r2] 341 @ 0 "" 2 ARM GAS /tmp/cceWHrnJ.s page 92 342 .LVL29: 343 .loc 2 1207 4 discriminator 1 view .LVU109 344 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU110 345 .thumb 346 .syntax unified 347 .LBE533: 348 .LBE532: 3591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 349 .loc 1 3591 5 discriminator 1 view .LVU111 350 0050 0029 cmp r1, #0 351 0052 F6D1 bne .L8 352 0054 EEE7 b .L7 353 .LBE529: 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: 3601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DMA UART transmit process complete callback. 3605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param hdma DMA handle. 3606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 3607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma) 3609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* DMA Normal mode */ 3613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_CLR(hdma->Instance->CCR, DMA_CCR_CIRC)) 3614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U; 3616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the DMA transfer for transmit request by resetting the DMAT bit 3618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** in the UART CR3 register */ 3619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 3620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */ 3622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE); 3623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* DMA Circular mode */ 3625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 3626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Tx complete callback*/ 3629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxCpltCallback(huart); 3630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 3631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/ 3632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart); 3633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cceWHrnJ.s page 93 3635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DMA UART transmit process half complete callback. 3639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param hdma DMA handle. 3640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 3641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma) 3643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Tx Half complete callback*/ 3648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxHalfCpltCallback(huart); 3649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 3650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Tx Half complete callback*/ 3651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_TxHalfCpltCallback(huart); 3652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 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 **** /** 3656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DMA UART receive process complete callback. 3657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param hdma DMA handle. 3658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 3659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma) 3661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* DMA Normal mode */ 3665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_CLR(hdma->Instance->CCR, DMA_CCR_CIRC)) 3666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 3668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */ 3670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); 3671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by resetting the DMAR bit 3674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** in the UART CR3 register */ 3675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 3676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 3678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If Reception till IDLE event has been selected, Disable IDLE Interrupt */ 3681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 3682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 3684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check current reception Mode : 3688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** If Reception till IDLE event has been selected : use Rx Event callback */ 3689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 3690:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) ARM GAS /tmp/cceWHrnJ.s page 94 3692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx Event callback*/ 3693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize); 3694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 3695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 3696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize); 3697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 3700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* In other cases : use Rx Complete callback */ 3702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx complete callback*/ 3704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxCpltCallback(huart); 3705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 3706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/ 3707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart); 3708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DMA UART receive process half complete callback. 3714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param hdma DMA handle. 3715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 3716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma) 3718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check current reception Mode : 3722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** If Reception till IDLE event has been selected : use Rx Event callback */ 3723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 3724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx Event callback*/ 3727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize / 2U); 3728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 3729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 3730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize / 2U); 3731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 3734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* In other cases : use Rx Half Complete callback */ 3736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx Half complete callback*/ 3738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxHalfCpltCallback(huart); 3739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 3740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx Half complete callback*/ 3741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_RxHalfCpltCallback(huart); 3742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DMA UART communication error callback. 3748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param hdma DMA handle. ARM GAS /tmp/cceWHrnJ.s page 95 3749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 3750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma) 3752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; 3756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 3757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */ 3759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) && 3760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 3761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U; 3763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_EndTxTransfer(huart); 3764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */ 3767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) && 3768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 3769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 3771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_EndRxTransfer(huart); 3772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_DMA; 3775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered error callback*/ 3778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCallback(huart); 3779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 3780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak error callback*/ 3781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 3782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DMA UART communication abort callback, when initiated by HAL services on Error 3787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * (To be called at end of DMA Abort procedure following error occurrence). 3788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param hdma DMA handle. 3789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 3790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma) 3792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 3795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U; 3796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered error callback*/ 3799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCallback(huart); 3800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 3801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak error callback*/ 3802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 3803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 96 3806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user 3808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * (To be called at end of DMA Tx Abort procedure following user abort request). 3809: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 3810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * Abort still ongoing for Rx DMA Handle. 3811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param hdma DMA handle. 3812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 3813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma) 3815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 3819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check if an Abort process is still ongoing */ 3821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmarx != NULL) 3822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmarx->XferAbortCallback != NULL) 3824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return; 3826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba 3830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U; 3831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 3832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset errorCode */ 3834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 3837: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); 3838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Flush the whole TX FIFO (if needed) */ 3840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->FifoMode == UART_FIFOMODE_ENABLE) 3841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_TXDATA_FLUSH_REQUEST); 3843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */ 3846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call user Abort complete callback */ 3851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Abort complete callback */ 3853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortCpltCallback(huart); 3854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 3855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Abort complete callback */ 3856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart); 3857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user ARM GAS /tmp/cceWHrnJ.s page 97 3863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * (To be called at end of DMA Rx Abort procedure following user abort request). 3864: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 3865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * Abort still ongoing for Tx DMA Handle. 3866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param hdma DMA handle. 3867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 3868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma) 3870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 3874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check if an Abort process is still ongoing */ 3876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmatx != NULL) 3877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmatx->XferAbortCallback != NULL) 3879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return; 3881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 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 **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba 3885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U; 3886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 3887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset errorCode */ 3889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 3892: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); 3893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Discard the received data */ 3895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 3896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */ 3898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call user Abort complete callback */ 3903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Abort complete callback */ 3905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortCpltCallback(huart); 3906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 3907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Abort complete callback */ 3908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart); 3909:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user by a call to 3915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * HAL_UART_AbortTransmit_IT API (Abort only Tx transfer) 3916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * (This callback is executed at end of DMA Tx Abort procedure following user abort reques 3917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * and leads to user Tx Abort Complete callback execution). 3918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param hdma DMA handle. 3919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None ARM GAS /tmp/cceWHrnJ.s page 98 3920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma) 3922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U; 3926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Flush the whole TX FIFO (if needed) */ 3928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->FifoMode == UART_FIFOMODE_ENABLE) 3929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_TXDATA_FLUSH_REQUEST); 3931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->gState to Ready */ 3934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call user Abort complete callback */ 3937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3938:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */ 3939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart); 3940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 3941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */ 3942:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart); 3943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user by a call to 3948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * HAL_UART_AbortReceive_IT API (Abort only Rx transfer) 3949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * (This callback is executed at end of DMA Rx Abort procedure following user abort reques 3950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * and leads to user Rx Abort Complete callback execution). 3951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param hdma DMA handle. 3952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 3953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma) 3955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 3957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 3959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 3961: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); 3962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Discard the received data */ 3964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 3965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->RxState to Ready */ 3967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call user Abort complete callback */ 3971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */ 3973:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart); 3974:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 3975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */ 3976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart); ARM GAS /tmp/cceWHrnJ.s page 99 3977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 3981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief TX interrupt handler for 7 or 8 bits data word length . 3982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note Function is called under interruption only, once 3983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT(). 3984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 3985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 3986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 3987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_TxISR_8BIT(UART_HandleTypeDef *huart) 3988:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 366 .loc 1 3988 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. 3989:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is ongoing */ 3990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) 371 .loc 1 3990 3 view .LVU113 372 .loc 1 3990 12 is_stmt 0 view .LVU114 373 0000 D0F88430 ldr r3, [r0, #132] 374 .loc 1 3990 6 view .LVU115 375 0004 212B cmp r3, #33 376 0006 00D0 beq .L14 377 .L9: 3991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->TxXferCount == 0U) 3993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Transmit Data Register Empty Interrupt */ 3995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TXEIE_TXFNFIE); 3996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */ 3998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE); 3999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 4001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->TDR = (uint8_t)(*huart->pTxBuffPtr & (uint8_t)0xFF); 4003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr++; 4004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; 4005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 378 .loc 1 4007 1 view .LVU116 379 0008 7047 bx lr 380 .L14: 3992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 381 .loc 1 3992 5 is_stmt 1 view .LVU117 3992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 382 .loc 1 3992 14 is_stmt 0 view .LVU118 383 000a B0F85630 ldrh r3, [r0, #86] 384 000e 9BB2 uxth r3, r3 3992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 385 .loc 1 3992 8 view .LVU119 386 0010 93B9 cbnz r3, .L11 387 .L12: 3995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 100 388 .loc 1 3995 7 is_stmt 1 discriminator 1 view .LVU120 389 .LBB534: 3995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 390 .loc 1 3995 7 discriminator 1 view .LVU121 3995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 391 .loc 1 3995 7 discriminator 1 view .LVU122 3995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 392 .loc 1 3995 7 discriminator 1 view .LVU123 393 0012 0268 ldr r2, [r0] 394 .LVL31: 395 .LBB535: 396 .LBI535: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 397 .loc 2 1151 31 discriminator 1 view .LVU124 398 .LBB536: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 399 .loc 2 1153 5 discriminator 1 view .LVU125 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 400 .loc 2 1155 4 discriminator 1 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 discriminator 1 view .LVU127 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 407 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU128 408 .thumb 409 .syntax unified 410 .LBE536: 411 .LBE535: 3995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 412 .loc 1 3995 7 discriminator 1 view .LVU129 413 0018 23F08003 bic r3, r3, #128 414 .LVL33: 3995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 415 .loc 1 3995 7 is_stmt 1 discriminator 1 view .LVU130 416 .LBB537: 417 .LBI537: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 418 .loc 2 1202 31 discriminator 1 view .LVU131 419 .LBB538: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 420 .loc 2 1204 4 discriminator 1 view .LVU132 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 421 .loc 2 1206 4 discriminator 1 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 discriminator 1 view .LVU134 428 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU135 429 .thumb 430 .syntax unified 431 .LBE538: ARM GAS /tmp/cceWHrnJ.s page 101 432 .LBE537: 3995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 433 .loc 1 3995 7 discriminator 1 view .LVU136 434 0020 0029 cmp r1, #0 435 0022 F6D1 bne .L12 436 .LVL35: 437 .L13: 3995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 438 .loc 1 3995 7 discriminator 1 view .LVU137 439 .LBE534: 3995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 440 .loc 1 3995 7 is_stmt 1 discriminator 1 view .LVU138 3998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 441 .loc 1 3998 7 discriminator 1 view .LVU139 442 .LBB539: 3998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 443 .loc 1 3998 7 discriminator 1 view .LVU140 3998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 444 .loc 1 3998 7 discriminator 1 view .LVU141 3998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 445 .loc 1 3998 7 discriminator 1 view .LVU142 446 0024 0268 ldr r2, [r0] 447 .LVL36: 448 .LBB540: 449 .LBI540: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 450 .loc 2 1151 31 discriminator 1 view .LVU143 451 .LBB541: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 452 .loc 2 1153 5 discriminator 1 view .LVU144 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 453 .loc 2 1155 4 discriminator 1 view .LVU145 454 .syntax unified 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 discriminator 1 view .LVU146 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 460 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU147 461 .thumb 462 .syntax unified 463 .LBE541: 464 .LBE540: 3998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 465 .loc 1 3998 7 discriminator 1 view .LVU148 466 002a 43F04003 orr r3, r3, #64 467 .LVL38: 3998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 468 .loc 1 3998 7 is_stmt 1 discriminator 1 view .LVU149 469 .LBB542: 470 .LBI542: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 471 .loc 2 1202 31 discriminator 1 view .LVU150 472 .LBB543: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** ARM GAS /tmp/cceWHrnJ.s page 102 473 .loc 2 1204 4 discriminator 1 view .LVU151 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 474 .loc 2 1206 4 discriminator 1 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 discriminator 1 view .LVU153 481 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU154 482 .thumb 483 .syntax unified 484 .LBE543: 485 .LBE542: 3998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 486 .loc 1 3998 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: 3998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 492 .loc 1 3998 7 discriminator 1 view .LVU156 493 .LBE539: 4002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr++; 494 .loc 1 4002 7 is_stmt 1 view .LVU157 4002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr++; 495 .loc 1 4002 46 is_stmt 0 view .LVU158 496 0038 036D ldr r3, [r0, #80] 4002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr++; 497 .loc 1 4002 40 view .LVU159 498 003a 1A78 ldrb r2, [r3] @ zero_extendqisi2 4002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr++; 499 .loc 1 4002 12 view .LVU160 500 003c 0368 ldr r3, [r0] 4002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr++; 501 .loc 1 4002 28 view .LVU161 502 003e 9A62 str r2, [r3, #40] 4003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; 503 .loc 1 4003 7 is_stmt 1 view .LVU162 4003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; 504 .loc 1 4003 12 is_stmt 0 view .LVU163 505 0040 036D ldr r3, [r0, #80] 4003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; 506 .loc 1 4003 24 view .LVU164 507 0042 0133 adds r3, r3, #1 508 0044 0365 str r3, [r0, #80] 4004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 509 .loc 1 4004 7 is_stmt 1 view .LVU165 4004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 510 .loc 1 4004 12 is_stmt 0 view .LVU166 511 0046 B0F85630 ldrh r3, [r0, #86] 512 004a 9BB2 uxth r3, r3 4004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 513 .loc 1 4004 25 view .LVU167 514 004c 013B subs r3, r3, #1 515 004e 9BB2 uxth r3, r3 ARM GAS /tmp/cceWHrnJ.s page 103 516 0050 A0F85630 strh r3, [r0, #86] @ movhi 517 .loc 1 4007 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: 4008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 4010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief TX interrupt handler for 9 bits data word length. 4011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note Function is called under interruption only, once 4012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT(). 4013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 4014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 4015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 4016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_TxISR_16BIT(UART_HandleTypeDef *huart) 4017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 531 .loc 1 4017 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. 4018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const uint16_t *tmp; 536 .loc 1 4018 3 view .LVU170 4019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is ongoing */ 4021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) 537 .loc 1 4021 3 view .LVU171 538 .loc 1 4021 12 is_stmt 0 view .LVU172 539 0000 D0F88430 ldr r3, [r0, #132] 540 .loc 1 4021 6 view .LVU173 541 0004 212B cmp r3, #33 542 0006 00D0 beq .L20 543 .L15: 4022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->TxXferCount == 0U) 4024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Transmit Data Register Empty Interrupt */ 4026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TXEIE_TXFNFIE); 4027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */ 4029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE); 4030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 4032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tmp = (const uint16_t *) huart->pTxBuffPtr; 4034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL); 4035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 4036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; 4037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cceWHrnJ.s page 104 4039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 544 .loc 1 4039 1 view .LVU174 545 0008 7047 bx lr 546 .L20: 4023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 547 .loc 1 4023 5 is_stmt 1 view .LVU175 4023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 548 .loc 1 4023 14 is_stmt 0 view .LVU176 549 000a B0F85630 ldrh r3, [r0, #86] 550 000e 9BB2 uxth r3, r3 4023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 551 .loc 1 4023 8 view .LVU177 552 0010 93B9 cbnz r3, .L17 553 .L18: 4026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 554 .loc 1 4026 7 is_stmt 1 discriminator 1 view .LVU178 555 .LBB544: 4026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 556 .loc 1 4026 7 discriminator 1 view .LVU179 4026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 557 .loc 1 4026 7 discriminator 1 view .LVU180 4026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 558 .loc 1 4026 7 discriminator 1 view .LVU181 559 0012 0268 ldr r2, [r0] 560 .LVL42: 561 .LBB545: 562 .LBI545: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 563 .loc 2 1151 31 discriminator 1 view .LVU182 564 .LBB546: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 565 .loc 2 1153 5 discriminator 1 view .LVU183 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 566 .loc 2 1155 4 discriminator 1 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 discriminator 1 view .LVU185 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 573 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU186 574 .thumb 575 .syntax unified 576 .LBE546: 577 .LBE545: 4026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 578 .loc 1 4026 7 discriminator 1 view .LVU187 579 0018 23F08003 bic r3, r3, #128 580 .LVL44: 4026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 581 .loc 1 4026 7 is_stmt 1 discriminator 1 view .LVU188 582 .LBB547: 583 .LBI547: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 584 .loc 2 1202 31 discriminator 1 view .LVU189 ARM GAS /tmp/cceWHrnJ.s page 105 585 .LBB548: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 586 .loc 2 1204 4 discriminator 1 view .LVU190 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 587 .loc 2 1206 4 discriminator 1 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 discriminator 1 view .LVU192 594 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU193 595 .thumb 596 .syntax unified 597 .LBE548: 598 .LBE547: 4026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 599 .loc 1 4026 7 discriminator 1 view .LVU194 600 0020 0029 cmp r1, #0 601 0022 F6D1 bne .L18 602 .LVL46: 603 .L19: 4026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 604 .loc 1 4026 7 discriminator 1 view .LVU195 605 .LBE544: 4026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 606 .loc 1 4026 7 is_stmt 1 discriminator 1 view .LVU196 4029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 607 .loc 1 4029 7 discriminator 1 view .LVU197 608 .LBB549: 4029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 609 .loc 1 4029 7 discriminator 1 view .LVU198 4029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 610 .loc 1 4029 7 discriminator 1 view .LVU199 4029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 611 .loc 1 4029 7 discriminator 1 view .LVU200 612 0024 0268 ldr r2, [r0] 613 .LVL47: 614 .LBB550: 615 .LBI550: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 616 .loc 2 1151 31 discriminator 1 view .LVU201 617 .LBB551: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 618 .loc 2 1153 5 discriminator 1 view .LVU202 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 619 .loc 2 1155 4 discriminator 1 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 discriminator 1 view .LVU204 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 626 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU205 627 .thumb ARM GAS /tmp/cceWHrnJ.s page 106 628 .syntax unified 629 .LBE551: 630 .LBE550: 4029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 631 .loc 1 4029 7 discriminator 1 view .LVU206 632 002a 43F04003 orr r3, r3, #64 633 .LVL49: 4029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 634 .loc 1 4029 7 is_stmt 1 discriminator 1 view .LVU207 635 .LBB552: 636 .LBI552: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 637 .loc 2 1202 31 discriminator 1 view .LVU208 638 .LBB553: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 639 .loc 2 1204 4 discriminator 1 view .LVU209 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 640 .loc 2 1206 4 discriminator 1 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 discriminator 1 view .LVU211 647 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU212 648 .thumb 649 .syntax unified 650 .LBE553: 651 .LBE552: 4029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 652 .loc 1 4029 7 discriminator 1 view .LVU213 653 0032 0029 cmp r1, #0 654 0034 F6D1 bne .L19 655 0036 7047 bx lr 656 .LVL51: 657 .L17: 4029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 658 .loc 1 4029 7 discriminator 1 view .LVU214 659 .LBE549: 4033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL); 660 .loc 1 4033 7 is_stmt 1 view .LVU215 4033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL); 661 .loc 1 4033 11 is_stmt 0 view .LVU216 662 0038 036D ldr r3, [r0, #80] 663 .LVL52: 4034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 664 .loc 1 4034 7 is_stmt 1 view .LVU217 4034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 665 .loc 1 4034 43 is_stmt 0 view .LVU218 666 003a 1B88 ldrh r3, [r3] 667 .LVL53: 4034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 668 .loc 1 4034 12 view .LVU219 669 003c 0268 ldr r2, [r0] 4034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 670 .loc 1 4034 50 view .LVU220 671 003e C3F30803 ubfx r3, r3, #0, #9 ARM GAS /tmp/cceWHrnJ.s page 107 4034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 672 .loc 1 4034 28 view .LVU221 673 0042 9362 str r3, [r2, #40] 674 .LVL54: 4035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; 675 .loc 1 4035 7 is_stmt 1 view .LVU222 4035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; 676 .loc 1 4035 12 is_stmt 0 view .LVU223 677 0044 036D ldr r3, [r0, #80] 4035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; 678 .loc 1 4035 25 view .LVU224 679 0046 0233 adds r3, r3, #2 680 0048 0365 str r3, [r0, #80] 4036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 681 .loc 1 4036 7 is_stmt 1 view .LVU225 4036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 682 .loc 1 4036 12 is_stmt 0 view .LVU226 683 004a B0F85630 ldrh r3, [r0, #86] 684 004e 9BB2 uxth r3, r3 4036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 685 .loc 1 4036 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 4039 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 700 UART_TxISR_8BIT_FIFOEN: 701 .LVL55: 702 .LFB392: 4040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 4042: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. 4043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note Function is called under interruption only, once 4044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT(). 4045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 4046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 4047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 4048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_TxISR_8BIT_FIFOEN(UART_HandleTypeDef *huart) 4049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 703 .loc 1 4049 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. 4050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t nb_tx_data; 708 .loc 1 4050 3 view .LVU230 4051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is ongoing */ 4053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) 709 .loc 1 4053 3 view .LVU231 ARM GAS /tmp/cceWHrnJ.s page 108 710 .loc 1 4053 12 is_stmt 0 view .LVU232 711 0000 D0F88430 ldr r3, [r0, #132] 712 .loc 1 4053 6 view .LVU233 713 0004 212B cmp r3, #33 714 0006 00D0 beq .L29 715 .L21: 4054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** for (nb_tx_data = huart->NbTxDataToProcess ; nb_tx_data > 0U ; nb_tx_data--) 4056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->TxXferCount == 0U) 4058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the TX FIFO threshold interrupt */ 4060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 4061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */ 4063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE); 4064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; /* force exit loop */ 4066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else if (READ_BIT(huart->Instance->ISR, USART_ISR_TXE_TXFNF) != 0U) 4068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->TDR = (uint8_t)(*huart->pTxBuffPtr & (uint8_t)0xFF); 4070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr++; 4071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; 4072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 4074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Nothing to do */ 4076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 716 .loc 1 4079 1 view .LVU234 717 0008 7047 bx lr 718 .L29: 4055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 719 .loc 1 4055 5 is_stmt 1 view .LVU235 4055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 720 .loc 1 4055 21 is_stmt 0 view .LVU236 721 000a B0F86A30 ldrh r3, [r0, #106] 722 .LVL56: 4055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 723 .loc 1 4055 5 view .LVU237 724 000e 17E0 b .L23 725 .LVL57: 726 .L25: 4060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 727 .loc 1 4060 9 is_stmt 1 discriminator 1 view .LVU238 728 .LBB554: 4060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 729 .loc 1 4060 9 discriminator 1 view .LVU239 4060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 730 .loc 1 4060 9 discriminator 1 view .LVU240 4060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 731 .loc 1 4060 9 discriminator 1 view .LVU241 732 0010 0268 ldr r2, [r0] 733 .LVL58: ARM GAS /tmp/cceWHrnJ.s page 109 734 .LBB555: 735 .LBI555: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 736 .loc 2 1151 31 discriminator 1 view .LVU242 737 .LBB556: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 738 .loc 2 1153 5 discriminator 1 view .LVU243 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 739 .loc 2 1155 4 discriminator 1 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 discriminator 1 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 discriminator 1 view .LVU246 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 749 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU247 750 .thumb 751 .syntax unified 752 .LBE556: 753 .LBE555: 4060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 754 .loc 1 4060 9 discriminator 1 view .LVU248 755 001a 23F40003 bic r3, r3, #8388608 756 .LVL61: 4060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 757 .loc 1 4060 9 is_stmt 1 discriminator 1 view .LVU249 758 .LBB557: 759 .LBI557: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 760 .loc 2 1202 31 discriminator 1 view .LVU250 761 .LBB558: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 762 .loc 2 1204 4 discriminator 1 view .LVU251 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 763 .loc 2 1206 4 discriminator 1 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 discriminator 1 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 discriminator 1 view .LVU254 773 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU255 774 .thumb 775 .syntax unified 776 .LBE558: 777 .LBE557: 4060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 110 778 .loc 1 4060 9 discriminator 1 view .LVU256 779 0024 0029 cmp r1, #0 780 0026 F3D1 bne .L25 781 .LVL64: 782 .L26: 4060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 783 .loc 1 4060 9 discriminator 1 view .LVU257 784 .LBE554: 4060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 785 .loc 1 4060 9 is_stmt 1 discriminator 1 view .LVU258 4063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 786 .loc 1 4063 9 discriminator 1 view .LVU259 787 .LBB559: 4063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 788 .loc 1 4063 9 discriminator 1 view .LVU260 4063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 789 .loc 1 4063 9 discriminator 1 view .LVU261 4063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 790 .loc 1 4063 9 discriminator 1 view .LVU262 791 0028 0268 ldr r2, [r0] 792 .LVL65: 793 .LBB560: 794 .LBI560: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 795 .loc 2 1151 31 discriminator 1 view .LVU263 796 .LBB561: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 797 .loc 2 1153 5 discriminator 1 view .LVU264 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 798 .loc 2 1155 4 discriminator 1 view .LVU265 799 .syntax unified 800 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 801 002a 52E8003F ldrex r3, [r2] 802 @ 0 "" 2 803 .LVL66: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 804 .loc 2 1156 4 discriminator 1 view .LVU266 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 805 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU267 806 .thumb 807 .syntax unified 808 .LBE561: 809 .LBE560: 4063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 810 .loc 1 4063 9 discriminator 1 view .LVU268 811 002e 43F04003 orr r3, r3, #64 812 .LVL67: 4063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 813 .loc 1 4063 9 is_stmt 1 discriminator 1 view .LVU269 814 .LBB562: 815 .LBI562: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 816 .loc 2 1202 31 discriminator 1 view .LVU270 817 .LBB563: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 818 .loc 2 1204 4 discriminator 1 view .LVU271 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS /tmp/cceWHrnJ.s page 111 819 .loc 2 1206 4 discriminator 1 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 discriminator 1 view .LVU273 826 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU274 827 .thumb 828 .syntax unified 829 .LBE563: 830 .LBE562: 4063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 831 .loc 1 4063 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: 4063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 837 .loc 1 4063 9 discriminator 1 view .LVU276 838 .LBE559: 4076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 839 .loc 1 4076 7 is_stmt 1 discriminator 2 view .LVU277 4055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 840 .loc 1 4055 78 discriminator 2 view .LVU278 841 003c 013B subs r3, r3, #1 842 .LVL70: 4055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 843 .loc 1 4055 78 is_stmt 0 discriminator 2 view .LVU279 844 003e 9BB2 uxth r3, r3 845 .LVL71: 846 .L23: 4055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 847 .loc 1 4055 61 is_stmt 1 discriminator 1 view .LVU280 848 0040 002B cmp r3, #0 849 0042 E1D0 beq .L21 4057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 850 .loc 1 4057 7 view .LVU281 4057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 851 .loc 1 4057 16 is_stmt 0 view .LVU282 852 0044 B0F85620 ldrh r2, [r0, #86] 853 0048 92B2 uxth r2, r2 4057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 854 .loc 1 4057 10 view .LVU283 855 004a 002A cmp r2, #0 856 004c E0D0 beq .L25 4067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 857 .loc 1 4067 12 is_stmt 1 view .LVU284 4067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 858 .loc 1 4067 16 is_stmt 0 view .LVU285 859 004e 0268 ldr r2, [r0] 860 0050 D169 ldr r1, [r2, #28] 4067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 861 .loc 1 4067 15 view .LVU286 862 0052 11F0800F tst r1, #128 863 0056 F1D0 beq .L27 ARM GAS /tmp/cceWHrnJ.s page 112 4069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr++; 864 .loc 1 4069 9 is_stmt 1 view .LVU287 4069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr++; 865 .loc 1 4069 48 is_stmt 0 view .LVU288 866 0058 016D ldr r1, [r0, #80] 4069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr++; 867 .loc 1 4069 42 view .LVU289 868 005a 0978 ldrb r1, [r1] @ zero_extendqisi2 4069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr++; 869 .loc 1 4069 30 view .LVU290 870 005c 9162 str r1, [r2, #40] 4070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; 871 .loc 1 4070 9 is_stmt 1 view .LVU291 4070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; 872 .loc 1 4070 14 is_stmt 0 view .LVU292 873 005e 026D ldr r2, [r0, #80] 4070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; 874 .loc 1 4070 26 view .LVU293 875 0060 0132 adds r2, r2, #1 876 0062 0265 str r2, [r0, #80] 4071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 877 .loc 1 4071 9 is_stmt 1 view .LVU294 4071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 878 .loc 1 4071 14 is_stmt 0 view .LVU295 879 0064 B0F85620 ldrh r2, [r0, #86] 880 0068 92B2 uxth r2, r2 4071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 881 .loc 1 4071 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 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: 4080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 4082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief TX interrupt handler for 9 bits data word length and FIFO mode is enabled. 4083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note Function is called under interruption only, once 4084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT(). 4085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 4086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 4087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 4088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_TxISR_16BIT_FIFOEN(UART_HandleTypeDef *huart) 4089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 898 .loc 1 4089 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. ARM GAS /tmp/cceWHrnJ.s page 113 4090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const uint16_t *tmp; 903 .loc 1 4090 3 view .LVU298 4091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t nb_tx_data; 904 .loc 1 4091 3 view .LVU299 4092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is ongoing */ 4094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) 905 .loc 1 4094 3 view .LVU300 906 .loc 1 4094 12 is_stmt 0 view .LVU301 907 0000 D0F88430 ldr r3, [r0, #132] 908 .loc 1 4094 6 view .LVU302 909 0004 212B cmp r3, #33 910 0006 00D0 beq .L38 911 .L30: 4095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** for (nb_tx_data = huart->NbTxDataToProcess ; nb_tx_data > 0U ; nb_tx_data--) 4097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->TxXferCount == 0U) 4099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the TX FIFO threshold interrupt */ 4101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 4102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */ 4104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE); 4105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; /* force exit loop */ 4107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else if (READ_BIT(huart->Instance->ISR, USART_ISR_TXE_TXFNF) != 0U) 4109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tmp = (const uint16_t *) huart->pTxBuffPtr; 4111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL); 4112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 4113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; 4114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 4116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Nothing to do */ 4118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 912 .loc 1 4121 1 view .LVU303 913 0008 7047 bx lr 914 .L38: 4096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 915 .loc 1 4096 5 is_stmt 1 view .LVU304 4096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 916 .loc 1 4096 21 is_stmt 0 view .LVU305 917 000a B0F86A30 ldrh r3, [r0, #106] 918 .LVL73: 4096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 919 .loc 1 4096 5 view .LVU306 920 000e 17E0 b .L32 921 .LVL74: 922 .L34: 4101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 923 .loc 1 4101 9 is_stmt 1 discriminator 1 view .LVU307 ARM GAS /tmp/cceWHrnJ.s page 114 924 .LBB564: 4101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 925 .loc 1 4101 9 discriminator 1 view .LVU308 4101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 926 .loc 1 4101 9 discriminator 1 view .LVU309 4101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 927 .loc 1 4101 9 discriminator 1 view .LVU310 928 0010 0268 ldr r2, [r0] 929 .LVL75: 930 .LBB565: 931 .LBI565: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 932 .loc 2 1151 31 discriminator 1 view .LVU311 933 .LBB566: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 934 .loc 2 1153 5 discriminator 1 view .LVU312 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 935 .loc 2 1155 4 discriminator 1 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 discriminator 1 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 discriminator 1 view .LVU315 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 945 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU316 946 .thumb 947 .syntax unified 948 .LBE566: 949 .LBE565: 4101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 950 .loc 1 4101 9 discriminator 1 view .LVU317 951 001a 23F40003 bic r3, r3, #8388608 952 .LVL78: 4101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 953 .loc 1 4101 9 is_stmt 1 discriminator 1 view .LVU318 954 .LBB567: 955 .LBI567: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 956 .loc 2 1202 31 discriminator 1 view .LVU319 957 .LBB568: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 958 .loc 2 1204 4 discriminator 1 view .LVU320 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 959 .loc 2 1206 4 discriminator 1 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 discriminator 1 view .LVU322 963 .syntax unified 964 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 965 0020 42E80031 strex r1, r3, [r2] ARM GAS /tmp/cceWHrnJ.s page 115 966 @ 0 "" 2 967 .LVL80: 968 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU323 969 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU324 970 .thumb 971 .syntax unified 972 .LBE568: 973 .LBE567: 4101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 974 .loc 1 4101 9 discriminator 1 view .LVU325 975 0024 0029 cmp r1, #0 976 0026 F3D1 bne .L34 977 .LVL81: 978 .L35: 4101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 979 .loc 1 4101 9 discriminator 1 view .LVU326 980 .LBE564: 4101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 981 .loc 1 4101 9 is_stmt 1 discriminator 1 view .LVU327 4104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 982 .loc 1 4104 9 discriminator 1 view .LVU328 983 .LBB569: 4104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 984 .loc 1 4104 9 discriminator 1 view .LVU329 4104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 985 .loc 1 4104 9 discriminator 1 view .LVU330 4104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 986 .loc 1 4104 9 discriminator 1 view .LVU331 987 0028 0268 ldr r2, [r0] 988 .LVL82: 989 .LBB570: 990 .LBI570: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 991 .loc 2 1151 31 discriminator 1 view .LVU332 992 .LBB571: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 993 .loc 2 1153 5 discriminator 1 view .LVU333 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 994 .loc 2 1155 4 discriminator 1 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 discriminator 1 view .LVU335 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1001 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU336 1002 .thumb 1003 .syntax unified 1004 .LBE571: 1005 .LBE570: 4104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1006 .loc 1 4104 9 discriminator 1 view .LVU337 1007 002e 43F04003 orr r3, r3, #64 1008 .LVL84: 4104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 116 1009 .loc 1 4104 9 is_stmt 1 discriminator 1 view .LVU338 1010 .LBB572: 1011 .LBI572: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1012 .loc 2 1202 31 discriminator 1 view .LVU339 1013 .LBB573: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 1014 .loc 2 1204 4 discriminator 1 view .LVU340 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1015 .loc 2 1206 4 discriminator 1 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 discriminator 1 view .LVU342 1022 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU343 1023 .thumb 1024 .syntax unified 1025 .LBE573: 1026 .LBE572: 4104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1027 .loc 1 4104 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: 4104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1033 .loc 1 4104 9 discriminator 1 view .LVU345 1034 .LBE569: 4118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1035 .loc 1 4118 7 is_stmt 1 discriminator 2 view .LVU346 4096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1036 .loc 1 4096 78 discriminator 2 view .LVU347 1037 003c 013B subs r3, r3, #1 1038 .LVL87: 4096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1039 .loc 1 4096 78 is_stmt 0 discriminator 2 view .LVU348 1040 003e 9BB2 uxth r3, r3 1041 .LVL88: 1042 .L32: 4096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1043 .loc 1 4096 61 is_stmt 1 discriminator 1 view .LVU349 1044 0040 002B cmp r3, #0 1045 0042 E1D0 beq .L30 4098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1046 .loc 1 4098 7 view .LVU350 4098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1047 .loc 1 4098 16 is_stmt 0 view .LVU351 1048 0044 B0F85620 ldrh r2, [r0, #86] 1049 0048 92B2 uxth r2, r2 4098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1050 .loc 1 4098 10 view .LVU352 1051 004a 002A cmp r2, #0 1052 004c E0D0 beq .L34 4108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cceWHrnJ.s page 117 1053 .loc 1 4108 12 is_stmt 1 view .LVU353 4108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1054 .loc 1 4108 16 is_stmt 0 view .LVU354 1055 004e 0268 ldr r2, [r0] 1056 0050 D169 ldr r1, [r2, #28] 4108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1057 .loc 1 4108 15 view .LVU355 1058 0052 11F0800F tst r1, #128 1059 0056 F1D0 beq .L36 4110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL); 1060 .loc 1 4110 9 is_stmt 1 view .LVU356 4110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL); 1061 .loc 1 4110 13 is_stmt 0 view .LVU357 1062 0058 016D ldr r1, [r0, #80] 1063 .LVL89: 4111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 1064 .loc 1 4111 9 is_stmt 1 view .LVU358 4111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 1065 .loc 1 4111 45 is_stmt 0 view .LVU359 1066 005a 0988 ldrh r1, [r1] 1067 .LVL90: 4111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 1068 .loc 1 4111 52 view .LVU360 1069 005c C1F30801 ubfx r1, r1, #0, #9 4111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 1070 .loc 1 4111 30 view .LVU361 1071 0060 9162 str r1, [r2, #40] 1072 .LVL91: 4112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; 1073 .loc 1 4112 9 is_stmt 1 view .LVU362 4112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; 1074 .loc 1 4112 14 is_stmt 0 view .LVU363 1075 0062 026D ldr r2, [r0, #80] 4112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--; 1076 .loc 1 4112 27 view .LVU364 1077 0064 0232 adds r2, r2, #2 1078 0066 0265 str r2, [r0, #80] 4113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1079 .loc 1 4113 9 is_stmt 1 view .LVU365 4113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1080 .loc 1 4113 14 is_stmt 0 view .LVU366 1081 0068 B0F85620 ldrh r2, [r0, #86] 1082 006c 92B2 uxth r2, r2 4113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1083 .loc 1 4113 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 ARM GAS /tmp/cceWHrnJ.s page 118 1098 HAL_UART_MspInit: 1099 .LVL92: 1100 .LFB334: 671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 1101 .loc 1 671 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. 673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1106 .loc 1 673 3 view .LVU369 678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1107 .loc 1 678 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: 686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 1122 .loc 1 686 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. 688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1127 .loc 1 688 3 view .LVU372 693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1128 .loc 1 693 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: 625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */ 1143 .loc 1 625 1 is_stmt 1 view -0 1144 .cfi_startproc 1145 @ args = 0, pretend = 0, frame = 0 1146 @ frame_needed = 0, uses_anonymous_args = 0 627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1147 .loc 1 627 3 view .LVU375 627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1148 .loc 1 627 6 is_stmt 0 view .LVU376 1149 0000 E8B1 cbz r0, .L43 ARM GAS /tmp/cceWHrnJ.s page 119 625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */ 1150 .loc 1 625 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 633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1159 .loc 1 633 3 is_stmt 1 view .LVU378 635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1160 .loc 1 635 3 view .LVU379 635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1161 .loc 1 635 17 is_stmt 0 view .LVU380 1162 0006 2423 movs r3, #36 1163 0008 C0F88430 str r3, [r0, #132] 637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1164 .loc 1 637 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] 639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->CR2 = 0x0U; 1169 .loc 1 639 3 view .LVU382 639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->CR2 = 0x0U; 1170 .loc 1 639 8 is_stmt 0 view .LVU383 1171 0016 0368 ldr r3, [r0] 639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->CR2 = 0x0U; 1172 .loc 1 639 24 view .LVU384 1173 0018 0024 movs r4, #0 1174 001a 1C60 str r4, [r3] 640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->CR3 = 0x0U; 1175 .loc 1 640 3 is_stmt 1 view .LVU385 640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->CR3 = 0x0U; 1176 .loc 1 640 8 is_stmt 0 view .LVU386 1177 001c 0368 ldr r3, [r0] 640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->CR3 = 0x0U; 1178 .loc 1 640 24 view .LVU387 1179 001e 5C60 str r4, [r3, #4] 641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1180 .loc 1 641 3 is_stmt 1 view .LVU388 641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1181 .loc 1 641 8 is_stmt 0 view .LVU389 1182 0020 0368 ldr r3, [r0] 641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1183 .loc 1 641 24 view .LVU390 1184 0022 9C60 str r4, [r3, #8] 652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 1185 .loc 1 652 3 is_stmt 1 view .LVU391 1186 0024 FFF7FEFF bl HAL_UART_MspDeInit 1187 .LVL95: 655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET; 1188 .loc 1 655 3 view .LVU392 655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET; 1189 .loc 1 655 20 is_stmt 0 view .LVU393 ARM GAS /tmp/cceWHrnJ.s page 120 1190 0028 C5F88C40 str r4, [r5, #140] 656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET; 1191 .loc 1 656 3 is_stmt 1 view .LVU394 656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET; 1192 .loc 1 656 17 is_stmt 0 view .LVU395 1193 002c C5F88440 str r4, [r5, #132] 657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1194 .loc 1 657 3 is_stmt 1 view .LVU396 657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1195 .loc 1 657 18 is_stmt 0 view .LVU397 1196 0030 C5F88840 str r4, [r5, #136] 658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1197 .loc 1 658 3 is_stmt 1 view .LVU398 658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1198 .loc 1 658 24 is_stmt 0 view .LVU399 1199 0034 EC66 str r4, [r5, #108] 660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1200 .loc 1 660 3 is_stmt 1 view .LVU400 660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1201 .loc 1 660 3 view .LVU401 1202 0036 85F88040 strb r4, [r5, #128] 660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1203 .loc 1 660 3 view .LVU402 662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1204 .loc 1 662 3 view .LVU403 662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1205 .loc 1 662 10 is_stmt 0 view .LVU404 1206 003a 2046 mov r0, r4 663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1207 .loc 1 663 1 view .LVU405 1208 003c 38BD pop {r3, r4, r5, pc} 1209 .LVL96: 1210 .L43: 1211 .LCFI1: 1212 .cfi_def_cfa_offset 0 1213 .cfi_restore 3 1214 .cfi_restore 4 1215 .cfi_restore 5 1216 .cfi_restore 14 629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1217 .loc 1 629 12 view .LVU406 1218 003e 0120 movs r0, #1 1219 .LVL97: 663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1220 .loc 1 663 1 view .LVU407 1221 0040 7047 bx lr 1222 .cfi_endproc 1223 .LFE333: 1225 .section .text.HAL_UART_Transmit_IT,"ax",%progbits 1226 .align 1 1227 .global HAL_UART_Transmit_IT 1228 .syntax unified 1229 .thumb 1230 .thumb_func 1232 HAL_UART_Transmit_IT: 1233 .LVL98: 1234 .LFB338: ARM GAS /tmp/cceWHrnJ.s page 121 1297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1235 .loc 1 1297 1 is_stmt 1 view -0 1236 .cfi_startproc 1237 @ args = 0, pretend = 0, frame = 0 1238 @ frame_needed = 0, uses_anonymous_args = 0 1239 @ link register save eliminated. 1299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1240 .loc 1 1299 3 view .LVU409 1299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1241 .loc 1 1299 12 is_stmt 0 view .LVU410 1242 0000 D0F88430 ldr r3, [r0, #132] 1299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1243 .loc 1 1299 6 view .LVU411 1244 0004 202B cmp r3, #32 1245 0006 50D1 bne .L58 1301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1246 .loc 1 1301 5 is_stmt 1 view .LVU412 1301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1247 .loc 1 1301 8 is_stmt 0 view .LVU413 1248 0008 0029 cmp r1, #0 1249 000a 50D0 beq .L59 1301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1250 .loc 1 1301 25 discriminator 1 view .LVU414 1251 000c 002A cmp r2, #0 1252 000e 50D0 beq .L60 1306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1253 .loc 1 1306 5 is_stmt 1 view .LVU415 1306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1254 .loc 1 1306 5 view .LVU416 1255 0010 90F88030 ldrb r3, [r0, #128] @ zero_extendqisi2 1256 0014 012B cmp r3, #1 1257 0016 4ED0 beq .L61 1306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1258 .loc 1 1306 5 discriminator 2 view .LVU417 1259 0018 0123 movs r3, #1 1260 001a 80F88030 strb r3, [r0, #128] 1306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1261 .loc 1 1306 5 discriminator 2 view .LVU418 1308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferSize = Size; 1262 .loc 1 1308 5 discriminator 2 view .LVU419 1308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferSize = Size; 1263 .loc 1 1308 24 is_stmt 0 discriminator 2 view .LVU420 1264 001e 0165 str r1, [r0, #80] 1309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = Size; 1265 .loc 1 1309 5 is_stmt 1 discriminator 2 view .LVU421 1309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = Size; 1266 .loc 1 1309 24 is_stmt 0 discriminator 2 view .LVU422 1267 0020 A0F85420 strh r2, [r0, #84] @ movhi 1310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL; 1268 .loc 1 1310 5 is_stmt 1 discriminator 2 view .LVU423 1310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL; 1269 .loc 1 1310 24 is_stmt 0 discriminator 2 view .LVU424 1270 0024 A0F85620 strh r2, [r0, #86] @ movhi 1311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1271 .loc 1 1311 5 is_stmt 1 discriminator 2 view .LVU425 1311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1272 .loc 1 1311 24 is_stmt 0 discriminator 2 view .LVU426 ARM GAS /tmp/cceWHrnJ.s page 122 1273 0028 0023 movs r3, #0 1274 002a 4367 str r3, [r0, #116] 1313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1275 .loc 1 1313 5 is_stmt 1 discriminator 2 view .LVU427 1313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1276 .loc 1 1313 22 is_stmt 0 discriminator 2 view .LVU428 1277 002c C0F88C30 str r3, [r0, #140] 1314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1278 .loc 1 1314 5 is_stmt 1 discriminator 2 view .LVU429 1314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1279 .loc 1 1314 19 is_stmt 0 discriminator 2 view .LVU430 1280 0030 2123 movs r3, #33 1281 0032 C0F88430 str r3, [r0, #132] 1317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1282 .loc 1 1317 5 is_stmt 1 discriminator 2 view .LVU431 1317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1283 .loc 1 1317 14 is_stmt 0 discriminator 2 view .LVU432 1284 0036 436E ldr r3, [r0, #100] 1317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1285 .loc 1 1317 8 discriminator 2 view .LVU433 1286 0038 B3F1005F cmp r3, #536870912 1287 003c 13D0 beq .L62 1337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1288 .loc 1 1337 7 is_stmt 1 view .LVU434 1337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1289 .loc 1 1337 23 is_stmt 0 view .LVU435 1290 003e 8368 ldr r3, [r0, #8] 1337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1291 .loc 1 1337 10 view .LVU436 1292 0040 B3F5805F cmp r3, #4096 1293 0044 2BD0 beq .L63 1294 .L55: 1343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1295 .loc 1 1343 9 is_stmt 1 view .LVU437 1343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1296 .loc 1 1343 22 is_stmt 0 view .LVU438 1297 0046 1D4B ldr r3, .L65 1298 0048 4367 str r3, [r0, #116] 1299 .L56: 1346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1300 .loc 1 1346 7 is_stmt 1 view .LVU439 1346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1301 .loc 1 1346 7 view .LVU440 1302 004a 0023 movs r3, #0 1303 004c 80F88030 strb r3, [r0, #128] 1304 .LVL99: 1305 .L57: 1346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1306 .loc 1 1346 7 discriminator 1 view .LVU441 1349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1307 .loc 1 1349 7 discriminator 1 view .LVU442 1308 .LBB574: 1349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1309 .loc 1 1349 7 discriminator 1 view .LVU443 1349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1310 .loc 1 1349 7 discriminator 1 view .LVU444 1349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cceWHrnJ.s page 123 1311 .loc 1 1349 7 discriminator 1 view .LVU445 1312 0050 0268 ldr r2, [r0] 1313 .LVL100: 1314 .LBB575: 1315 .LBI575: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1316 .loc 2 1151 31 discriminator 1 view .LVU446 1317 .LBB576: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 1318 .loc 2 1153 5 discriminator 1 view .LVU447 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1319 .loc 2 1155 4 discriminator 1 view .LVU448 1320 .syntax unified 1321 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1322 0052 52E8003F ldrex r3, [r2] 1323 @ 0 "" 2 1324 .LVL101: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1325 .loc 2 1156 4 discriminator 1 view .LVU449 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1326 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU450 1327 .thumb 1328 .syntax unified 1329 .LBE576: 1330 .LBE575: 1349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1331 .loc 1 1349 7 discriminator 1 view .LVU451 1332 0056 43F08003 orr r3, r3, #128 1333 .LVL102: 1349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1334 .loc 1 1349 7 is_stmt 1 discriminator 1 view .LVU452 1335 .LBB577: 1336 .LBI577: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1337 .loc 2 1202 31 discriminator 1 view .LVU453 1338 .LBB578: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 1339 .loc 2 1204 4 discriminator 1 view .LVU454 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1340 .loc 2 1206 4 discriminator 1 view .LVU455 1341 .syntax unified 1342 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1343 005a 42E80031 strex r1, r3, [r2] 1344 @ 0 "" 2 1345 .LVL103: 1346 .loc 2 1207 4 discriminator 1 view .LVU456 1347 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU457 1348 .thumb 1349 .syntax unified 1350 .LBE578: 1351 .LBE577: 1349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1352 .loc 1 1349 7 discriminator 1 view .LVU458 1353 005e 0029 cmp r1, #0 1354 0060 F6D1 bne .L57 1355 .LVL104: 1356 .L54: ARM GAS /tmp/cceWHrnJ.s page 124 1349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1357 .loc 1 1349 7 discriminator 1 view .LVU459 1358 .LBE574: 1349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1359 .loc 1 1349 7 is_stmt 1 discriminator 2 view .LVU460 1352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1360 .loc 1 1352 5 discriminator 2 view .LVU461 1352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1361 .loc 1 1352 12 is_stmt 0 discriminator 2 view .LVU462 1362 0062 0020 movs r0, #0 1363 .LVL105: 1352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1364 .loc 1 1352 12 discriminator 2 view .LVU463 1365 0064 7047 bx lr 1366 .LVL106: 1367 .L62: 1320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1368 .loc 1 1320 7 is_stmt 1 view .LVU464 1320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1369 .loc 1 1320 23 is_stmt 0 view .LVU465 1370 0066 8368 ldr r3, [r0, #8] 1320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1371 .loc 1 1320 10 view .LVU466 1372 0068 B3F5805F cmp r3, #4096 1373 006c 11D0 beq .L64 1374 .L51: 1326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1375 .loc 1 1326 9 is_stmt 1 view .LVU467 1326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1376 .loc 1 1326 22 is_stmt 0 view .LVU468 1377 006e 144B ldr r3, .L65+4 1378 0070 4367 str r3, [r0, #116] 1379 .L52: 1329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1380 .loc 1 1329 7 is_stmt 1 view .LVU469 1329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1381 .loc 1 1329 7 view .LVU470 1382 0072 0023 movs r3, #0 1383 0074 80F88030 strb r3, [r0, #128] 1384 .LVL107: 1385 .L53: 1329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1386 .loc 1 1329 7 discriminator 1 view .LVU471 1332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1387 .loc 1 1332 7 discriminator 1 view .LVU472 1388 .LBB579: 1332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1389 .loc 1 1332 7 discriminator 1 view .LVU473 1332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1390 .loc 1 1332 7 discriminator 1 view .LVU474 1332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1391 .loc 1 1332 7 discriminator 1 view .LVU475 1392 0078 0268 ldr r2, [r0] 1393 .LVL108: 1394 .LBB580: 1395 .LBI580: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { ARM GAS /tmp/cceWHrnJ.s page 125 1396 .loc 2 1151 31 discriminator 1 view .LVU476 1397 .LBB581: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 1398 .loc 2 1153 5 discriminator 1 view .LVU477 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1399 .loc 2 1155 4 discriminator 1 view .LVU478 1400 007a 02F10803 add r3, r2, #8 1401 .LVL109: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1402 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU479 1403 .syntax unified 1404 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1405 007e 53E8003F ldrex r3, [r3] 1406 @ 0 "" 2 1407 .LVL110: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1408 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU480 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1409 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU481 1410 .thumb 1411 .syntax unified 1412 .LBE581: 1413 .LBE580: 1332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1414 .loc 1 1332 7 discriminator 1 view .LVU482 1415 0082 43F40003 orr r3, r3, #8388608 1416 .LVL111: 1332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1417 .loc 1 1332 7 is_stmt 1 discriminator 1 view .LVU483 1418 .LBB582: 1419 .LBI582: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1420 .loc 2 1202 31 discriminator 1 view .LVU484 1421 .LBB583: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 1422 .loc 2 1204 4 discriminator 1 view .LVU485 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1423 .loc 2 1206 4 discriminator 1 view .LVU486 1424 0086 0832 adds r2, r2, #8 1425 .LVL112: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1426 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU487 1427 .syntax unified 1428 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1429 0088 42E80031 strex r1, r3, [r2] 1430 @ 0 "" 2 1431 .LVL113: 1432 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU488 1433 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU489 1434 .thumb 1435 .syntax unified 1436 .LBE583: 1437 .LBE582: 1332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1438 .loc 1 1332 7 discriminator 1 view .LVU490 1439 008c 0029 cmp r1, #0 1440 008e F3D1 bne .L53 ARM GAS /tmp/cceWHrnJ.s page 126 1441 0090 E7E7 b .L54 1442 .LVL114: 1443 .L64: 1332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1444 .loc 1 1332 7 discriminator 1 view .LVU491 1445 .LBE579: 1320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1446 .loc 1 1320 73 discriminator 1 view .LVU492 1447 0092 0369 ldr r3, [r0, #16] 1320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1448 .loc 1 1320 58 discriminator 1 view .LVU493 1449 0094 002B cmp r3, #0 1450 0096 EAD1 bne .L51 1322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1451 .loc 1 1322 9 is_stmt 1 view .LVU494 1322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1452 .loc 1 1322 22 is_stmt 0 view .LVU495 1453 0098 0A4B ldr r3, .L65+8 1454 009a 4367 str r3, [r0, #116] 1455 009c E9E7 b .L52 1456 .L63: 1337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1457 .loc 1 1337 73 discriminator 1 view .LVU496 1458 009e 0369 ldr r3, [r0, #16] 1337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1459 .loc 1 1337 58 discriminator 1 view .LVU497 1460 00a0 002B cmp r3, #0 1461 00a2 D0D1 bne .L55 1339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1462 .loc 1 1339 9 is_stmt 1 view .LVU498 1339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1463 .loc 1 1339 22 is_stmt 0 view .LVU499 1464 00a4 084B ldr r3, .L65+12 1465 00a6 4367 str r3, [r0, #116] 1466 00a8 CFE7 b .L56 1467 .L58: 1356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1468 .loc 1 1356 12 view .LVU500 1469 00aa 0220 movs r0, #2 1470 .LVL115: 1356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1471 .loc 1 1356 12 view .LVU501 1472 00ac 7047 bx lr 1473 .LVL116: 1474 .L59: 1303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1475 .loc 1 1303 14 view .LVU502 1476 00ae 0120 movs r0, #1 1477 .LVL117: 1303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1478 .loc 1 1303 14 view .LVU503 1479 00b0 7047 bx lr 1480 .LVL118: 1481 .L60: 1303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1482 .loc 1 1303 14 view .LVU504 1483 00b2 0120 movs r0, #1 ARM GAS /tmp/cceWHrnJ.s page 127 1484 .LVL119: 1303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1485 .loc 1 1303 14 view .LVU505 1486 00b4 7047 bx lr 1487 .LVL120: 1488 .L61: 1306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1489 .loc 1 1306 5 view .LVU506 1490 00b6 0220 movs r0, #2 1491 .LVL121: 1358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1492 .loc 1 1358 1 view .LVU507 1493 00b8 7047 bx lr 1494 .L66: 1495 00ba 00BF .align 2 1496 .L65: 1497 00bc 00000000 .word UART_TxISR_8BIT 1498 00c0 00000000 .word UART_TxISR_8BIT_FIFOEN 1499 00c4 00000000 .word UART_TxISR_16BIT_FIFOEN 1500 00c8 00000000 .word UART_TxISR_16BIT 1501 .cfi_endproc 1502 .LFE338: 1504 .section .text.HAL_UART_Transmit_DMA,"ax",%progbits 1505 .align 1 1506 .global HAL_UART_Transmit_DMA 1507 .syntax unified 1508 .thumb 1509 .thumb_func 1511 HAL_UART_Transmit_DMA: 1512 .LVL122: 1513 .LFB340: 1414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1514 .loc 1 1414 1 is_stmt 1 view -0 1515 .cfi_startproc 1516 @ args = 0, pretend = 0, frame = 0 1517 @ frame_needed = 0, uses_anonymous_args = 0 1414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1518 .loc 1 1414 1 is_stmt 0 view .LVU509 1519 0000 1346 mov r3, r2 1416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1520 .loc 1 1416 3 is_stmt 1 view .LVU510 1416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1521 .loc 1 1416 12 is_stmt 0 view .LVU511 1522 0002 D0F88420 ldr r2, [r0, #132] 1523 .LVL123: 1416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1524 .loc 1 1416 6 view .LVU512 1525 0006 202A cmp r2, #32 1526 0008 4AD1 bne .L71 1414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1527 .loc 1 1414 1 view .LVU513 1528 000a 10B5 push {r4, lr} 1529 .LCFI2: 1530 .cfi_def_cfa_offset 8 1531 .cfi_offset 4, -8 1532 .cfi_offset 14, -4 1533 000c 0446 mov r4, r0 ARM GAS /tmp/cceWHrnJ.s page 128 1418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1534 .loc 1 1418 5 is_stmt 1 view .LVU514 1418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1535 .loc 1 1418 8 is_stmt 0 view .LVU515 1536 000e 0029 cmp r1, #0 1537 0010 48D0 beq .L72 1418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1538 .loc 1 1418 25 discriminator 1 view .LVU516 1539 0012 002B cmp r3, #0 1540 0014 48D0 beq .L73 1423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1541 .loc 1 1423 5 is_stmt 1 view .LVU517 1423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1542 .loc 1 1423 5 view .LVU518 1543 0016 90F88020 ldrb r2, [r0, #128] @ zero_extendqisi2 1544 001a 012A cmp r2, #1 1545 001c 46D0 beq .L74 1423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1546 .loc 1 1423 5 discriminator 2 view .LVU519 1547 001e 0122 movs r2, #1 1548 0020 80F88020 strb r2, [r0, #128] 1423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1549 .loc 1 1423 5 discriminator 2 view .LVU520 1425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferSize = Size; 1550 .loc 1 1425 5 discriminator 2 view .LVU521 1425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferSize = Size; 1551 .loc 1 1425 24 is_stmt 0 discriminator 2 view .LVU522 1552 0024 0165 str r1, [r0, #80] 1426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = Size; 1553 .loc 1 1426 5 is_stmt 1 discriminator 2 view .LVU523 1426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = Size; 1554 .loc 1 1426 24 is_stmt 0 discriminator 2 view .LVU524 1555 0026 A0F85430 strh r3, [r0, #84] @ movhi 1427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1556 .loc 1 1427 5 is_stmt 1 discriminator 2 view .LVU525 1427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1557 .loc 1 1427 24 is_stmt 0 discriminator 2 view .LVU526 1558 002a A0F85630 strh r3, [r0, #86] @ movhi 1429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1559 .loc 1 1429 5 is_stmt 1 discriminator 2 view .LVU527 1429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1560 .loc 1 1429 22 is_stmt 0 discriminator 2 view .LVU528 1561 002e 0022 movs r2, #0 1562 0030 C0F88C20 str r2, [r0, #140] 1430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1563 .loc 1 1430 5 is_stmt 1 discriminator 2 view .LVU529 1430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1564 .loc 1 1430 19 is_stmt 0 discriminator 2 view .LVU530 1565 0034 2122 movs r2, #33 1566 0036 C0F88420 str r2, [r0, #132] 1432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1567 .loc 1 1432 5 is_stmt 1 discriminator 2 view .LVU531 1432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1568 .loc 1 1432 14 is_stmt 0 discriminator 2 view .LVU532 1569 003a 826F ldr r2, [r0, #120] 1432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1570 .loc 1 1432 8 discriminator 2 view .LVU533 ARM GAS /tmp/cceWHrnJ.s page 129 1571 003c E2B1 cbz r2, .L69 1435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1572 .loc 1 1435 7 is_stmt 1 view .LVU534 1435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1573 .loc 1 1435 39 is_stmt 0 view .LVU535 1574 003e 1C49 ldr r1, .L79 1575 .LVL124: 1435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1576 .loc 1 1435 39 view .LVU536 1577 0040 D162 str r1, [r2, #44] 1578 .LVL125: 1438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1579 .loc 1 1438 7 is_stmt 1 view .LVU537 1438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1580 .loc 1 1438 12 is_stmt 0 view .LVU538 1581 0042 826F ldr r2, [r0, #120] 1438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1582 .loc 1 1438 43 view .LVU539 1583 0044 1B49 ldr r1, .L79+4 1584 0046 1163 str r1, [r2, #48] 1441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1585 .loc 1 1441 7 is_stmt 1 view .LVU540 1441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1586 .loc 1 1441 12 is_stmt 0 view .LVU541 1587 0048 826F ldr r2, [r0, #120] 1441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1588 .loc 1 1441 40 view .LVU542 1589 004a 1B49 ldr r1, .L79+8 1590 004c 5163 str r1, [r2, #52] 1444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1591 .loc 1 1444 7 is_stmt 1 view .LVU543 1444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1592 .loc 1 1444 12 is_stmt 0 view .LVU544 1593 004e 826F ldr r2, [r0, #120] 1444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1594 .loc 1 1444 40 view .LVU545 1595 0050 0021 movs r1, #0 1596 0052 9163 str r1, [r2, #56] 1447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1597 .loc 1 1447 7 is_stmt 1 view .LVU546 1447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1598 .loc 1 1447 88 is_stmt 0 view .LVU547 1599 0054 0268 ldr r2, [r0] 1447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1600 .loc 1 1447 11 view .LVU548 1601 0056 2832 adds r2, r2, #40 1602 0058 016D ldr r1, [r0, #80] 1603 005a 806F ldr r0, [r0, #120] 1604 .LVL126: 1447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1605 .loc 1 1447 11 view .LVU549 1606 005c FFF7FEFF bl HAL_DMA_Start_IT 1607 .LVL127: 1447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 1608 .loc 1 1447 10 view .LVU550 1609 0060 50B1 cbz r0, .L69 1450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 130 1610 .loc 1 1450 9 is_stmt 1 view .LVU551 1450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1611 .loc 1 1450 26 is_stmt 0 view .LVU552 1612 0062 1023 movs r3, #16 1613 0064 C4F88C30 str r3, [r4, #140] 1452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1614 .loc 1 1452 9 is_stmt 1 view .LVU553 1452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1615 .loc 1 1452 9 view .LVU554 1616 0068 0023 movs r3, #0 1617 006a 84F88030 strb r3, [r4, #128] 1452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1618 .loc 1 1452 9 view .LVU555 1455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1619 .loc 1 1455 9 view .LVU556 1455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1620 .loc 1 1455 23 is_stmt 0 view .LVU557 1621 006e 2023 movs r3, #32 1622 0070 C4F88430 str r3, [r4, #132] 1457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1623 .loc 1 1457 9 is_stmt 1 view .LVU558 1457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1624 .loc 1 1457 16 is_stmt 0 view .LVU559 1625 0074 0120 movs r0, #1 1626 0076 12E0 b .L68 1627 .L69: 1461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1628 .loc 1 1461 5 is_stmt 1 view .LVU560 1629 0078 2368 ldr r3, [r4] 1630 007a 4022 movs r2, #64 1631 007c 1A62 str r2, [r3, #32] 1463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1632 .loc 1 1463 5 view .LVU561 1463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1633 .loc 1 1463 5 view .LVU562 1634 007e 0023 movs r3, #0 1635 0080 84F88030 strb r3, [r4, #128] 1636 .L70: 1463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1637 .loc 1 1463 5 discriminator 1 view .LVU563 1467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1638 .loc 1 1467 5 discriminator 1 view .LVU564 1639 .LBB584: 1467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1640 .loc 1 1467 5 discriminator 1 view .LVU565 1467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1641 .loc 1 1467 5 discriminator 1 view .LVU566 1467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1642 .loc 1 1467 5 discriminator 1 view .LVU567 1643 0084 2268 ldr r2, [r4] 1644 .LVL128: 1645 .LBB585: 1646 .LBI585: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1647 .loc 2 1151 31 discriminator 1 view .LVU568 1648 .LBB586: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** ARM GAS /tmp/cceWHrnJ.s page 131 1649 .loc 2 1153 5 discriminator 1 view .LVU569 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1650 .loc 2 1155 4 discriminator 1 view .LVU570 1651 0086 02F10803 add r3, r2, #8 1652 .LVL129: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1653 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU571 1654 .syntax unified 1655 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1656 008a 53E8003F ldrex r3, [r3] 1657 @ 0 "" 2 1658 .LVL130: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1659 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU572 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1660 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU573 1661 .thumb 1662 .syntax unified 1663 .LBE586: 1664 .LBE585: 1467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1665 .loc 1 1467 5 discriminator 1 view .LVU574 1666 008e 43F08003 orr r3, r3, #128 1667 .LVL131: 1467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1668 .loc 1 1467 5 is_stmt 1 discriminator 1 view .LVU575 1669 .LBB587: 1670 .LBI587: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1671 .loc 2 1202 31 discriminator 1 view .LVU576 1672 .LBB588: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 1673 .loc 2 1204 4 discriminator 1 view .LVU577 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1674 .loc 2 1206 4 discriminator 1 view .LVU578 1675 0092 0832 adds r2, r2, #8 1676 .LVL132: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1677 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU579 1678 .syntax unified 1679 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1680 0094 42E80031 strex r1, r3, [r2] 1681 @ 0 "" 2 1682 .LVL133: 1683 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU580 1684 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU581 1685 .thumb 1686 .syntax unified 1687 .LBE588: 1688 .LBE587: 1467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1689 .loc 1 1467 5 discriminator 1 view .LVU582 1690 0098 0029 cmp r1, #0 1691 009a F3D1 bne .L70 1692 .LBE584: 1469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1693 .loc 1 1469 12 view .LVU583 ARM GAS /tmp/cceWHrnJ.s page 132 1694 009c 0020 movs r0, #0 1695 .LVL134: 1696 .L68: 1475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1697 .loc 1 1475 1 view .LVU584 1698 009e 10BD pop {r4, pc} 1699 .LVL135: 1700 .L71: 1701 .LCFI3: 1702 .cfi_def_cfa_offset 0 1703 .cfi_restore 4 1704 .cfi_restore 14 1473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1705 .loc 1 1473 12 view .LVU585 1706 00a0 0220 movs r0, #2 1707 .LVL136: 1475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1708 .loc 1 1475 1 view .LVU586 1709 00a2 7047 bx lr 1710 .LVL137: 1711 .L72: 1712 .LCFI4: 1713 .cfi_def_cfa_offset 8 1714 .cfi_offset 4, -8 1715 .cfi_offset 14, -4 1420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1716 .loc 1 1420 14 view .LVU587 1717 00a4 0120 movs r0, #1 1718 .LVL138: 1420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1719 .loc 1 1420 14 view .LVU588 1720 00a6 FAE7 b .L68 1721 .LVL139: 1722 .L73: 1420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1723 .loc 1 1420 14 view .LVU589 1724 00a8 0120 movs r0, #1 1725 .LVL140: 1420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1726 .loc 1 1420 14 view .LVU590 1727 00aa F8E7 b .L68 1728 .LVL141: 1729 .L74: 1423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1730 .loc 1 1423 5 view .LVU591 1731 00ac 0220 movs r0, #2 1732 .LVL142: 1423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1733 .loc 1 1423 5 view .LVU592 1734 00ae F6E7 b .L68 1735 .L80: 1736 .align 2 1737 .L79: 1738 00b0 00000000 .word UART_DMATransmitCplt 1739 00b4 00000000 .word UART_DMATxHalfCplt 1740 00b8 00000000 .word UART_DMAError 1741 .cfi_endproc ARM GAS /tmp/cceWHrnJ.s page 133 1742 .LFE340: 1744 .section .text.HAL_UART_DMAPause,"ax",%progbits 1745 .align 1 1746 .global HAL_UART_DMAPause 1747 .syntax unified 1748 .thumb 1749 .thumb_func 1751 HAL_UART_DMAPause: 1752 .LVL143: 1753 .LFB342: 1528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; 1754 .loc 1 1528 1 is_stmt 1 view -0 1755 .cfi_startproc 1756 @ args = 0, pretend = 0, frame = 0 1757 @ frame_needed = 0, uses_anonymous_args = 0 1758 @ link register save eliminated. 1528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; 1759 .loc 1 1528 1 is_stmt 0 view .LVU594 1760 0000 10B4 push {r4} 1761 .LCFI5: 1762 .cfi_def_cfa_offset 4 1763 .cfi_offset 4, -4 1529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1764 .loc 1 1529 3 is_stmt 1 view .LVU595 1529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1765 .loc 1 1529 31 is_stmt 0 view .LVU596 1766 0002 D0F88410 ldr r1, [r0, #132] 1767 .LVL144: 1530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1768 .loc 1 1530 3 is_stmt 1 view .LVU597 1530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1769 .loc 1 1530 31 is_stmt 0 view .LVU598 1770 0006 D0F88840 ldr r4, [r0, #136] 1771 .LVL145: 1532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1772 .loc 1 1532 3 is_stmt 1 view .LVU599 1532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1773 .loc 1 1532 3 view .LVU600 1774 000a 90F88020 ldrb r2, [r0, #128] @ zero_extendqisi2 1775 000e 012A cmp r2, #1 1776 0010 46D0 beq .L89 1777 0012 0346 mov r3, r0 1532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1778 .loc 1 1532 3 discriminator 2 view .LVU601 1779 0014 0122 movs r2, #1 1780 0016 80F88020 strb r2, [r0, #128] 1532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1781 .loc 1 1532 3 discriminator 2 view .LVU602 1534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1782 .loc 1 1534 3 discriminator 2 view .LVU603 1534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1783 .loc 1 1534 8 is_stmt 0 discriminator 2 view .LVU604 1784 001a 0268 ldr r2, [r0] 1785 001c 9268 ldr r2, [r2, #8] 1534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1786 .loc 1 1534 6 discriminator 2 view .LVU605 1787 001e 12F0800F tst r2, #128 ARM GAS /tmp/cceWHrnJ.s page 134 1788 0022 01D0 beq .L83 1534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1789 .loc 1 1534 62 discriminator 1 view .LVU606 1790 0024 2129 cmp r1, #33 1791 0026 0CD0 beq .L84 1792 .LVL146: 1793 .L83: 1538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1794 .loc 1 1538 5 is_stmt 1 discriminator 2 view .LVU607 1540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1795 .loc 1 1540 3 discriminator 2 view .LVU608 1540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1796 .loc 1 1540 8 is_stmt 0 discriminator 2 view .LVU609 1797 0028 1A68 ldr r2, [r3] 1798 002a 9268 ldr r2, [r2, #8] 1540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1799 .loc 1 1540 6 discriminator 2 view .LVU610 1800 002c 12F0400F tst r2, #64 1801 0030 01D0 beq .L85 1540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1802 .loc 1 1540 62 discriminator 1 view .LVU611 1803 0032 222C cmp r4, #34 1804 0034 12D0 beq .L86 1805 .L85: 1548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1806 .loc 1 1548 5 is_stmt 1 discriminator 2 view .LVU612 1551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1807 .loc 1 1551 3 discriminator 2 view .LVU613 1551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1808 .loc 1 1551 3 discriminator 2 view .LVU614 1809 0036 0020 movs r0, #0 1810 0038 83F88000 strb r0, [r3, #128] 1551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1811 .loc 1 1551 3 discriminator 2 view .LVU615 1553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1812 .loc 1 1553 3 discriminator 2 view .LVU616 1813 .LVL147: 1814 .L82: 1554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1815 .loc 1 1554 1 is_stmt 0 view .LVU617 1816 003c 5DF8044B ldr r4, [sp], #4 1817 .LCFI6: 1818 .cfi_remember_state 1819 .cfi_restore 4 1820 .cfi_def_cfa_offset 0 1821 .LVL148: 1554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1822 .loc 1 1554 1 view .LVU618 1823 0040 7047 bx lr 1824 .LVL149: 1825 .L84: 1826 .LCFI7: 1827 .cfi_restore_state 1538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1828 .loc 1 1538 5 is_stmt 1 discriminator 1 view .LVU619 1829 .LBB589: 1538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cceWHrnJ.s page 135 1830 .loc 1 1538 5 discriminator 1 view .LVU620 1538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1831 .loc 1 1538 5 discriminator 1 view .LVU621 1538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1832 .loc 1 1538 5 discriminator 1 view .LVU622 1833 0042 1968 ldr r1, [r3] 1834 .LVL150: 1835 .LBB590: 1836 .LBI590: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1837 .loc 2 1151 31 discriminator 1 view .LVU623 1838 .LBB591: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 1839 .loc 2 1153 5 discriminator 1 view .LVU624 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1840 .loc 2 1155 4 discriminator 1 view .LVU625 1841 0044 01F10802 add r2, r1, #8 1842 .LVL151: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1843 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU626 1844 .syntax unified 1845 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1846 0048 52E8002F ldrex r2, [r2] 1847 @ 0 "" 2 1848 .LVL152: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1849 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU627 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1850 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU628 1851 .thumb 1852 .syntax unified 1853 .LBE591: 1854 .LBE590: 1538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1855 .loc 1 1538 5 discriminator 1 view .LVU629 1856 004c 22F08002 bic r2, r2, #128 1857 .LVL153: 1538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1858 .loc 1 1538 5 is_stmt 1 discriminator 1 view .LVU630 1859 .LBB592: 1860 .LBI592: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1861 .loc 2 1202 31 discriminator 1 view .LVU631 1862 .LBB593: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 1863 .loc 2 1204 4 discriminator 1 view .LVU632 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1864 .loc 2 1206 4 discriminator 1 view .LVU633 1865 0050 0831 adds r1, r1, #8 1866 .LVL154: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1867 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU634 1868 .syntax unified 1869 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1870 0052 41E80020 strex r0, r2, [r1] 1871 @ 0 "" 2 1872 .LVL155: ARM GAS /tmp/cceWHrnJ.s page 136 1873 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU635 1874 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU636 1875 .thumb 1876 .syntax unified 1877 .LBE593: 1878 .LBE592: 1538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1879 .loc 1 1538 5 discriminator 1 view .LVU637 1880 0056 0028 cmp r0, #0 1881 0058 F3D1 bne .L84 1882 005a E5E7 b .L83 1883 .LVL156: 1884 .L86: 1538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1885 .loc 1 1538 5 discriminator 1 view .LVU638 1886 .LBE589: 1544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1887 .loc 1 1544 5 is_stmt 1 discriminator 1 view .LVU639 1888 .LBB594: 1544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1889 .loc 1 1544 5 discriminator 1 view .LVU640 1544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1890 .loc 1 1544 5 discriminator 1 view .LVU641 1544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1891 .loc 1 1544 5 discriminator 1 view .LVU642 1892 005c 1968 ldr r1, [r3] 1893 .LVL157: 1894 .LBB595: 1895 .LBI595: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1896 .loc 2 1151 31 discriminator 1 view .LVU643 1897 .LBB596: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 1898 .loc 2 1153 5 discriminator 1 view .LVU644 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1899 .loc 2 1155 4 discriminator 1 view .LVU645 1900 .syntax unified 1901 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1902 005e 51E8002F ldrex r2, [r1] 1903 @ 0 "" 2 1904 .LVL158: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1905 .loc 2 1156 4 discriminator 1 view .LVU646 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1906 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU647 1907 .thumb 1908 .syntax unified 1909 .LBE596: 1910 .LBE595: 1544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1911 .loc 1 1544 5 discriminator 1 view .LVU648 1912 0062 22F48072 bic r2, r2, #256 1913 .LVL159: 1544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1914 .loc 1 1544 5 is_stmt 1 discriminator 1 view .LVU649 1915 .LBB597: 1916 .LBI597: ARM GAS /tmp/cceWHrnJ.s page 137 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1917 .loc 2 1202 31 discriminator 1 view .LVU650 1918 .LBB598: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 1919 .loc 2 1204 4 discriminator 1 view .LVU651 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1920 .loc 2 1206 4 discriminator 1 view .LVU652 1921 .syntax unified 1922 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1923 0066 41E80020 strex r0, r2, [r1] 1924 @ 0 "" 2 1925 .LVL160: 1926 .loc 2 1207 4 discriminator 1 view .LVU653 1927 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU654 1928 .thumb 1929 .syntax unified 1930 .LBE598: 1931 .LBE597: 1544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1932 .loc 1 1544 5 discriminator 1 view .LVU655 1933 006a 0028 cmp r0, #0 1934 006c F6D1 bne .L86 1935 .LVL161: 1936 .L87: 1544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1937 .loc 1 1544 5 discriminator 1 view .LVU656 1938 .LBE594: 1544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1939 .loc 1 1544 5 is_stmt 1 discriminator 1 view .LVU657 1545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1940 .loc 1 1545 5 discriminator 1 view .LVU658 1941 .LBB599: 1545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1942 .loc 1 1545 5 discriminator 1 view .LVU659 1545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1943 .loc 1 1545 5 discriminator 1 view .LVU660 1545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1944 .loc 1 1545 5 discriminator 1 view .LVU661 1945 006e 1968 ldr r1, [r3] 1946 .LVL162: 1947 .LBB600: 1948 .LBI600: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1949 .loc 2 1151 31 discriminator 1 view .LVU662 1950 .LBB601: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 1951 .loc 2 1153 5 discriminator 1 view .LVU663 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1952 .loc 2 1155 4 discriminator 1 view .LVU664 1953 0070 01F10802 add r2, r1, #8 1954 .LVL163: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1955 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU665 1956 .syntax unified 1957 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1958 0074 52E8002F ldrex r2, [r2] 1959 @ 0 "" 2 ARM GAS /tmp/cceWHrnJ.s page 138 1960 .LVL164: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1961 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU666 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1962 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU667 1963 .thumb 1964 .syntax unified 1965 .LBE601: 1966 .LBE600: 1545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1967 .loc 1 1545 5 discriminator 1 view .LVU668 1968 0078 22F00102 bic r2, r2, #1 1969 .LVL165: 1545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1970 .loc 1 1545 5 is_stmt 1 discriminator 1 view .LVU669 1971 .LBB602: 1972 .LBI602: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1973 .loc 2 1202 31 discriminator 1 view .LVU670 1974 .LBB603: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 1975 .loc 2 1204 4 discriminator 1 view .LVU671 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1976 .loc 2 1206 4 discriminator 1 view .LVU672 1977 007c 0831 adds r1, r1, #8 1978 .LVL166: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1979 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU673 1980 .syntax unified 1981 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1982 007e 41E80020 strex r0, r2, [r1] 1983 @ 0 "" 2 1984 .LVL167: 1985 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU674 1986 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU675 1987 .thumb 1988 .syntax unified 1989 .LBE603: 1990 .LBE602: 1545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1991 .loc 1 1545 5 discriminator 1 view .LVU676 1992 0082 0028 cmp r0, #0 1993 0084 F3D1 bne .L87 1994 .LVL168: 1995 .L88: 1545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1996 .loc 1 1545 5 discriminator 1 view .LVU677 1997 .LBE599: 1545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 1998 .loc 1 1545 5 is_stmt 1 discriminator 1 view .LVU678 1548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 1999 .loc 1 1548 5 discriminator 1 view .LVU679 2000 .LBB604: 1548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2001 .loc 1 1548 5 discriminator 1 view .LVU680 1548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2002 .loc 1 1548 5 discriminator 1 view .LVU681 ARM GAS /tmp/cceWHrnJ.s page 139 1548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2003 .loc 1 1548 5 discriminator 1 view .LVU682 2004 0086 1968 ldr r1, [r3] 2005 .LVL169: 2006 .LBB605: 2007 .LBI605: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2008 .loc 2 1151 31 discriminator 1 view .LVU683 2009 .LBB606: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 2010 .loc 2 1153 5 discriminator 1 view .LVU684 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2011 .loc 2 1155 4 discriminator 1 view .LVU685 2012 0088 01F10802 add r2, r1, #8 2013 .LVL170: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2014 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU686 2015 .syntax unified 2016 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2017 008c 52E8002F ldrex r2, [r2] 2018 @ 0 "" 2 2019 .LVL171: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2020 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU687 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2021 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU688 2022 .thumb 2023 .syntax unified 2024 .LBE606: 2025 .LBE605: 1548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2026 .loc 1 1548 5 discriminator 1 view .LVU689 2027 0090 22F04002 bic r2, r2, #64 2028 .LVL172: 1548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2029 .loc 1 1548 5 is_stmt 1 discriminator 1 view .LVU690 2030 .LBB607: 2031 .LBI607: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2032 .loc 2 1202 31 discriminator 1 view .LVU691 2033 .LBB608: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 2034 .loc 2 1204 4 discriminator 1 view .LVU692 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2035 .loc 2 1206 4 discriminator 1 view .LVU693 2036 0094 0831 adds r1, r1, #8 2037 .LVL173: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2038 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU694 2039 .syntax unified 2040 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2041 0096 41E80020 strex r0, r2, [r1] 2042 @ 0 "" 2 2043 .LVL174: 2044 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU695 2045 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU696 2046 .thumb ARM GAS /tmp/cceWHrnJ.s page 140 2047 .syntax unified 2048 .LBE608: 2049 .LBE607: 1548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2050 .loc 1 1548 5 discriminator 1 view .LVU697 2051 009a 0028 cmp r0, #0 2052 009c F3D1 bne .L88 2053 009e CAE7 b .L85 2054 .LVL175: 2055 .L89: 1548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2056 .loc 1 1548 5 discriminator 1 view .LVU698 2057 .LBE604: 1532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2058 .loc 1 1532 3 view .LVU699 2059 00a0 0220 movs r0, #2 2060 .LVL176: 1532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2061 .loc 1 1532 3 view .LVU700 2062 00a2 CBE7 b .L82 2063 .cfi_endproc 2064 .LFE342: 2066 .section .text.HAL_UART_DMAResume,"ax",%progbits 2067 .align 1 2068 .global HAL_UART_DMAResume 2069 .syntax unified 2070 .thumb 2071 .thumb_func 2073 HAL_UART_DMAResume: 2074 .LVL177: 2075 .LFB343: 1562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 2076 .loc 1 1562 1 is_stmt 1 view -0 2077 .cfi_startproc 2078 @ args = 0, pretend = 0, frame = 0 2079 @ frame_needed = 0, uses_anonymous_args = 0 2080 @ link register save eliminated. 1562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 2081 .loc 1 1562 1 is_stmt 0 view .LVU702 2082 0000 0346 mov r3, r0 1563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2083 .loc 1 1563 3 is_stmt 1 view .LVU703 1563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2084 .loc 1 1563 3 view .LVU704 2085 0002 90F88020 ldrb r2, [r0, #128] @ zero_extendqisi2 2086 0006 012A cmp r2, #1 2087 0008 42D0 beq .L100 1563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2088 .loc 1 1563 3 discriminator 2 view .LVU705 2089 000a 0122 movs r2, #1 2090 000c 80F88020 strb r2, [r0, #128] 1563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2091 .loc 1 1563 3 discriminator 2 view .LVU706 1565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2092 .loc 1 1565 3 discriminator 2 view .LVU707 1565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2093 .loc 1 1565 12 is_stmt 0 discriminator 2 view .LVU708 ARM GAS /tmp/cceWHrnJ.s page 141 2094 0010 D0F88420 ldr r2, [r0, #132] 1565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2095 .loc 1 1565 6 discriminator 2 view .LVU709 2096 0014 212A cmp r2, #33 2097 0016 07D0 beq .L94 2098 .LVL178: 2099 .L93: 1568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2100 .loc 1 1568 5 is_stmt 1 discriminator 2 view .LVU710 1570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2101 .loc 1 1570 3 discriminator 2 view .LVU711 1570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2102 .loc 1 1570 12 is_stmt 0 discriminator 2 view .LVU712 2103 0018 D3F88820 ldr r2, [r3, #136] 1570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2104 .loc 1 1570 6 discriminator 2 view .LVU713 2105 001c 222A cmp r2, #34 2106 001e 10D0 beq .L101 2107 .L95: 1583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2108 .loc 1 1583 5 is_stmt 1 discriminator 2 view .LVU714 1586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2109 .loc 1 1586 3 discriminator 2 view .LVU715 1586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2110 .loc 1 1586 3 discriminator 2 view .LVU716 2111 0020 0020 movs r0, #0 2112 0022 83F88000 strb r0, [r3, #128] 1586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2113 .loc 1 1586 3 discriminator 2 view .LVU717 1588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2114 .loc 1 1588 3 discriminator 2 view .LVU718 1588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2115 .loc 1 1588 10 is_stmt 0 discriminator 2 view .LVU719 2116 0026 7047 bx lr 2117 .L94: 1568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2118 .loc 1 1568 5 is_stmt 1 discriminator 1 view .LVU720 2119 .LBB609: 1568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2120 .loc 1 1568 5 discriminator 1 view .LVU721 1568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2121 .loc 1 1568 5 discriminator 1 view .LVU722 1568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2122 .loc 1 1568 5 discriminator 1 view .LVU723 2123 0028 1968 ldr r1, [r3] 2124 .LVL179: 2125 .LBB610: 2126 .LBI610: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2127 .loc 2 1151 31 discriminator 1 view .LVU724 2128 .LBB611: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 2129 .loc 2 1153 5 discriminator 1 view .LVU725 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2130 .loc 2 1155 4 discriminator 1 view .LVU726 2131 002a 01F10802 add r2, r1, #8 2132 .LVL180: ARM GAS /tmp/cceWHrnJ.s page 142 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2133 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU727 2134 .syntax unified 2135 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2136 002e 52E8002F ldrex r2, [r2] 2137 @ 0 "" 2 2138 .LVL181: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2139 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU728 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2140 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU729 2141 .thumb 2142 .syntax unified 2143 .LBE611: 2144 .LBE610: 1568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2145 .loc 1 1568 5 discriminator 1 view .LVU730 2146 0032 42F08002 orr r2, r2, #128 2147 .LVL182: 1568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2148 .loc 1 1568 5 is_stmt 1 discriminator 1 view .LVU731 2149 .LBB612: 2150 .LBI612: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2151 .loc 2 1202 31 discriminator 1 view .LVU732 2152 .LBB613: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 2153 .loc 2 1204 4 discriminator 1 view .LVU733 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2154 .loc 2 1206 4 discriminator 1 view .LVU734 2155 0036 0831 adds r1, r1, #8 2156 .LVL183: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2157 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU735 2158 .syntax unified 2159 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2160 0038 41E80020 strex r0, r2, [r1] 2161 @ 0 "" 2 2162 .LVL184: 2163 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU736 2164 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU737 2165 .thumb 2166 .syntax unified 2167 .LBE613: 2168 .LBE612: 1568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2169 .loc 1 1568 5 discriminator 1 view .LVU738 2170 003c 0028 cmp r0, #0 2171 003e F3D1 bne .L94 2172 0040 EAE7 b .L93 2173 .LVL185: 2174 .L101: 1568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2175 .loc 1 1568 5 discriminator 1 view .LVU739 2176 .LBE609: 1573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2177 .loc 1 1573 5 is_stmt 1 view .LVU740 ARM GAS /tmp/cceWHrnJ.s page 143 2178 0042 1A68 ldr r2, [r3] 2179 0044 0821 movs r1, #8 2180 0046 1162 str r1, [r2, #32] 1576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2181 .loc 1 1576 5 view .LVU741 1576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2182 .loc 1 1576 20 is_stmt 0 view .LVU742 2183 0048 1A69 ldr r2, [r3, #16] 1576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2184 .loc 1 1576 8 view .LVU743 2185 004a 42B1 cbz r2, .L98 2186 .L97: 1578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2187 .loc 1 1578 7 is_stmt 1 discriminator 1 view .LVU744 2188 .LBB614: 1578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2189 .loc 1 1578 7 discriminator 1 view .LVU745 1578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2190 .loc 1 1578 7 discriminator 1 view .LVU746 1578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2191 .loc 1 1578 7 discriminator 1 view .LVU747 2192 004c 1968 ldr r1, [r3] 2193 .LVL186: 2194 .LBB615: 2195 .LBI615: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2196 .loc 2 1151 31 discriminator 1 view .LVU748 2197 .LBB616: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 2198 .loc 2 1153 5 discriminator 1 view .LVU749 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2199 .loc 2 1155 4 discriminator 1 view .LVU750 2200 .syntax unified 2201 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2202 004e 51E8002F ldrex r2, [r1] 2203 @ 0 "" 2 2204 .LVL187: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2205 .loc 2 1156 4 discriminator 1 view .LVU751 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2206 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU752 2207 .thumb 2208 .syntax unified 2209 .LBE616: 2210 .LBE615: 1578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2211 .loc 1 1578 7 discriminator 1 view .LVU753 2212 0052 42F48072 orr r2, r2, #256 2213 .LVL188: 1578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2214 .loc 1 1578 7 is_stmt 1 discriminator 1 view .LVU754 2215 .LBB617: 2216 .LBI617: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2217 .loc 2 1202 31 discriminator 1 view .LVU755 2218 .LBB618: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** ARM GAS /tmp/cceWHrnJ.s page 144 2219 .loc 2 1204 4 discriminator 1 view .LVU756 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2220 .loc 2 1206 4 discriminator 1 view .LVU757 2221 .syntax unified 2222 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2223 0056 41E80020 strex r0, r2, [r1] 2224 @ 0 "" 2 2225 .LVL189: 2226 .loc 2 1207 4 discriminator 1 view .LVU758 2227 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU759 2228 .thumb 2229 .syntax unified 2230 .LBE618: 2231 .LBE617: 1578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2232 .loc 1 1578 7 discriminator 1 view .LVU760 2233 005a 0028 cmp r0, #0 2234 005c F6D1 bne .L97 2235 .LVL190: 2236 .L98: 1578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2237 .loc 1 1578 7 discriminator 1 view .LVU761 2238 .LBE614: 1578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2239 .loc 1 1578 7 is_stmt 1 discriminator 1 view .LVU762 1580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2240 .loc 1 1580 5 discriminator 1 view .LVU763 2241 .LBB619: 1580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2242 .loc 1 1580 5 discriminator 1 view .LVU764 1580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2243 .loc 1 1580 5 discriminator 1 view .LVU765 1580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2244 .loc 1 1580 5 discriminator 1 view .LVU766 2245 005e 1968 ldr r1, [r3] 2246 .LVL191: 2247 .LBB620: 2248 .LBI620: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2249 .loc 2 1151 31 discriminator 1 view .LVU767 2250 .LBB621: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 2251 .loc 2 1153 5 discriminator 1 view .LVU768 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2252 .loc 2 1155 4 discriminator 1 view .LVU769 2253 0060 01F10802 add r2, r1, #8 2254 .LVL192: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2255 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU770 2256 .syntax unified 2257 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2258 0064 52E8002F ldrex r2, [r2] 2259 @ 0 "" 2 2260 .LVL193: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2261 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU771 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } ARM GAS /tmp/cceWHrnJ.s page 145 2262 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU772 2263 .thumb 2264 .syntax unified 2265 .LBE621: 2266 .LBE620: 1580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2267 .loc 1 1580 5 discriminator 1 view .LVU773 2268 0068 42F00102 orr r2, r2, #1 2269 .LVL194: 1580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2270 .loc 1 1580 5 is_stmt 1 discriminator 1 view .LVU774 2271 .LBB622: 2272 .LBI622: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2273 .loc 2 1202 31 discriminator 1 view .LVU775 2274 .LBB623: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 2275 .loc 2 1204 4 discriminator 1 view .LVU776 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2276 .loc 2 1206 4 discriminator 1 view .LVU777 2277 006c 0831 adds r1, r1, #8 2278 .LVL195: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2279 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU778 2280 .syntax unified 2281 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2282 006e 41E80020 strex r0, r2, [r1] 2283 @ 0 "" 2 2284 .LVL196: 2285 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU779 2286 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU780 2287 .thumb 2288 .syntax unified 2289 .LBE623: 2290 .LBE622: 1580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2291 .loc 1 1580 5 discriminator 1 view .LVU781 2292 0072 0028 cmp r0, #0 2293 0074 F3D1 bne .L98 2294 .LVL197: 2295 .L99: 1580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2296 .loc 1 1580 5 discriminator 1 view .LVU782 2297 .LBE619: 1580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2298 .loc 1 1580 5 is_stmt 1 discriminator 1 view .LVU783 1583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2299 .loc 1 1583 5 discriminator 1 view .LVU784 2300 .LBB624: 1583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2301 .loc 1 1583 5 discriminator 1 view .LVU785 1583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2302 .loc 1 1583 5 discriminator 1 view .LVU786 1583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2303 .loc 1 1583 5 discriminator 1 view .LVU787 2304 0076 1968 ldr r1, [r3] 2305 .LVL198: ARM GAS /tmp/cceWHrnJ.s page 146 2306 .LBB625: 2307 .LBI625: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2308 .loc 2 1151 31 discriminator 1 view .LVU788 2309 .LBB626: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 2310 .loc 2 1153 5 discriminator 1 view .LVU789 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2311 .loc 2 1155 4 discriminator 1 view .LVU790 2312 0078 01F10802 add r2, r1, #8 2313 .LVL199: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2314 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU791 2315 .syntax unified 2316 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2317 007c 52E8002F ldrex r2, [r2] 2318 @ 0 "" 2 2319 .LVL200: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2320 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU792 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2321 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU793 2322 .thumb 2323 .syntax unified 2324 .LBE626: 2325 .LBE625: 1583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2326 .loc 1 1583 5 discriminator 1 view .LVU794 2327 0080 42F04002 orr r2, r2, #64 2328 .LVL201: 1583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2329 .loc 1 1583 5 is_stmt 1 discriminator 1 view .LVU795 2330 .LBB627: 2331 .LBI627: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2332 .loc 2 1202 31 discriminator 1 view .LVU796 2333 .LBB628: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 2334 .loc 2 1204 4 discriminator 1 view .LVU797 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2335 .loc 2 1206 4 discriminator 1 view .LVU798 2336 0084 0831 adds r1, r1, #8 2337 .LVL202: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2338 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU799 2339 .syntax unified 2340 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2341 0086 41E80020 strex r0, r2, [r1] 2342 @ 0 "" 2 2343 .LVL203: 2344 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU800 2345 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU801 2346 .thumb 2347 .syntax unified 2348 .LBE628: 2349 .LBE627: 1583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cceWHrnJ.s page 147 2350 .loc 1 1583 5 discriminator 1 view .LVU802 2351 008a 0028 cmp r0, #0 2352 008c F3D1 bne .L99 2353 008e C7E7 b .L95 2354 .LVL204: 2355 .L100: 1583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2356 .loc 1 1583 5 discriminator 1 view .LVU803 2357 .LBE624: 1563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2358 .loc 1 1563 3 view .LVU804 2359 0090 0220 movs r0, #2 2360 .LVL205: 1589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2361 .loc 1 1589 1 view .LVU805 2362 0092 7047 bx lr 2363 .cfi_endproc 2364 .LFE343: 2366 .section .text.HAL_UART_DMAStop,"ax",%progbits 2367 .align 1 2368 .global HAL_UART_DMAStop 2369 .syntax unified 2370 .thumb 2371 .thumb_func 2373 HAL_UART_DMAStop: 2374 .LVL206: 2375 .LFB344: 1597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application 2376 .loc 1 1597 1 is_stmt 1 view -0 2377 .cfi_startproc 2378 @ args = 0, pretend = 0, frame = 0 2379 @ frame_needed = 0, uses_anonymous_args = 0 1597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application 2380 .loc 1 1597 1 is_stmt 0 view .LVU807 2381 0000 38B5 push {r3, r4, r5, lr} 2382 .LCFI8: 2383 .cfi_def_cfa_offset 16 2384 .cfi_offset 3, -16 2385 .cfi_offset 4, -12 2386 .cfi_offset 5, -8 2387 .cfi_offset 14, -4 2388 0002 0446 mov r4, r0 1605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 2389 .loc 1 1605 3 is_stmt 1 view .LVU808 1605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 2390 .loc 1 1605 31 is_stmt 0 view .LVU809 2391 0004 D0F88420 ldr r2, [r0, #132] 2392 .LVL207: 1606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2393 .loc 1 1606 3 is_stmt 1 view .LVU810 1606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2394 .loc 1 1606 31 is_stmt 0 view .LVU811 2395 0008 D0F88850 ldr r5, [r0, #136] 2396 .LVL208: 1609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 2397 .loc 1 1609 3 is_stmt 1 view .LVU812 1609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) ARM GAS /tmp/cceWHrnJ.s page 148 2398 .loc 1 1609 8 is_stmt 0 view .LVU813 2399 000c 0368 ldr r3, [r0] 2400 000e 9B68 ldr r3, [r3, #8] 1609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 2401 .loc 1 1609 6 view .LVU814 2402 0010 13F0800F tst r3, #128 2403 0014 01D0 beq .L103 1609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 2404 .loc 1 1609 62 discriminator 1 view .LVU815 2405 0016 212A cmp r2, #33 2406 0018 08D0 beq .L104 2407 .LVL209: 2408 .L103: 1633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 2409 .loc 1 1633 3 is_stmt 1 view .LVU816 1633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 2410 .loc 1 1633 8 is_stmt 0 view .LVU817 2411 001a 2368 ldr r3, [r4] 2412 001c 9B68 ldr r3, [r3, #8] 1633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 2413 .loc 1 1633 6 view .LVU818 2414 001e 13F0400F tst r3, #64 2415 0022 42D0 beq .L109 1633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 2416 .loc 1 1633 62 discriminator 1 view .LVU819 2417 0024 222D cmp r5, #34 2418 0026 20D0 beq .L107 1656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2419 .loc 1 1656 10 view .LVU820 2420 0028 0020 movs r0, #0 2421 002a 3FE0 b .L106 2422 .LVL210: 2423 .L104: 1612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2424 .loc 1 1612 5 is_stmt 1 discriminator 1 view .LVU821 2425 .LBB629: 1612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2426 .loc 1 1612 5 discriminator 1 view .LVU822 1612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2427 .loc 1 1612 5 discriminator 1 view .LVU823 1612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2428 .loc 1 1612 5 discriminator 1 view .LVU824 2429 002c 2268 ldr r2, [r4] 2430 .LVL211: 2431 .LBB630: 2432 .LBI630: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2433 .loc 2 1151 31 discriminator 1 view .LVU825 2434 .LBB631: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 2435 .loc 2 1153 5 discriminator 1 view .LVU826 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2436 .loc 2 1155 4 discriminator 1 view .LVU827 2437 002e 02F10803 add r3, r2, #8 2438 .LVL212: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2439 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU828 ARM GAS /tmp/cceWHrnJ.s page 149 2440 .syntax unified 2441 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2442 0032 53E8003F ldrex r3, [r3] 2443 @ 0 "" 2 2444 .LVL213: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2445 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU829 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2446 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU830 2447 .thumb 2448 .syntax unified 2449 .LBE631: 2450 .LBE630: 1612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2451 .loc 1 1612 5 discriminator 1 view .LVU831 2452 0036 23F08003 bic r3, r3, #128 2453 .LVL214: 1612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2454 .loc 1 1612 5 is_stmt 1 discriminator 1 view .LVU832 2455 .LBB632: 2456 .LBI632: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2457 .loc 2 1202 31 discriminator 1 view .LVU833 2458 .LBB633: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 2459 .loc 2 1204 4 discriminator 1 view .LVU834 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2460 .loc 2 1206 4 discriminator 1 view .LVU835 2461 003a 0832 adds r2, r2, #8 2462 .LVL215: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2463 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU836 2464 .syntax unified 2465 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2466 003c 42E80031 strex r1, r3, [r2] 2467 @ 0 "" 2 2468 .LVL216: 2469 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU837 2470 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU838 2471 .thumb 2472 .syntax unified 2473 .LBE633: 2474 .LBE632: 1612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2475 .loc 1 1612 5 discriminator 1 view .LVU839 2476 0040 0029 cmp r1, #0 2477 0042 F3D1 bne .L104 2478 .LBE629: 1612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2479 .loc 1 1612 5 is_stmt 1 discriminator 2 view .LVU840 1615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2480 .loc 1 1615 5 discriminator 2 view .LVU841 1615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2481 .loc 1 1615 14 is_stmt 0 discriminator 2 view .LVU842 2482 0044 A06F ldr r0, [r4, #120] 2483 .LVL217: 1615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cceWHrnJ.s page 150 2484 .loc 1 1615 8 discriminator 2 view .LVU843 2485 0046 10B1 cbz r0, .L105 1617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2486 .loc 1 1617 7 is_stmt 1 view .LVU844 1617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2487 .loc 1 1617 11 is_stmt 0 view .LVU845 2488 0048 FFF7FEFF bl HAL_DMA_Abort 2489 .LVL218: 1617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2490 .loc 1 1617 10 view .LVU846 2491 004c 18B9 cbnz r0, .L112 2492 .L105: 1629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2493 .loc 1 1629 5 is_stmt 1 view .LVU847 2494 004e 2046 mov r0, r4 2495 0050 FFF7FEFF bl UART_EndTxTransfer 2496 .LVL219: 2497 0054 E1E7 b .L103 2498 .L112: 1619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2499 .loc 1 1619 9 view .LVU848 1619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2500 .loc 1 1619 13 is_stmt 0 view .LVU849 2501 0056 A06F ldr r0, [r4, #120] 2502 0058 FFF7FEFF bl HAL_DMA_GetError 2503 .LVL220: 1619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2504 .loc 1 1619 12 view .LVU850 2505 005c 2028 cmp r0, #32 2506 005e F6D1 bne .L105 1622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2507 .loc 1 1622 11 is_stmt 1 view .LVU851 1622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2508 .loc 1 1622 28 is_stmt 0 view .LVU852 2509 0060 1023 movs r3, #16 2510 0062 C4F88C30 str r3, [r4, #140] 1624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2511 .loc 1 1624 11 is_stmt 1 view .LVU853 1624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2512 .loc 1 1624 18 is_stmt 0 view .LVU854 2513 0066 0320 movs r0, #3 2514 0068 20E0 b .L106 2515 .LVL221: 2516 .L107: 1636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2517 .loc 1 1636 5 is_stmt 1 discriminator 1 view .LVU855 2518 .LBB634: 1636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2519 .loc 1 1636 5 discriminator 1 view .LVU856 1636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2520 .loc 1 1636 5 discriminator 1 view .LVU857 1636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2521 .loc 1 1636 5 discriminator 1 view .LVU858 2522 006a 2268 ldr r2, [r4] 2523 .LVL222: 2524 .LBB635: 2525 .LBI635: ARM GAS /tmp/cceWHrnJ.s page 151 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2526 .loc 2 1151 31 discriminator 1 view .LVU859 2527 .LBB636: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 2528 .loc 2 1153 5 discriminator 1 view .LVU860 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2529 .loc 2 1155 4 discriminator 1 view .LVU861 2530 006c 02F10803 add r3, r2, #8 2531 .LVL223: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2532 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU862 2533 .syntax unified 2534 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2535 0070 53E8003F ldrex r3, [r3] 2536 @ 0 "" 2 2537 .LVL224: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2538 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU863 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2539 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU864 2540 .thumb 2541 .syntax unified 2542 .LBE636: 2543 .LBE635: 1636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2544 .loc 1 1636 5 discriminator 1 view .LVU865 2545 0074 23F04003 bic r3, r3, #64 2546 .LVL225: 1636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2547 .loc 1 1636 5 is_stmt 1 discriminator 1 view .LVU866 2548 .LBB637: 2549 .LBI637: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2550 .loc 2 1202 31 discriminator 1 view .LVU867 2551 .LBB638: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 2552 .loc 2 1204 4 discriminator 1 view .LVU868 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2553 .loc 2 1206 4 discriminator 1 view .LVU869 2554 0078 0832 adds r2, r2, #8 2555 .LVL226: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2556 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU870 2557 .syntax unified 2558 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2559 007a 42E80031 strex r1, r3, [r2] 2560 @ 0 "" 2 2561 .LVL227: 2562 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU871 2563 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU872 2564 .thumb 2565 .syntax unified 2566 .LBE638: 2567 .LBE637: 1636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2568 .loc 1 1636 5 discriminator 1 view .LVU873 2569 007e 0029 cmp r1, #0 ARM GAS /tmp/cceWHrnJ.s page 152 2570 0080 F3D1 bne .L107 2571 .LBE634: 1636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2572 .loc 1 1636 5 is_stmt 1 discriminator 2 view .LVU874 1639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2573 .loc 1 1639 5 discriminator 2 view .LVU875 1639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2574 .loc 1 1639 14 is_stmt 0 discriminator 2 view .LVU876 2575 0082 E06F ldr r0, [r4, #124] 1639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2576 .loc 1 1639 8 discriminator 2 view .LVU877 2577 0084 10B1 cbz r0, .L108 1641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2578 .loc 1 1641 7 is_stmt 1 view .LVU878 1641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2579 .loc 1 1641 11 is_stmt 0 view .LVU879 2580 0086 FFF7FEFF bl HAL_DMA_Abort 2581 .LVL228: 1641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2582 .loc 1 1641 10 view .LVU880 2583 008a 20B9 cbnz r0, .L113 2584 .L108: 1653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2585 .loc 1 1653 5 is_stmt 1 view .LVU881 2586 008c 2046 mov r0, r4 2587 008e FFF7FEFF bl UART_EndRxTransfer 2588 .LVL229: 1656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2589 .loc 1 1656 10 is_stmt 0 view .LVU882 2590 0092 0020 movs r0, #0 2591 0094 0AE0 b .L106 2592 .L113: 1643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2593 .loc 1 1643 9 is_stmt 1 view .LVU883 1643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2594 .loc 1 1643 13 is_stmt 0 view .LVU884 2595 0096 E06F ldr r0, [r4, #124] 2596 0098 FFF7FEFF bl HAL_DMA_GetError 2597 .LVL230: 1643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2598 .loc 1 1643 12 view .LVU885 2599 009c 2028 cmp r0, #32 2600 009e F5D1 bne .L108 1646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2601 .loc 1 1646 11 is_stmt 1 view .LVU886 1646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2602 .loc 1 1646 28 is_stmt 0 view .LVU887 2603 00a0 1023 movs r3, #16 2604 00a2 C4F88C30 str r3, [r4, #140] 1648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2605 .loc 1 1648 11 is_stmt 1 view .LVU888 1648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2606 .loc 1 1648 18 is_stmt 0 view .LVU889 2607 00a6 0320 movs r0, #3 2608 00a8 00E0 b .L106 2609 .LVL231: 2610 .L109: ARM GAS /tmp/cceWHrnJ.s page 153 1656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2611 .loc 1 1656 10 view .LVU890 2612 00aa 0020 movs r0, #0 2613 .L106: 1657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2614 .loc 1 1657 1 view .LVU891 2615 00ac 38BD pop {r3, r4, r5, pc} 1657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2616 .loc 1 1657 1 view .LVU892 2617 .cfi_endproc 2618 .LFE344: 2620 .section .text.HAL_UART_Abort,"ax",%progbits 2621 .align 1 2622 .global HAL_UART_Abort 2623 .syntax unified 2624 .thumb 2625 .thumb_func 2627 HAL_UART_Abort: 2628 .LVL232: 2629 .LFB345: 1672: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 2630 .loc 1 1672 1 is_stmt 1 view -0 2631 .cfi_startproc 2632 @ args = 0, pretend = 0, frame = 0 2633 @ frame_needed = 0, uses_anonymous_args = 0 1672: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 2634 .loc 1 1672 1 is_stmt 0 view .LVU894 2635 0000 10B5 push {r4, lr} 2636 .LCFI9: 2637 .cfi_def_cfa_offset 8 2638 .cfi_offset 4, -8 2639 .cfi_offset 14, -4 2640 0002 0446 mov r4, r0 2641 .L115: 1674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE | USART_CR1_TCIE)); 2642 .loc 1 1674 3 is_stmt 1 discriminator 1 view .LVU895 2643 .LBB639: 1674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE | USART_CR1_TCIE)); 2644 .loc 1 1674 3 discriminator 1 view .LVU896 1674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE | USART_CR1_TCIE)); 2645 .loc 1 1674 3 discriminator 1 view .LVU897 1674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE | USART_CR1_TCIE)); 2646 .loc 1 1674 3 discriminator 1 view .LVU898 2647 0004 2268 ldr r2, [r4] 2648 .LVL233: 2649 .LBB640: 2650 .LBI640: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2651 .loc 2 1151 31 discriminator 1 view .LVU899 2652 .LBB641: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 2653 .loc 2 1153 5 discriminator 1 view .LVU900 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2654 .loc 2 1155 4 discriminator 1 view .LVU901 2655 .syntax unified 2656 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2657 0006 52E8003F ldrex r3, [r2] ARM GAS /tmp/cceWHrnJ.s page 154 2658 @ 0 "" 2 2659 .LVL234: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2660 .loc 2 1156 4 discriminator 1 view .LVU902 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2661 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU903 2662 .thumb 2663 .syntax unified 2664 .LBE641: 2665 .LBE640: 1674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE | USART_CR1_TCIE)); 2666 .loc 1 1674 3 discriminator 1 view .LVU904 2667 000a 23F4F073 bic r3, r3, #480 2668 .LVL235: 1674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE | USART_CR1_TCIE)); 2669 .loc 1 1674 3 is_stmt 1 discriminator 1 view .LVU905 2670 .LBB642: 2671 .LBI642: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2672 .loc 2 1202 31 discriminator 1 view .LVU906 2673 .LBB643: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 2674 .loc 2 1204 4 discriminator 1 view .LVU907 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2675 .loc 2 1206 4 discriminator 1 view .LVU908 2676 .syntax unified 2677 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2678 000e 42E80031 strex r1, r3, [r2] 2679 @ 0 "" 2 2680 .LVL236: 2681 .loc 2 1207 4 discriminator 1 view .LVU909 2682 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU910 2683 .thumb 2684 .syntax unified 2685 .LBE643: 2686 .LBE642: 1674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE | USART_CR1_TCIE)); 2687 .loc 1 1674 3 discriminator 1 view .LVU911 2688 0012 0029 cmp r1, #0 2689 0014 F6D1 bne .L115 2690 .LVL237: 2691 .L116: 1674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE | USART_CR1_TCIE)); 2692 .loc 1 1674 3 discriminator 1 view .LVU912 2693 .LBE639: 1674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE | USART_CR1_TCIE)); 2694 .loc 1 1674 3 is_stmt 1 discriminator 1 view .LVU913 1676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2695 .loc 1 1676 3 discriminator 1 view .LVU914 2696 .LBB644: 1676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2697 .loc 1 1676 3 discriminator 1 view .LVU915 1676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2698 .loc 1 1676 3 discriminator 1 view .LVU916 1676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2699 .loc 1 1676 3 discriminator 1 view .LVU917 2700 0016 2268 ldr r2, [r4] ARM GAS /tmp/cceWHrnJ.s page 155 2701 .LVL238: 2702 .LBB645: 2703 .LBI645: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2704 .loc 2 1151 31 discriminator 1 view .LVU918 2705 .LBB646: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 2706 .loc 2 1153 5 discriminator 1 view .LVU919 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2707 .loc 2 1155 4 discriminator 1 view .LVU920 2708 0018 02F10803 add r3, r2, #8 2709 .LVL239: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2710 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU921 2711 .syntax unified 2712 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2713 001c 53E8003F ldrex r3, [r3] 2714 @ 0 "" 2 2715 .LVL240: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2716 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU922 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2717 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU923 2718 .thumb 2719 .syntax unified 2720 .LBE646: 2721 .LBE645: 1676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2722 .loc 1 1676 3 discriminator 1 view .LVU924 2723 0020 23F08453 bic r3, r3, #276824064 2724 0024 23F00103 bic r3, r3, #1 2725 .LVL241: 1676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2726 .loc 1 1676 3 is_stmt 1 discriminator 1 view .LVU925 2727 .LBB647: 2728 .LBI647: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2729 .loc 2 1202 31 discriminator 1 view .LVU926 2730 .LBB648: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 2731 .loc 2 1204 4 discriminator 1 view .LVU927 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2732 .loc 2 1206 4 discriminator 1 view .LVU928 2733 0028 0832 adds r2, r2, #8 2734 .LVL242: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2735 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU929 2736 .syntax unified 2737 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2738 002a 42E80031 strex r1, r3, [r2] 2739 @ 0 "" 2 2740 .LVL243: 2741 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU930 2742 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU931 2743 .thumb 2744 .syntax unified 2745 .LBE648: ARM GAS /tmp/cceWHrnJ.s page 156 2746 .LBE647: 1676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2747 .loc 1 1676 3 discriminator 1 view .LVU932 2748 002e 0029 cmp r1, #0 2749 0030 F1D1 bne .L116 2750 .LBE644: 1676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2751 .loc 1 1676 3 is_stmt 1 discriminator 2 view .LVU933 1679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2752 .loc 1 1679 3 discriminator 2 view .LVU934 1679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2753 .loc 1 1679 12 is_stmt 0 discriminator 2 view .LVU935 2754 0032 E36E ldr r3, [r4, #108] 2755 .LVL244: 1679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2756 .loc 1 1679 6 discriminator 2 view .LVU936 2757 0034 012B cmp r3, #1 2758 0036 4DD0 beq .L118 2759 .L117: 1681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2760 .loc 1 1681 5 is_stmt 1 discriminator 2 view .LVU937 1685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2761 .loc 1 1685 3 discriminator 2 view .LVU938 1685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2762 .loc 1 1685 7 is_stmt 0 discriminator 2 view .LVU939 2763 0038 2368 ldr r3, [r4] 2764 003a 9B68 ldr r3, [r3, #8] 1685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2765 .loc 1 1685 6 discriminator 2 view .LVU940 2766 003c 13F0800F tst r3, #128 2767 0040 14D0 beq .L119 2768 .L120: 1688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2769 .loc 1 1688 5 is_stmt 1 discriminator 1 view .LVU941 2770 .LBB649: 1688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2771 .loc 1 1688 5 discriminator 1 view .LVU942 1688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2772 .loc 1 1688 5 discriminator 1 view .LVU943 1688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2773 .loc 1 1688 5 discriminator 1 view .LVU944 2774 0042 2268 ldr r2, [r4] 2775 .LVL245: 2776 .LBB650: 2777 .LBI650: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2778 .loc 2 1151 31 discriminator 1 view .LVU945 2779 .LBB651: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 2780 .loc 2 1153 5 discriminator 1 view .LVU946 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2781 .loc 2 1155 4 discriminator 1 view .LVU947 2782 0044 02F10803 add r3, r2, #8 2783 .LVL246: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2784 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU948 2785 .syntax unified ARM GAS /tmp/cceWHrnJ.s page 157 2786 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2787 0048 53E8003F ldrex r3, [r3] 2788 @ 0 "" 2 2789 .LVL247: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2790 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU949 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2791 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU950 2792 .thumb 2793 .syntax unified 2794 .LBE651: 2795 .LBE650: 1688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2796 .loc 1 1688 5 discriminator 1 view .LVU951 2797 004c 23F08003 bic r3, r3, #128 2798 .LVL248: 1688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2799 .loc 1 1688 5 is_stmt 1 discriminator 1 view .LVU952 2800 .LBB652: 2801 .LBI652: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2802 .loc 2 1202 31 discriminator 1 view .LVU953 2803 .LBB653: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 2804 .loc 2 1204 4 discriminator 1 view .LVU954 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2805 .loc 2 1206 4 discriminator 1 view .LVU955 2806 0050 0832 adds r2, r2, #8 2807 .LVL249: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2808 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU956 2809 .syntax unified 2810 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2811 0052 42E80031 strex r1, r3, [r2] 2812 @ 0 "" 2 2813 .LVL250: 2814 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU957 2815 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU958 2816 .thumb 2817 .syntax unified 2818 .LBE653: 2819 .LBE652: 1688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2820 .loc 1 1688 5 discriminator 1 view .LVU959 2821 0056 0029 cmp r1, #0 2822 0058 F3D1 bne .L120 2823 .LBE649: 1688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2824 .loc 1 1688 5 is_stmt 1 discriminator 2 view .LVU960 1691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2825 .loc 1 1691 5 discriminator 2 view .LVU961 1691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2826 .loc 1 1691 14 is_stmt 0 discriminator 2 view .LVU962 2827 005a A36F ldr r3, [r4, #120] 2828 .LVL251: 1691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2829 .loc 1 1691 8 discriminator 2 view .LVU963 ARM GAS /tmp/cceWHrnJ.s page 158 2830 005c 33B1 cbz r3, .L119 1695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2831 .loc 1 1695 7 is_stmt 1 view .LVU964 1695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2832 .loc 1 1695 40 is_stmt 0 view .LVU965 2833 005e 0022 movs r2, #0 2834 0060 9A63 str r2, [r3, #56] 1697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2835 .loc 1 1697 7 is_stmt 1 view .LVU966 1697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2836 .loc 1 1697 11 is_stmt 0 view .LVU967 2837 0062 A06F ldr r0, [r4, #120] 2838 .LVL252: 1697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2839 .loc 1 1697 11 view .LVU968 2840 0064 FFF7FEFF bl HAL_DMA_Abort 2841 .LVL253: 1697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2842 .loc 1 1697 10 view .LVU969 2843 0068 0028 cmp r0, #0 2844 006a 3DD1 bne .L126 2845 .LVL254: 2846 .L119: 1711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2847 .loc 1 1711 3 is_stmt 1 view .LVU970 1711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2848 .loc 1 1711 7 is_stmt 0 view .LVU971 2849 006c 2368 ldr r3, [r4] 2850 006e 9B68 ldr r3, [r3, #8] 1711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2851 .loc 1 1711 6 view .LVU972 2852 0070 13F0400F tst r3, #64 2853 0074 13D0 beq .L122 2854 .L123: 1714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2855 .loc 1 1714 5 is_stmt 1 discriminator 1 view .LVU973 2856 .LBB654: 1714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2857 .loc 1 1714 5 discriminator 1 view .LVU974 1714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2858 .loc 1 1714 5 discriminator 1 view .LVU975 1714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2859 .loc 1 1714 5 discriminator 1 view .LVU976 2860 0076 2268 ldr r2, [r4] 2861 .LVL255: 2862 .LBB655: 2863 .LBI655: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2864 .loc 2 1151 31 discriminator 1 view .LVU977 2865 .LBB656: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 2866 .loc 2 1153 5 discriminator 1 view .LVU978 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2867 .loc 2 1155 4 discriminator 1 view .LVU979 2868 0078 02F10803 add r3, r2, #8 2869 .LVL256: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS /tmp/cceWHrnJ.s page 159 2870 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU980 2871 .syntax unified 2872 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2873 007c 53E8003F ldrex r3, [r3] 2874 @ 0 "" 2 2875 .LVL257: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2876 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU981 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2877 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU982 2878 .thumb 2879 .syntax unified 2880 .LBE656: 2881 .LBE655: 1714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2882 .loc 1 1714 5 discriminator 1 view .LVU983 2883 0080 23F04003 bic r3, r3, #64 2884 .LVL258: 1714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2885 .loc 1 1714 5 is_stmt 1 discriminator 1 view .LVU984 2886 .LBB657: 2887 .LBI657: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2888 .loc 2 1202 31 discriminator 1 view .LVU985 2889 .LBB658: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 2890 .loc 2 1204 4 discriminator 1 view .LVU986 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2891 .loc 2 1206 4 discriminator 1 view .LVU987 2892 0084 0832 adds r2, r2, #8 2893 .LVL259: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2894 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU988 2895 .syntax unified 2896 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2897 0086 42E80031 strex r1, r3, [r2] 2898 @ 0 "" 2 2899 .LVL260: 2900 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU989 2901 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU990 2902 .thumb 2903 .syntax unified 2904 .LBE658: 2905 .LBE657: 1714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2906 .loc 1 1714 5 discriminator 1 view .LVU991 2907 008a 0029 cmp r1, #0 2908 008c F3D1 bne .L123 2909 .LBE654: 1714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2910 .loc 1 1714 5 is_stmt 1 discriminator 2 view .LVU992 1717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2911 .loc 1 1717 5 discriminator 2 view .LVU993 1717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2912 .loc 1 1717 14 is_stmt 0 discriminator 2 view .LVU994 2913 008e E36F ldr r3, [r4, #124] 2914 .LVL261: ARM GAS /tmp/cceWHrnJ.s page 160 1717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2915 .loc 1 1717 8 discriminator 2 view .LVU995 2916 0090 2BB1 cbz r3, .L122 1721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2917 .loc 1 1721 7 is_stmt 1 view .LVU996 1721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2918 .loc 1 1721 40 is_stmt 0 view .LVU997 2919 0092 0022 movs r2, #0 2920 0094 9A63 str r2, [r3, #56] 1723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2921 .loc 1 1723 7 is_stmt 1 view .LVU998 1723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2922 .loc 1 1723 11 is_stmt 0 view .LVU999 2923 0096 E06F ldr r0, [r4, #124] 2924 0098 FFF7FEFF bl HAL_DMA_Abort 2925 .LVL262: 1723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2926 .loc 1 1723 10 view .LVU1000 2927 009c 70BB cbnz r0, .L127 2928 .LVL263: 2929 .L122: 1737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 2930 .loc 1 1737 3 is_stmt 1 view .LVU1001 1737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 2931 .loc 1 1737 22 is_stmt 0 view .LVU1002 2932 009e 0023 movs r3, #0 2933 00a0 A4F85630 strh r3, [r4, #86] @ movhi 1738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2934 .loc 1 1738 3 is_stmt 1 view .LVU1003 1738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2935 .loc 1 1738 22 is_stmt 0 view .LVU1004 2936 00a4 A4F85E30 strh r3, [r4, #94] @ movhi 1741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2937 .loc 1 1741 3 is_stmt 1 view .LVU1005 2938 00a8 2368 ldr r3, [r4] 2939 00aa 0F22 movs r2, #15 2940 00ac 1A62 str r2, [r3, #32] 1744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2941 .loc 1 1744 3 view .LVU1006 1744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2942 .loc 1 1744 12 is_stmt 0 view .LVU1007 2943 00ae 636E ldr r3, [r4, #100] 1744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 2944 .loc 1 1744 6 view .LVU1008 2945 00b0 B3F1005F cmp r3, #536870912 2946 00b4 2CD0 beq .L128 2947 .L124: 1750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2948 .loc 1 1750 3 is_stmt 1 view .LVU1009 2949 00b6 2268 ldr r2, [r4] 2950 00b8 9369 ldr r3, [r2, #24] 2951 00ba 43F00803 orr r3, r3, #8 2952 00be 9361 str r3, [r2, #24] 1753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2953 .loc 1 1753 3 view .LVU1010 1753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2954 .loc 1 1753 18 is_stmt 0 view .LVU1011 ARM GAS /tmp/cceWHrnJ.s page 161 2955 00c0 2023 movs r3, #32 2956 00c2 C4F88430 str r3, [r4, #132] 1754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2957 .loc 1 1754 3 is_stmt 1 view .LVU1012 1754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2958 .loc 1 1754 18 is_stmt 0 view .LVU1013 2959 00c6 C4F88830 str r3, [r4, #136] 1755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2960 .loc 1 1755 3 is_stmt 1 view .LVU1014 1755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2961 .loc 1 1755 24 is_stmt 0 view .LVU1015 2962 00ca 0020 movs r0, #0 2963 00cc E066 str r0, [r4, #108] 1757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2964 .loc 1 1757 3 is_stmt 1 view .LVU1016 1757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2965 .loc 1 1757 20 is_stmt 0 view .LVU1017 2966 00ce C4F88C00 str r0, [r4, #140] 1759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2967 .loc 1 1759 3 is_stmt 1 view .LVU1018 2968 .L121: 1760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 2969 .loc 1 1760 1 is_stmt 0 view .LVU1019 2970 00d2 10BD pop {r4, pc} 2971 .LVL264: 2972 .L118: 1681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2973 .loc 1 1681 5 is_stmt 1 discriminator 1 view .LVU1020 2974 .LBB659: 1681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2975 .loc 1 1681 5 discriminator 1 view .LVU1021 1681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2976 .loc 1 1681 5 discriminator 1 view .LVU1022 1681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2977 .loc 1 1681 5 discriminator 1 view .LVU1023 2978 00d4 2268 ldr r2, [r4] 2979 .LVL265: 2980 .LBB660: 2981 .LBI660: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2982 .loc 2 1151 31 discriminator 1 view .LVU1024 2983 .LBB661: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 2984 .loc 2 1153 5 discriminator 1 view .LVU1025 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2985 .loc 2 1155 4 discriminator 1 view .LVU1026 2986 .syntax unified 2987 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2988 00d6 52E8003F ldrex r3, [r2] 2989 @ 0 "" 2 2990 .LVL266: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2991 .loc 2 1156 4 discriminator 1 view .LVU1027 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2992 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU1028 2993 .thumb 2994 .syntax unified ARM GAS /tmp/cceWHrnJ.s page 162 2995 .LBE661: 2996 .LBE660: 1681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 2997 .loc 1 1681 5 discriminator 1 view .LVU1029 2998 00da 23F01003 bic r3, r3, #16 2999 .LVL267: 1681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3000 .loc 1 1681 5 is_stmt 1 discriminator 1 view .LVU1030 3001 .LBB662: 3002 .LBI662: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3003 .loc 2 1202 31 discriminator 1 view .LVU1031 3004 .LBB663: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 3005 .loc 2 1204 4 discriminator 1 view .LVU1032 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3006 .loc 2 1206 4 discriminator 1 view .LVU1033 3007 .syntax unified 3008 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3009 00de 42E80031 strex r1, r3, [r2] 3010 @ 0 "" 2 3011 .LVL268: 3012 .loc 2 1207 4 discriminator 1 view .LVU1034 3013 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU1035 3014 .thumb 3015 .syntax unified 3016 .LBE663: 3017 .LBE662: 1681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3018 .loc 1 1681 5 discriminator 1 view .LVU1036 3019 00e2 0029 cmp r1, #0 3020 00e4 F6D1 bne .L118 3021 00e6 A7E7 b .L117 3022 .LVL269: 3023 .L126: 1681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3024 .loc 1 1681 5 discriminator 1 view .LVU1037 3025 .LBE659: 1699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3026 .loc 1 1699 9 is_stmt 1 view .LVU1038 1699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3027 .loc 1 1699 13 is_stmt 0 view .LVU1039 3028 00e8 A06F ldr r0, [r4, #120] 3029 00ea FFF7FEFF bl HAL_DMA_GetError 3030 .LVL270: 1699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3031 .loc 1 1699 12 view .LVU1040 3032 00ee 2028 cmp r0, #32 3033 00f0 BCD1 bne .L119 1702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3034 .loc 1 1702 11 is_stmt 1 view .LVU1041 1702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3035 .loc 1 1702 28 is_stmt 0 view .LVU1042 3036 00f2 1023 movs r3, #16 3037 00f4 C4F88C30 str r3, [r4, #140] 1704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3038 .loc 1 1704 11 is_stmt 1 view .LVU1043 ARM GAS /tmp/cceWHrnJ.s page 163 1704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3039 .loc 1 1704 18 is_stmt 0 view .LVU1044 3040 00f8 0320 movs r0, #3 3041 00fa EAE7 b .L121 3042 .LVL271: 3043 .L127: 1725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3044 .loc 1 1725 9 is_stmt 1 view .LVU1045 1725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3045 .loc 1 1725 13 is_stmt 0 view .LVU1046 3046 00fc E06F ldr r0, [r4, #124] 3047 00fe FFF7FEFF bl HAL_DMA_GetError 3048 .LVL272: 1725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3049 .loc 1 1725 12 view .LVU1047 3050 0102 2028 cmp r0, #32 3051 0104 CBD1 bne .L122 1728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3052 .loc 1 1728 11 is_stmt 1 view .LVU1048 1728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3053 .loc 1 1728 28 is_stmt 0 view .LVU1049 3054 0106 1023 movs r3, #16 3055 0108 C4F88C30 str r3, [r4, #140] 1730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3056 .loc 1 1730 11 is_stmt 1 view .LVU1050 1730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3057 .loc 1 1730 18 is_stmt 0 view .LVU1051 3058 010c 0320 movs r0, #3 3059 010e E0E7 b .L121 3060 .LVL273: 3061 .L128: 1746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3062 .loc 1 1746 5 is_stmt 1 view .LVU1052 3063 0110 2268 ldr r2, [r4] 3064 0112 9369 ldr r3, [r2, #24] 3065 0114 43F01003 orr r3, r3, #16 3066 0118 9361 str r3, [r2, #24] 3067 011a CCE7 b .L124 3068 .cfi_endproc 3069 .LFE345: 3071 .section .text.HAL_UART_AbortTransmit,"ax",%progbits 3072 .align 1 3073 .global HAL_UART_AbortTransmit 3074 .syntax unified 3075 .thumb 3076 .thumb_func 3078 HAL_UART_AbortTransmit: 3079 .LVL274: 3080 .LFB346: 1775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable TCIE, TXEIE and TXFTIE interrupts */ 3081 .loc 1 1775 1 view -0 3082 .cfi_startproc 3083 @ args = 0, pretend = 0, frame = 0 3084 @ frame_needed = 0, uses_anonymous_args = 0 1775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable TCIE, TXEIE and TXFTIE interrupts */ 3085 .loc 1 1775 1 is_stmt 0 view .LVU1054 3086 0000 10B5 push {r4, lr} ARM GAS /tmp/cceWHrnJ.s page 164 3087 .LCFI10: 3088 .cfi_def_cfa_offset 8 3089 .cfi_offset 4, -8 3090 .cfi_offset 14, -4 3091 0002 0446 mov r4, r0 3092 .L130: 1777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 3093 .loc 1 1777 3 is_stmt 1 discriminator 1 view .LVU1055 3094 .LBB664: 1777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 3095 .loc 1 1777 3 discriminator 1 view .LVU1056 1777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 3096 .loc 1 1777 3 discriminator 1 view .LVU1057 1777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 3097 .loc 1 1777 3 discriminator 1 view .LVU1058 3098 0004 2268 ldr r2, [r4] 3099 .LVL275: 3100 .LBB665: 3101 .LBI665: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3102 .loc 2 1151 31 discriminator 1 view .LVU1059 3103 .LBB666: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 3104 .loc 2 1153 5 discriminator 1 view .LVU1060 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3105 .loc 2 1155 4 discriminator 1 view .LVU1061 3106 .syntax unified 3107 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3108 0006 52E8003F ldrex r3, [r2] 3109 @ 0 "" 2 3110 .LVL276: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3111 .loc 2 1156 4 discriminator 1 view .LVU1062 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3112 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU1063 3113 .thumb 3114 .syntax unified 3115 .LBE666: 3116 .LBE665: 1777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 3117 .loc 1 1777 3 discriminator 1 view .LVU1064 3118 000a 23F0C003 bic r3, r3, #192 3119 .LVL277: 1777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 3120 .loc 1 1777 3 is_stmt 1 discriminator 1 view .LVU1065 3121 .LBB667: 3122 .LBI667: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3123 .loc 2 1202 31 discriminator 1 view .LVU1066 3124 .LBB668: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 3125 .loc 2 1204 4 discriminator 1 view .LVU1067 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3126 .loc 2 1206 4 discriminator 1 view .LVU1068 3127 .syntax unified 3128 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3129 000e 42E80031 strex r1, r3, [r2] ARM GAS /tmp/cceWHrnJ.s page 165 3130 @ 0 "" 2 3131 .LVL278: 3132 .loc 2 1207 4 discriminator 1 view .LVU1069 3133 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU1070 3134 .thumb 3135 .syntax unified 3136 .LBE668: 3137 .LBE667: 1777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 3138 .loc 1 1777 3 discriminator 1 view .LVU1071 3139 0012 0029 cmp r1, #0 3140 0014 F6D1 bne .L130 3141 .LVL279: 3142 .L131: 1777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 3143 .loc 1 1777 3 discriminator 1 view .LVU1072 3144 .LBE664: 1777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 3145 .loc 1 1777 3 is_stmt 1 discriminator 1 view .LVU1073 1778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3146 .loc 1 1778 3 discriminator 1 view .LVU1074 3147 .LBB669: 1778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3148 .loc 1 1778 3 discriminator 1 view .LVU1075 1778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3149 .loc 1 1778 3 discriminator 1 view .LVU1076 1778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3150 .loc 1 1778 3 discriminator 1 view .LVU1077 3151 0016 2268 ldr r2, [r4] 3152 .LVL280: 3153 .LBB670: 3154 .LBI670: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3155 .loc 2 1151 31 discriminator 1 view .LVU1078 3156 .LBB671: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 3157 .loc 2 1153 5 discriminator 1 view .LVU1079 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3158 .loc 2 1155 4 discriminator 1 view .LVU1080 3159 0018 02F10803 add r3, r2, #8 3160 .LVL281: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3161 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU1081 3162 .syntax unified 3163 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3164 001c 53E8003F ldrex r3, [r3] 3165 @ 0 "" 2 3166 .LVL282: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3167 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU1082 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3168 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU1083 3169 .thumb 3170 .syntax unified 3171 .LBE671: 3172 .LBE670: 1778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 166 3173 .loc 1 1778 3 discriminator 1 view .LVU1084 3174 0020 23F40003 bic r3, r3, #8388608 3175 .LVL283: 1778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3176 .loc 1 1778 3 is_stmt 1 discriminator 1 view .LVU1085 3177 .LBB672: 3178 .LBI672: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3179 .loc 2 1202 31 discriminator 1 view .LVU1086 3180 .LBB673: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 3181 .loc 2 1204 4 discriminator 1 view .LVU1087 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3182 .loc 2 1206 4 discriminator 1 view .LVU1088 3183 0024 0832 adds r2, r2, #8 3184 .LVL284: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3185 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU1089 3186 .syntax unified 3187 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3188 0026 42E80031 strex r1, r3, [r2] 3189 @ 0 "" 2 3190 .LVL285: 3191 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU1090 3192 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU1091 3193 .thumb 3194 .syntax unified 3195 .LBE673: 3196 .LBE672: 1778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3197 .loc 1 1778 3 discriminator 1 view .LVU1092 3198 002a 0029 cmp r1, #0 3199 002c F3D1 bne .L131 3200 .LBE669: 1778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3201 .loc 1 1778 3 is_stmt 1 discriminator 2 view .LVU1093 1781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3202 .loc 1 1781 3 discriminator 2 view .LVU1094 1781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3203 .loc 1 1781 7 is_stmt 0 discriminator 2 view .LVU1095 3204 002e 2368 ldr r3, [r4] 3205 .LVL286: 1781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3206 .loc 1 1781 7 discriminator 2 view .LVU1096 3207 0030 9B68 ldr r3, [r3, #8] 1781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3208 .loc 1 1781 6 discriminator 2 view .LVU1097 3209 0032 13F0800F tst r3, #128 3210 0036 13D0 beq .L132 3211 .L133: 1784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3212 .loc 1 1784 5 is_stmt 1 discriminator 1 view .LVU1098 3213 .LBB674: 1784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3214 .loc 1 1784 5 discriminator 1 view .LVU1099 1784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3215 .loc 1 1784 5 discriminator 1 view .LVU1100 ARM GAS /tmp/cceWHrnJ.s page 167 1784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3216 .loc 1 1784 5 discriminator 1 view .LVU1101 3217 0038 2268 ldr r2, [r4] 3218 .LVL287: 3219 .LBB675: 3220 .LBI675: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3221 .loc 2 1151 31 discriminator 1 view .LVU1102 3222 .LBB676: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 3223 .loc 2 1153 5 discriminator 1 view .LVU1103 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3224 .loc 2 1155 4 discriminator 1 view .LVU1104 3225 003a 02F10803 add r3, r2, #8 3226 .LVL288: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3227 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU1105 3228 .syntax unified 3229 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3230 003e 53E8003F ldrex r3, [r3] 3231 @ 0 "" 2 3232 .LVL289: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3233 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU1106 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3234 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU1107 3235 .thumb 3236 .syntax unified 3237 .LBE676: 3238 .LBE675: 1784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3239 .loc 1 1784 5 discriminator 1 view .LVU1108 3240 0042 23F08003 bic r3, r3, #128 3241 .LVL290: 1784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3242 .loc 1 1784 5 is_stmt 1 discriminator 1 view .LVU1109 3243 .LBB677: 3244 .LBI677: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3245 .loc 2 1202 31 discriminator 1 view .LVU1110 3246 .LBB678: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 3247 .loc 2 1204 4 discriminator 1 view .LVU1111 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3248 .loc 2 1206 4 discriminator 1 view .LVU1112 3249 0046 0832 adds r2, r2, #8 3250 .LVL291: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3251 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU1113 3252 .syntax unified 3253 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3254 0048 42E80031 strex r1, r3, [r2] 3255 @ 0 "" 2 3256 .LVL292: 3257 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU1114 3258 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU1115 3259 .thumb ARM GAS /tmp/cceWHrnJ.s page 168 3260 .syntax unified 3261 .LBE678: 3262 .LBE677: 1784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3263 .loc 1 1784 5 discriminator 1 view .LVU1116 3264 004c 0029 cmp r1, #0 3265 004e F3D1 bne .L133 3266 .LBE674: 1784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3267 .loc 1 1784 5 is_stmt 1 discriminator 2 view .LVU1117 1787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3268 .loc 1 1787 5 discriminator 2 view .LVU1118 1787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3269 .loc 1 1787 14 is_stmt 0 discriminator 2 view .LVU1119 3270 0050 A36F ldr r3, [r4, #120] 3271 .LVL293: 1787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3272 .loc 1 1787 8 discriminator 2 view .LVU1120 3273 0052 2BB1 cbz r3, .L132 1791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3274 .loc 1 1791 7 is_stmt 1 view .LVU1121 1791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3275 .loc 1 1791 40 is_stmt 0 view .LVU1122 3276 0054 0022 movs r2, #0 3277 0056 9A63 str r2, [r3, #56] 1793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3278 .loc 1 1793 7 is_stmt 1 view .LVU1123 1793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3279 .loc 1 1793 11 is_stmt 0 view .LVU1124 3280 0058 A06F ldr r0, [r4, #120] 3281 .LVL294: 1793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3282 .loc 1 1793 11 view .LVU1125 3283 005a FFF7FEFF bl HAL_DMA_Abort 3284 .LVL295: 1793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3285 .loc 1 1793 10 view .LVU1126 3286 005e 58B9 cbnz r0, .L137 3287 .LVL296: 3288 .L132: 1807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3289 .loc 1 1807 3 is_stmt 1 view .LVU1127 1807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3290 .loc 1 1807 22 is_stmt 0 view .LVU1128 3291 0060 0023 movs r3, #0 3292 0062 A4F85630 strh r3, [r4, #86] @ movhi 1810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3293 .loc 1 1810 3 is_stmt 1 view .LVU1129 1810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3294 .loc 1 1810 12 is_stmt 0 view .LVU1130 3295 0066 636E ldr r3, [r4, #100] 1810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3296 .loc 1 1810 6 view .LVU1131 3297 0068 B3F1005F cmp r3, #536870912 3298 006c 0ED0 beq .L138 3299 .L135: 1816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 169 3300 .loc 1 1816 3 is_stmt 1 view .LVU1132 1816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3301 .loc 1 1816 17 is_stmt 0 view .LVU1133 3302 006e 2023 movs r3, #32 3303 0070 C4F88430 str r3, [r4, #132] 1818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3304 .loc 1 1818 3 is_stmt 1 view .LVU1134 1818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3305 .loc 1 1818 10 is_stmt 0 view .LVU1135 3306 0074 0020 movs r0, #0 3307 .L134: 1819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3308 .loc 1 1819 1 view .LVU1136 3309 0076 10BD pop {r4, pc} 3310 .LVL297: 3311 .L137: 1795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3312 .loc 1 1795 9 is_stmt 1 view .LVU1137 1795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3313 .loc 1 1795 13 is_stmt 0 view .LVU1138 3314 0078 A06F ldr r0, [r4, #120] 3315 007a FFF7FEFF bl HAL_DMA_GetError 3316 .LVL298: 1795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3317 .loc 1 1795 12 view .LVU1139 3318 007e 2028 cmp r0, #32 3319 0080 EED1 bne .L132 1798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3320 .loc 1 1798 11 is_stmt 1 view .LVU1140 1798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3321 .loc 1 1798 28 is_stmt 0 view .LVU1141 3322 0082 1023 movs r3, #16 3323 0084 C4F88C30 str r3, [r4, #140] 1800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3324 .loc 1 1800 11 is_stmt 1 view .LVU1142 1800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3325 .loc 1 1800 18 is_stmt 0 view .LVU1143 3326 0088 0320 movs r0, #3 3327 008a F4E7 b .L134 3328 .LVL299: 3329 .L138: 1812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3330 .loc 1 1812 5 is_stmt 1 view .LVU1144 3331 008c 2268 ldr r2, [r4] 3332 008e 9369 ldr r3, [r2, #24] 3333 0090 43F01003 orr r3, r3, #16 3334 0094 9361 str r3, [r2, #24] 3335 0096 EAE7 b .L135 3336 .cfi_endproc 3337 .LFE346: 3339 .section .text.HAL_UART_AbortReceive,"ax",%progbits 3340 .align 1 3341 .global HAL_UART_AbortReceive 3342 .syntax unified 3343 .thumb 3344 .thumb_func 3346 HAL_UART_AbortReceive: ARM GAS /tmp/cceWHrnJ.s page 170 3347 .LVL300: 3348 .LFB347: 1834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable PEIE, EIE, RXNEIE and RXFTIE interrupts */ 3349 .loc 1 1834 1 view -0 3350 .cfi_startproc 3351 @ args = 0, pretend = 0, frame = 0 3352 @ frame_needed = 0, uses_anonymous_args = 0 1834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable PEIE, EIE, RXNEIE and RXFTIE interrupts */ 3353 .loc 1 1834 1 is_stmt 0 view .LVU1146 3354 0000 10B5 push {r4, lr} 3355 .LCFI11: 3356 .cfi_def_cfa_offset 8 3357 .cfi_offset 4, -8 3358 .cfi_offset 14, -4 3359 0002 0446 mov r4, r0 3360 .L140: 1836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE); 3361 .loc 1 1836 3 is_stmt 1 discriminator 1 view .LVU1147 3362 .LBB679: 1836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE); 3363 .loc 1 1836 3 discriminator 1 view .LVU1148 1836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE); 3364 .loc 1 1836 3 discriminator 1 view .LVU1149 1836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE); 3365 .loc 1 1836 3 discriminator 1 view .LVU1150 3366 0004 2268 ldr r2, [r4] 3367 .LVL301: 3368 .LBB680: 3369 .LBI680: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3370 .loc 2 1151 31 discriminator 1 view .LVU1151 3371 .LBB681: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 3372 .loc 2 1153 5 discriminator 1 view .LVU1152 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3373 .loc 2 1155 4 discriminator 1 view .LVU1153 3374 .syntax unified 3375 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3376 0006 52E8003F ldrex r3, [r2] 3377 @ 0 "" 2 3378 .LVL302: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3379 .loc 2 1156 4 discriminator 1 view .LVU1154 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3380 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU1155 3381 .thumb 3382 .syntax unified 3383 .LBE681: 3384 .LBE680: 1836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE); 3385 .loc 1 1836 3 discriminator 1 view .LVU1156 3386 000a 23F49073 bic r3, r3, #288 3387 .LVL303: 1836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE); 3388 .loc 1 1836 3 is_stmt 1 discriminator 1 view .LVU1157 3389 .LBB682: 3390 .LBI682: ARM GAS /tmp/cceWHrnJ.s page 171 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3391 .loc 2 1202 31 discriminator 1 view .LVU1158 3392 .LBB683: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 3393 .loc 2 1204 4 discriminator 1 view .LVU1159 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3394 .loc 2 1206 4 discriminator 1 view .LVU1160 3395 .syntax unified 3396 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3397 000e 42E80031 strex r1, r3, [r2] 3398 @ 0 "" 2 3399 .LVL304: 3400 .loc 2 1207 4 discriminator 1 view .LVU1161 3401 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU1162 3402 .thumb 3403 .syntax unified 3404 .LBE683: 3405 .LBE682: 1836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE); 3406 .loc 1 1836 3 discriminator 1 view .LVU1163 3407 0012 0029 cmp r1, #0 3408 0014 F6D1 bne .L140 3409 .LVL305: 3410 .L141: 1836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE); 3411 .loc 1 1836 3 discriminator 1 view .LVU1164 3412 .LBE679: 1836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE); 3413 .loc 1 1836 3 is_stmt 1 discriminator 1 view .LVU1165 1837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3414 .loc 1 1837 3 discriminator 1 view .LVU1166 3415 .LBB684: 1837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3416 .loc 1 1837 3 discriminator 1 view .LVU1167 1837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3417 .loc 1 1837 3 discriminator 1 view .LVU1168 1837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3418 .loc 1 1837 3 discriminator 1 view .LVU1169 3419 0016 2268 ldr r2, [r4] 3420 .LVL306: 3421 .LBB685: 3422 .LBI685: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3423 .loc 2 1151 31 discriminator 1 view .LVU1170 3424 .LBB686: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 3425 .loc 2 1153 5 discriminator 1 view .LVU1171 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3426 .loc 2 1155 4 discriminator 1 view .LVU1172 3427 0018 02F10803 add r3, r2, #8 3428 .LVL307: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3429 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU1173 3430 .syntax unified 3431 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3432 001c 53E8003F ldrex r3, [r3] 3433 @ 0 "" 2 ARM GAS /tmp/cceWHrnJ.s page 172 3434 .LVL308: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3435 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU1174 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3436 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU1175 3437 .thumb 3438 .syntax unified 3439 .LBE686: 3440 .LBE685: 1837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3441 .loc 1 1837 3 discriminator 1 view .LVU1176 3442 0020 23F08053 bic r3, r3, #268435456 3443 0024 23F00103 bic r3, r3, #1 3444 .LVL309: 1837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3445 .loc 1 1837 3 is_stmt 1 discriminator 1 view .LVU1177 3446 .LBB687: 3447 .LBI687: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3448 .loc 2 1202 31 discriminator 1 view .LVU1178 3449 .LBB688: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 3450 .loc 2 1204 4 discriminator 1 view .LVU1179 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3451 .loc 2 1206 4 discriminator 1 view .LVU1180 3452 0028 0832 adds r2, r2, #8 3453 .LVL310: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3454 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU1181 3455 .syntax unified 3456 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3457 002a 42E80031 strex r1, r3, [r2] 3458 @ 0 "" 2 3459 .LVL311: 3460 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU1182 3461 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU1183 3462 .thumb 3463 .syntax unified 3464 .LBE688: 3465 .LBE687: 1837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3466 .loc 1 1837 3 discriminator 1 view .LVU1184 3467 002e 0029 cmp r1, #0 3468 0030 F1D1 bne .L141 3469 .LBE684: 1837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3470 .loc 1 1837 3 is_stmt 1 discriminator 2 view .LVU1185 1840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3471 .loc 1 1840 3 discriminator 2 view .LVU1186 1840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3472 .loc 1 1840 12 is_stmt 0 discriminator 2 view .LVU1187 3473 0032 E36E ldr r3, [r4, #108] 3474 .LVL312: 1840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3475 .loc 1 1840 6 discriminator 2 view .LVU1188 3476 0034 012B cmp r3, #1 3477 0036 28D0 beq .L143 ARM GAS /tmp/cceWHrnJ.s page 173 3478 .L142: 1842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3479 .loc 1 1842 5 is_stmt 1 discriminator 2 view .LVU1189 1846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3480 .loc 1 1846 3 discriminator 2 view .LVU1190 1846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3481 .loc 1 1846 7 is_stmt 0 discriminator 2 view .LVU1191 3482 0038 2368 ldr r3, [r4] 3483 003a 9B68 ldr r3, [r3, #8] 1846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3484 .loc 1 1846 6 discriminator 2 view .LVU1192 3485 003c 13F0400F tst r3, #64 3486 0040 13D0 beq .L144 3487 .L145: 1849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3488 .loc 1 1849 5 is_stmt 1 discriminator 1 view .LVU1193 3489 .LBB689: 1849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3490 .loc 1 1849 5 discriminator 1 view .LVU1194 1849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3491 .loc 1 1849 5 discriminator 1 view .LVU1195 1849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3492 .loc 1 1849 5 discriminator 1 view .LVU1196 3493 0042 2268 ldr r2, [r4] 3494 .LVL313: 3495 .LBB690: 3496 .LBI690: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3497 .loc 2 1151 31 discriminator 1 view .LVU1197 3498 .LBB691: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 3499 .loc 2 1153 5 discriminator 1 view .LVU1198 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3500 .loc 2 1155 4 discriminator 1 view .LVU1199 3501 0044 02F10803 add r3, r2, #8 3502 .LVL314: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3503 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU1200 3504 .syntax unified 3505 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3506 0048 53E8003F ldrex r3, [r3] 3507 @ 0 "" 2 3508 .LVL315: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3509 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU1201 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3510 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU1202 3511 .thumb 3512 .syntax unified 3513 .LBE691: 3514 .LBE690: 1849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3515 .loc 1 1849 5 discriminator 1 view .LVU1203 3516 004c 23F04003 bic r3, r3, #64 3517 .LVL316: 1849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3518 .loc 1 1849 5 is_stmt 1 discriminator 1 view .LVU1204 ARM GAS /tmp/cceWHrnJ.s page 174 3519 .LBB692: 3520 .LBI692: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3521 .loc 2 1202 31 discriminator 1 view .LVU1205 3522 .LBB693: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 3523 .loc 2 1204 4 discriminator 1 view .LVU1206 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3524 .loc 2 1206 4 discriminator 1 view .LVU1207 3525 0050 0832 adds r2, r2, #8 3526 .LVL317: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3527 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU1208 3528 .syntax unified 3529 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3530 0052 42E80031 strex r1, r3, [r2] 3531 @ 0 "" 2 3532 .LVL318: 3533 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU1209 3534 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU1210 3535 .thumb 3536 .syntax unified 3537 .LBE693: 3538 .LBE692: 1849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3539 .loc 1 1849 5 discriminator 1 view .LVU1211 3540 0056 0029 cmp r1, #0 3541 0058 F3D1 bne .L145 3542 .LBE689: 1849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3543 .loc 1 1849 5 is_stmt 1 discriminator 2 view .LVU1212 1852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3544 .loc 1 1852 5 discriminator 2 view .LVU1213 1852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3545 .loc 1 1852 14 is_stmt 0 discriminator 2 view .LVU1214 3546 005a E36F ldr r3, [r4, #124] 3547 .LVL319: 1852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3548 .loc 1 1852 8 discriminator 2 view .LVU1215 3549 005c 2BB1 cbz r3, .L144 1856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3550 .loc 1 1856 7 is_stmt 1 view .LVU1216 1856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3551 .loc 1 1856 40 is_stmt 0 view .LVU1217 3552 005e 0022 movs r2, #0 3553 0060 9A63 str r2, [r3, #56] 1858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3554 .loc 1 1858 7 is_stmt 1 view .LVU1218 1858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3555 .loc 1 1858 11 is_stmt 0 view .LVU1219 3556 0062 E06F ldr r0, [r4, #124] 3557 .LVL320: 1858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3558 .loc 1 1858 11 view .LVU1220 3559 0064 FFF7FEFF bl HAL_DMA_Abort 3560 .LVL321: 1858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cceWHrnJ.s page 175 3561 .loc 1 1858 10 view .LVU1221 3562 0068 C8B9 cbnz r0, .L148 3563 .LVL322: 3564 .L144: 1872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3565 .loc 1 1872 3 is_stmt 1 view .LVU1222 1872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3566 .loc 1 1872 22 is_stmt 0 view .LVU1223 3567 006a 0020 movs r0, #0 3568 006c A4F85E00 strh r0, [r4, #94] @ movhi 1875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3569 .loc 1 1875 3 is_stmt 1 view .LVU1224 3570 0070 2368 ldr r3, [r4] 3571 0072 0F22 movs r2, #15 3572 0074 1A62 str r2, [r3, #32] 1878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3573 .loc 1 1878 3 view .LVU1225 3574 0076 2268 ldr r2, [r4] 3575 0078 9369 ldr r3, [r2, #24] 3576 007a 43F00803 orr r3, r3, #8 3577 007e 9361 str r3, [r2, #24] 1881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3578 .loc 1 1881 3 view .LVU1226 1881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3579 .loc 1 1881 18 is_stmt 0 view .LVU1227 3580 0080 2023 movs r3, #32 3581 0082 C4F88830 str r3, [r4, #136] 1882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3582 .loc 1 1882 3 is_stmt 1 view .LVU1228 1882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3583 .loc 1 1882 24 is_stmt 0 view .LVU1229 3584 0086 E066 str r0, [r4, #108] 1884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3585 .loc 1 1884 3 is_stmt 1 view .LVU1230 3586 .L146: 1885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3587 .loc 1 1885 1 is_stmt 0 view .LVU1231 3588 0088 10BD pop {r4, pc} 3589 .LVL323: 3590 .L143: 1842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3591 .loc 1 1842 5 is_stmt 1 discriminator 1 view .LVU1232 3592 .LBB694: 1842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3593 .loc 1 1842 5 discriminator 1 view .LVU1233 1842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3594 .loc 1 1842 5 discriminator 1 view .LVU1234 1842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3595 .loc 1 1842 5 discriminator 1 view .LVU1235 3596 008a 2268 ldr r2, [r4] 3597 .LVL324: 3598 .LBB695: 3599 .LBI695: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3600 .loc 2 1151 31 discriminator 1 view .LVU1236 3601 .LBB696: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** ARM GAS /tmp/cceWHrnJ.s page 176 3602 .loc 2 1153 5 discriminator 1 view .LVU1237 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3603 .loc 2 1155 4 discriminator 1 view .LVU1238 3604 .syntax unified 3605 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3606 008c 52E8003F ldrex r3, [r2] 3607 @ 0 "" 2 3608 .LVL325: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3609 .loc 2 1156 4 discriminator 1 view .LVU1239 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3610 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU1240 3611 .thumb 3612 .syntax unified 3613 .LBE696: 3614 .LBE695: 1842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3615 .loc 1 1842 5 discriminator 1 view .LVU1241 3616 0090 23F01003 bic r3, r3, #16 3617 .LVL326: 1842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3618 .loc 1 1842 5 is_stmt 1 discriminator 1 view .LVU1242 3619 .LBB697: 3620 .LBI697: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3621 .loc 2 1202 31 discriminator 1 view .LVU1243 3622 .LBB698: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 3623 .loc 2 1204 4 discriminator 1 view .LVU1244 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3624 .loc 2 1206 4 discriminator 1 view .LVU1245 3625 .syntax unified 3626 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3627 0094 42E80031 strex r1, r3, [r2] 3628 @ 0 "" 2 3629 .LVL327: 3630 .loc 2 1207 4 discriminator 1 view .LVU1246 3631 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU1247 3632 .thumb 3633 .syntax unified 3634 .LBE698: 3635 .LBE697: 1842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3636 .loc 1 1842 5 discriminator 1 view .LVU1248 3637 0098 0029 cmp r1, #0 3638 009a F6D1 bne .L143 3639 009c CCE7 b .L142 3640 .LVL328: 3641 .L148: 1842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3642 .loc 1 1842 5 discriminator 1 view .LVU1249 3643 .LBE694: 1860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3644 .loc 1 1860 9 is_stmt 1 view .LVU1250 1860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3645 .loc 1 1860 13 is_stmt 0 view .LVU1251 3646 009e E06F ldr r0, [r4, #124] ARM GAS /tmp/cceWHrnJ.s page 177 3647 00a0 FFF7FEFF bl HAL_DMA_GetError 3648 .LVL329: 1860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3649 .loc 1 1860 12 view .LVU1252 3650 00a4 2028 cmp r0, #32 3651 00a6 E0D1 bne .L144 1863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3652 .loc 1 1863 11 is_stmt 1 view .LVU1253 1863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3653 .loc 1 1863 28 is_stmt 0 view .LVU1254 3654 00a8 1023 movs r3, #16 3655 00aa C4F88C30 str r3, [r4, #140] 1865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3656 .loc 1 1865 11 is_stmt 1 view .LVU1255 1865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3657 .loc 1 1865 18 is_stmt 0 view .LVU1256 3658 00ae 0320 movs r0, #3 3659 00b0 EAE7 b .L146 3660 .cfi_endproc 3661 .LFE347: 3663 .section .text.HAL_UART_TxCpltCallback,"ax",%progbits 3664 .align 1 3665 .weak HAL_UART_TxCpltCallback 3666 .syntax unified 3667 .thumb 3668 .thumb_func 3670 HAL_UART_TxCpltCallback: 3671 .LVL330: 3672 .LFB352: 2559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 3673 .loc 1 2559 1 is_stmt 1 view -0 3674 .cfi_startproc 3675 @ args = 0, pretend = 0, frame = 0 3676 @ frame_needed = 0, uses_anonymous_args = 0 3677 @ link register save eliminated. 2561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3678 .loc 1 2561 3 view .LVU1258 2566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3679 .loc 1 2566 1 is_stmt 0 view .LVU1259 3680 0000 7047 bx lr 3681 .cfi_endproc 3682 .LFE352: 3684 .section .text.UART_DMATransmitCplt,"ax",%progbits 3685 .align 1 3686 .syntax unified 3687 .thumb 3688 .thumb_func 3690 UART_DMATransmitCplt: 3691 .LVL331: 3692 .LFB380: 3609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3693 .loc 1 3609 1 is_stmt 1 view -0 3694 .cfi_startproc 3695 @ args = 0, pretend = 0, frame = 0 3696 @ frame_needed = 0, uses_anonymous_args = 0 3609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3697 .loc 1 3609 1 is_stmt 0 view .LVU1261 ARM GAS /tmp/cceWHrnJ.s page 178 3698 0000 08B5 push {r3, lr} 3699 .LCFI12: 3700 .cfi_def_cfa_offset 8 3701 .cfi_offset 3, -8 3702 .cfi_offset 14, -4 3703 0002 0346 mov r3, r0 3610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3704 .loc 1 3610 3 is_stmt 1 view .LVU1262 3610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3705 .loc 1 3610 23 is_stmt 0 view .LVU1263 3706 0004 806A ldr r0, [r0, #40] 3707 .LVL332: 3613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3708 .loc 1 3613 3 is_stmt 1 view .LVU1264 3613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3709 .loc 1 3613 7 is_stmt 0 view .LVU1265 3710 0006 1B68 ldr r3, [r3] 3711 .LVL333: 3613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3712 .loc 1 3613 7 view .LVU1266 3713 0008 1B68 ldr r3, [r3] 3613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3714 .loc 1 3613 6 view .LVU1267 3715 000a 13F0200F tst r3, #32 3716 000e 18D1 bne .L151 3615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3717 .loc 1 3615 5 is_stmt 1 view .LVU1268 3615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3718 .loc 1 3615 24 is_stmt 0 view .LVU1269 3719 0010 0023 movs r3, #0 3720 0012 A0F85630 strh r3, [r0, #86] @ movhi 3721 .L152: 3619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3722 .loc 1 3619 5 is_stmt 1 discriminator 1 view .LVU1270 3723 .LBB699: 3619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3724 .loc 1 3619 5 discriminator 1 view .LVU1271 3619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3725 .loc 1 3619 5 discriminator 1 view .LVU1272 3619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3726 .loc 1 3619 5 discriminator 1 view .LVU1273 3727 0016 0268 ldr r2, [r0] 3728 .LVL334: 3729 .LBB700: 3730 .LBI700: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3731 .loc 2 1151 31 discriminator 1 view .LVU1274 3732 .LBB701: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 3733 .loc 2 1153 5 discriminator 1 view .LVU1275 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3734 .loc 2 1155 4 discriminator 1 view .LVU1276 3735 0018 02F10803 add r3, r2, #8 3736 .LVL335: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3737 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU1277 3738 .syntax unified ARM GAS /tmp/cceWHrnJ.s page 179 3739 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3740 001c 53E8003F ldrex r3, [r3] 3741 @ 0 "" 2 3742 .LVL336: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3743 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU1278 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3744 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU1279 3745 .thumb 3746 .syntax unified 3747 .LBE701: 3748 .LBE700: 3619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3749 .loc 1 3619 5 discriminator 1 view .LVU1280 3750 0020 23F08003 bic r3, r3, #128 3751 .LVL337: 3619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3752 .loc 1 3619 5 is_stmt 1 discriminator 1 view .LVU1281 3753 .LBB702: 3754 .LBI702: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3755 .loc 2 1202 31 discriminator 1 view .LVU1282 3756 .LBB703: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 3757 .loc 2 1204 4 discriminator 1 view .LVU1283 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3758 .loc 2 1206 4 discriminator 1 view .LVU1284 3759 0024 0832 adds r2, r2, #8 3760 .LVL338: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3761 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU1285 3762 .syntax unified 3763 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3764 0026 42E80031 strex r1, r3, [r2] 3765 @ 0 "" 2 3766 .LVL339: 3767 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU1286 3768 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU1287 3769 .thumb 3770 .syntax unified 3771 .LBE703: 3772 .LBE702: 3619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3773 .loc 1 3619 5 discriminator 1 view .LVU1288 3774 002a 0029 cmp r1, #0 3775 002c F3D1 bne .L152 3776 .LVL340: 3777 .L153: 3619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3778 .loc 1 3619 5 discriminator 1 view .LVU1289 3779 .LBE699: 3619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3780 .loc 1 3619 5 is_stmt 1 discriminator 1 view .LVU1290 3622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3781 .loc 1 3622 5 discriminator 1 view .LVU1291 3782 .LBB704: 3622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cceWHrnJ.s page 180 3783 .loc 1 3622 5 discriminator 1 view .LVU1292 3622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3784 .loc 1 3622 5 discriminator 1 view .LVU1293 3622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3785 .loc 1 3622 5 discriminator 1 view .LVU1294 3786 002e 0268 ldr r2, [r0] 3787 .LVL341: 3788 .LBB705: 3789 .LBI705: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3790 .loc 2 1151 31 discriminator 1 view .LVU1295 3791 .LBB706: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 3792 .loc 2 1153 5 discriminator 1 view .LVU1296 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3793 .loc 2 1155 4 discriminator 1 view .LVU1297 3794 .syntax unified 3795 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3796 0030 52E8003F ldrex r3, [r2] 3797 @ 0 "" 2 3798 .LVL342: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3799 .loc 2 1156 4 discriminator 1 view .LVU1298 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3800 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU1299 3801 .thumb 3802 .syntax unified 3803 .LBE706: 3804 .LBE705: 3622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3805 .loc 1 3622 5 discriminator 1 view .LVU1300 3806 0034 43F04003 orr r3, r3, #64 3807 .LVL343: 3622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3808 .loc 1 3622 5 is_stmt 1 discriminator 1 view .LVU1301 3809 .LBB707: 3810 .LBI707: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3811 .loc 2 1202 31 discriminator 1 view .LVU1302 3812 .LBB708: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 3813 .loc 2 1204 4 discriminator 1 view .LVU1303 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3814 .loc 2 1206 4 discriminator 1 view .LVU1304 3815 .syntax unified 3816 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3817 0038 42E80031 strex r1, r3, [r2] 3818 @ 0 "" 2 3819 .LVL344: 3820 .loc 2 1207 4 discriminator 1 view .LVU1305 3821 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU1306 3822 .thumb 3823 .syntax unified 3824 .LBE708: 3825 .LBE707: 3622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3826 .loc 1 3622 5 discriminator 1 view .LVU1307 ARM GAS /tmp/cceWHrnJ.s page 181 3827 003c 0029 cmp r1, #0 3828 003e F6D1 bne .L153 3829 .LVL345: 3830 .L150: 3622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3831 .loc 1 3622 5 discriminator 1 view .LVU1308 3832 .LBE704: 3635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3833 .loc 1 3635 1 view .LVU1309 3834 0040 08BD pop {r3, pc} 3835 .LVL346: 3836 .L151: 3632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3837 .loc 1 3632 5 is_stmt 1 view .LVU1310 3838 0042 FFF7FEFF bl HAL_UART_TxCpltCallback 3839 .LVL347: 3635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3840 .loc 1 3635 1 is_stmt 0 view .LVU1311 3841 0046 FBE7 b .L150 3842 .cfi_endproc 3843 .LFE380: 3845 .section .text.UART_EndTransmit_IT,"ax",%progbits 3846 .align 1 3847 .syntax unified 3848 .thumb 3849 .thumb_func 3851 UART_EndTransmit_IT: 3852 .LFB394: 4122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 4124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Wrap up transmission in non-blocking mode. 4125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart pointer to a UART_HandleTypeDef structure that contains 4126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the configuration information for the specified UART module. 4127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 4128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 4129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_EndTransmit_IT(UART_HandleTypeDef *huart) 4130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 3853 .loc 1 4130 1 is_stmt 1 view -0 3854 .cfi_startproc 3855 @ args = 0, pretend = 0, frame = 0 3856 @ frame_needed = 0, uses_anonymous_args = 0 3857 .LVL348: 3858 .loc 1 4130 1 is_stmt 0 view .LVU1313 3859 0000 08B5 push {r3, lr} 3860 .LCFI13: 3861 .cfi_def_cfa_offset 8 3862 .cfi_offset 3, -8 3863 .cfi_offset 14, -4 3864 .L157: 4131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Transmit Complete Interrupt */ 4132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TCIE); 3865 .loc 1 4132 3 is_stmt 1 discriminator 1 view .LVU1314 3866 .LBB709: 3867 .loc 1 4132 3 discriminator 1 view .LVU1315 3868 .loc 1 4132 3 discriminator 1 view .LVU1316 3869 .loc 1 4132 3 discriminator 1 view .LVU1317 3870 0002 0268 ldr r2, [r0] ARM GAS /tmp/cceWHrnJ.s page 182 3871 .LVL349: 3872 .LBB710: 3873 .LBI710: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3874 .loc 2 1151 31 discriminator 1 view .LVU1318 3875 .LBB711: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 3876 .loc 2 1153 5 discriminator 1 view .LVU1319 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3877 .loc 2 1155 4 discriminator 1 view .LVU1320 3878 .syntax unified 3879 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3880 0004 52E8003F ldrex r3, [r2] 3881 @ 0 "" 2 3882 .LVL350: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3883 .loc 2 1156 4 discriminator 1 view .LVU1321 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3884 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU1322 3885 .thumb 3886 .syntax unified 3887 .LBE711: 3888 .LBE710: 3889 .loc 1 4132 3 discriminator 1 view .LVU1323 3890 0008 23F04003 bic r3, r3, #64 3891 .LVL351: 3892 .loc 1 4132 3 is_stmt 1 discriminator 1 view .LVU1324 3893 .LBB712: 3894 .LBI712: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3895 .loc 2 1202 31 discriminator 1 view .LVU1325 3896 .LBB713: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 3897 .loc 2 1204 4 discriminator 1 view .LVU1326 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3898 .loc 2 1206 4 discriminator 1 view .LVU1327 3899 .syntax unified 3900 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3901 000c 42E80031 strex r1, r3, [r2] 3902 @ 0 "" 2 3903 .LVL352: 3904 .loc 2 1207 4 discriminator 1 view .LVU1328 3905 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU1329 3906 .thumb 3907 .syntax unified 3908 .LBE713: 3909 .LBE712: 3910 .loc 1 4132 3 discriminator 1 view .LVU1330 3911 0010 0029 cmp r1, #0 3912 0012 F6D1 bne .L157 3913 .LBE709: 3914 .loc 1 4132 3 is_stmt 1 discriminator 2 view .LVU1331 4133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Tx process is ended, restore huart->gState to Ready */ 4135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3915 .loc 1 4135 3 discriminator 2 view .LVU1332 3916 .loc 1 4135 17 is_stmt 0 discriminator 2 view .LVU1333 ARM GAS /tmp/cceWHrnJ.s page 183 3917 0014 2023 movs r3, #32 3918 .LVL353: 3919 .loc 1 4135 17 discriminator 2 view .LVU1334 3920 0016 C0F88430 str r3, [r0, #132] 4136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Cleat TxISR function pointer */ 4138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL; 3921 .loc 1 4138 3 is_stmt 1 discriminator 2 view .LVU1335 3922 .loc 1 4138 16 is_stmt 0 discriminator 2 view .LVU1336 3923 001a 0023 movs r3, #0 3924 001c 4367 str r3, [r0, #116] 4139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 4141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Tx complete callback*/ 4142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxCpltCallback(huart); 4143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 4144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/ 4145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart); 3925 .loc 1 4145 3 is_stmt 1 discriminator 2 view .LVU1337 3926 001e FFF7FEFF bl HAL_UART_TxCpltCallback 3927 .LVL354: 4146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 3928 .loc 1 4147 1 is_stmt 0 discriminator 2 view .LVU1338 3929 0022 08BD pop {r3, pc} 3930 .cfi_endproc 3931 .LFE394: 3933 .section .text.HAL_UART_TxHalfCpltCallback,"ax",%progbits 3934 .align 1 3935 .weak HAL_UART_TxHalfCpltCallback 3936 .syntax unified 3937 .thumb 3938 .thumb_func 3940 HAL_UART_TxHalfCpltCallback: 3941 .LVL355: 3942 .LFB353: 2574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 3943 .loc 1 2574 1 is_stmt 1 view -0 3944 .cfi_startproc 3945 @ args = 0, pretend = 0, frame = 0 3946 @ frame_needed = 0, uses_anonymous_args = 0 3947 @ link register save eliminated. 2576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3948 .loc 1 2576 3 view .LVU1340 2581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3949 .loc 1 2581 1 is_stmt 0 view .LVU1341 3950 0000 7047 bx lr 3951 .cfi_endproc 3952 .LFE353: 3954 .section .text.UART_DMATxHalfCplt,"ax",%progbits 3955 .align 1 3956 .syntax unified 3957 .thumb 3958 .thumb_func 3960 UART_DMATxHalfCplt: 3961 .LVL356: 3962 .LFB381: ARM GAS /tmp/cceWHrnJ.s page 184 3643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3963 .loc 1 3643 1 is_stmt 1 view -0 3964 .cfi_startproc 3965 @ args = 0, pretend = 0, frame = 0 3966 @ frame_needed = 0, uses_anonymous_args = 0 3643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3967 .loc 1 3643 1 is_stmt 0 view .LVU1343 3968 0000 08B5 push {r3, lr} 3969 .LCFI14: 3970 .cfi_def_cfa_offset 8 3971 .cfi_offset 3, -8 3972 .cfi_offset 14, -4 3644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3973 .loc 1 3644 3 is_stmt 1 view .LVU1344 3974 .LVL357: 3651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3975 .loc 1 3651 3 view .LVU1345 3976 0002 806A ldr r0, [r0, #40] 3977 .LVL358: 3651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3978 .loc 1 3651 3 is_stmt 0 view .LVU1346 3979 0004 FFF7FEFF bl HAL_UART_TxHalfCpltCallback 3980 .LVL359: 3653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 3981 .loc 1 3653 1 view .LVU1347 3982 0008 08BD pop {r3, pc} 3983 .cfi_endproc 3984 .LFE381: 3986 .section .text.HAL_UART_RxCpltCallback,"ax",%progbits 3987 .align 1 3988 .weak HAL_UART_RxCpltCallback 3989 .syntax unified 3990 .thumb 3991 .thumb_func 3993 HAL_UART_RxCpltCallback: 3994 .LVL360: 3995 .LFB354: 2589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 3996 .loc 1 2589 1 is_stmt 1 view -0 3997 .cfi_startproc 3998 @ args = 0, pretend = 0, frame = 0 3999 @ frame_needed = 0, uses_anonymous_args = 0 4000 @ link register save eliminated. 2591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4001 .loc 1 2591 3 view .LVU1349 2596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4002 .loc 1 2596 1 is_stmt 0 view .LVU1350 4003 0000 7047 bx lr 4004 .cfi_endproc 4005 .LFE354: 4007 .section .text.HAL_UART_RxHalfCpltCallback,"ax",%progbits 4008 .align 1 4009 .weak HAL_UART_RxHalfCpltCallback 4010 .syntax unified 4011 .thumb 4012 .thumb_func 4014 HAL_UART_RxHalfCpltCallback: ARM GAS /tmp/cceWHrnJ.s page 185 4015 .LVL361: 4016 .LFB355: 2604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 4017 .loc 1 2604 1 is_stmt 1 view -0 4018 .cfi_startproc 4019 @ args = 0, pretend = 0, frame = 0 4020 @ frame_needed = 0, uses_anonymous_args = 0 4021 @ link register save eliminated. 2606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4022 .loc 1 2606 3 view .LVU1352 2611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4023 .loc 1 2611 1 is_stmt 0 view .LVU1353 4024 0000 7047 bx lr 4025 .cfi_endproc 4026 .LFE355: 4028 .section .text.HAL_UART_ErrorCallback,"ax",%progbits 4029 .align 1 4030 .weak HAL_UART_ErrorCallback 4031 .syntax unified 4032 .thumb 4033 .thumb_func 4035 HAL_UART_ErrorCallback: 4036 .LVL362: 4037 .LFB356: 2619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 4038 .loc 1 2619 1 is_stmt 1 view -0 4039 .cfi_startproc 4040 @ args = 0, pretend = 0, frame = 0 4041 @ frame_needed = 0, uses_anonymous_args = 0 4042 @ link register save eliminated. 2621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4043 .loc 1 2621 3 view .LVU1355 2626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4044 .loc 1 2626 1 is_stmt 0 view .LVU1356 4045 0000 7047 bx lr 4046 .cfi_endproc 4047 .LFE356: 4049 .section .text.UART_DMAError,"ax",%progbits 4050 .align 1 4051 .syntax unified 4052 .thumb 4053 .thumb_func 4055 UART_DMAError: 4056 .LVL363: 4057 .LFB384: 3752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4058 .loc 1 3752 1 is_stmt 1 view -0 4059 .cfi_startproc 4060 @ args = 0, pretend = 0, frame = 0 4061 @ frame_needed = 0, uses_anonymous_args = 0 3752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4062 .loc 1 3752 1 is_stmt 0 view .LVU1358 4063 0000 38B5 push {r3, r4, r5, lr} 4064 .LCFI15: 4065 .cfi_def_cfa_offset 16 4066 .cfi_offset 3, -16 4067 .cfi_offset 4, -12 ARM GAS /tmp/cceWHrnJ.s page 186 4068 .cfi_offset 5, -8 4069 .cfi_offset 14, -4 3753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4070 .loc 1 3753 3 is_stmt 1 view .LVU1359 3753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4071 .loc 1 3753 23 is_stmt 0 view .LVU1360 4072 0002 846A ldr r4, [r0, #40] 4073 .LVL364: 3755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 4074 .loc 1 3755 3 is_stmt 1 view .LVU1361 3755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 4075 .loc 1 3755 31 is_stmt 0 view .LVU1362 4076 0004 D4F88420 ldr r2, [r4, #132] 4077 .LVL365: 3756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4078 .loc 1 3756 3 is_stmt 1 view .LVU1363 3756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4079 .loc 1 3756 31 is_stmt 0 view .LVU1364 4080 0008 D4F88850 ldr r5, [r4, #136] 4081 .LVL366: 3759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 4082 .loc 1 3759 3 is_stmt 1 view .LVU1365 3759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 4083 .loc 1 3759 8 is_stmt 0 view .LVU1366 4084 000c 2368 ldr r3, [r4] 4085 000e 9B68 ldr r3, [r3, #8] 3759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 4086 .loc 1 3759 6 view .LVU1367 4087 0010 13F0800F tst r3, #128 4088 0014 01D0 beq .L166 3759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 4089 .loc 1 3759 62 discriminator 1 view .LVU1368 4090 0016 212A cmp r2, #33 4091 0018 10D0 beq .L169 4092 .LVL367: 4093 .L166: 3767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 4094 .loc 1 3767 3 is_stmt 1 view .LVU1369 3767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 4095 .loc 1 3767 8 is_stmt 0 view .LVU1370 4096 001a 2368 ldr r3, [r4] 4097 001c 9B68 ldr r3, [r3, #8] 3767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 4098 .loc 1 3767 6 view .LVU1371 4099 001e 13F0400F tst r3, #64 4100 0022 01D0 beq .L167 3767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 4101 .loc 1 3767 62 discriminator 1 view .LVU1372 4102 0024 222D cmp r5, #34 4103 0026 10D0 beq .L170 4104 .L167: 3774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4105 .loc 1 3774 3 is_stmt 1 view .LVU1373 3774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4106 .loc 1 3774 8 is_stmt 0 view .LVU1374 4107 0028 D4F88C30 ldr r3, [r4, #140] 3774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 187 4108 .loc 1 3774 20 view .LVU1375 4109 002c 43F01003 orr r3, r3, #16 4110 0030 C4F88C30 str r3, [r4, #140] 3781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4111 .loc 1 3781 3 is_stmt 1 view .LVU1376 4112 0034 2046 mov r0, r4 4113 0036 FFF7FEFF bl HAL_UART_ErrorCallback 4114 .LVL368: 3783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4115 .loc 1 3783 1 is_stmt 0 view .LVU1377 4116 003a 38BD pop {r3, r4, r5, pc} 4117 .LVL369: 4118 .L169: 3762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_EndTxTransfer(huart); 4119 .loc 1 3762 5 is_stmt 1 view .LVU1378 3762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_EndTxTransfer(huart); 4120 .loc 1 3762 24 is_stmt 0 view .LVU1379 4121 003c 0023 movs r3, #0 4122 003e A4F85630 strh r3, [r4, #86] @ movhi 3763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4123 .loc 1 3763 5 is_stmt 1 view .LVU1380 4124 0042 2046 mov r0, r4 4125 .LVL370: 3763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4126 .loc 1 3763 5 is_stmt 0 view .LVU1381 4127 0044 FFF7FEFF bl UART_EndTxTransfer 4128 .LVL371: 3763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4129 .loc 1 3763 5 view .LVU1382 4130 0048 E7E7 b .L166 4131 .L170: 3770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_EndRxTransfer(huart); 4132 .loc 1 3770 5 is_stmt 1 view .LVU1383 3770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_EndRxTransfer(huart); 4133 .loc 1 3770 24 is_stmt 0 view .LVU1384 4134 004a 0023 movs r3, #0 4135 004c A4F85E30 strh r3, [r4, #94] @ movhi 3771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4136 .loc 1 3771 5 is_stmt 1 view .LVU1385 4137 0050 2046 mov r0, r4 4138 0052 FFF7FEFF bl UART_EndRxTransfer 4139 .LVL372: 4140 0056 E7E7 b .L167 4141 .cfi_endproc 4142 .LFE384: 4144 .section .text.UART_DMAAbortOnError,"ax",%progbits 4145 .align 1 4146 .syntax unified 4147 .thumb 4148 .thumb_func 4150 UART_DMAAbortOnError: 4151 .LVL373: 4152 .LFB385: 3792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4153 .loc 1 3792 1 view -0 4154 .cfi_startproc 4155 @ args = 0, pretend = 0, frame = 0 ARM GAS /tmp/cceWHrnJ.s page 188 4156 @ frame_needed = 0, uses_anonymous_args = 0 3792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4157 .loc 1 3792 1 is_stmt 0 view .LVU1387 4158 0000 08B5 push {r3, lr} 4159 .LCFI16: 4160 .cfi_def_cfa_offset 8 4161 .cfi_offset 3, -8 4162 .cfi_offset 14, -4 3793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 4163 .loc 1 3793 3 is_stmt 1 view .LVU1388 3793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 4164 .loc 1 3793 23 is_stmt 0 view .LVU1389 4165 0002 806A ldr r0, [r0, #40] 4166 .LVL374: 3794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U; 4167 .loc 1 3794 3 is_stmt 1 view .LVU1390 3794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U; 4168 .loc 1 3794 22 is_stmt 0 view .LVU1391 4169 0004 0023 movs r3, #0 4170 0006 A0F85E30 strh r3, [r0, #94] @ movhi 3795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4171 .loc 1 3795 3 is_stmt 1 view .LVU1392 3795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4172 .loc 1 3795 22 is_stmt 0 view .LVU1393 4173 000a A0F85630 strh r3, [r0, #86] @ movhi 3802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4174 .loc 1 3802 3 is_stmt 1 view .LVU1394 4175 000e FFF7FEFF bl HAL_UART_ErrorCallback 4176 .LVL375: 3804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4177 .loc 1 3804 1 is_stmt 0 view .LVU1395 4178 0012 08BD pop {r3, pc} 4179 .cfi_endproc 4180 .LFE385: 4182 .section .text.HAL_UART_AbortCpltCallback,"ax",%progbits 4183 .align 1 4184 .weak HAL_UART_AbortCpltCallback 4185 .syntax unified 4186 .thumb 4187 .thumb_func 4189 HAL_UART_AbortCpltCallback: 4190 .LVL376: 4191 .LFB357: 2634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 4192 .loc 1 2634 1 is_stmt 1 view -0 4193 .cfi_startproc 4194 @ args = 0, pretend = 0, frame = 0 4195 @ frame_needed = 0, uses_anonymous_args = 0 4196 @ link register save eliminated. 2636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4197 .loc 1 2636 3 view .LVU1397 2641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4198 .loc 1 2641 1 is_stmt 0 view .LVU1398 4199 0000 7047 bx lr 4200 .cfi_endproc 4201 .LFE357: 4203 .section .text.HAL_UART_Abort_IT,"ax",%progbits ARM GAS /tmp/cceWHrnJ.s page 189 4204 .align 1 4205 .global HAL_UART_Abort_IT 4206 .syntax unified 4207 .thumb 4208 .thumb_func 4210 HAL_UART_Abort_IT: 4211 .LVL377: 4212 .LFB348: 1902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t abortcplt = 1U; 4213 .loc 1 1902 1 is_stmt 1 view -0 4214 .cfi_startproc 4215 @ args = 0, pretend = 0, frame = 0 4216 @ frame_needed = 0, uses_anonymous_args = 0 1902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t abortcplt = 1U; 4217 .loc 1 1902 1 is_stmt 0 view .LVU1400 4218 0000 38B5 push {r3, r4, r5, lr} 4219 .LCFI17: 4220 .cfi_def_cfa_offset 16 4221 .cfi_offset 3, -16 4222 .cfi_offset 4, -12 4223 .cfi_offset 5, -8 4224 .cfi_offset 14, -4 4225 0002 0446 mov r4, r0 1903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4226 .loc 1 1903 3 is_stmt 1 view .LVU1401 4227 .LVL378: 4228 .L175: 1906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 4229 .loc 1 1906 3 discriminator 1 view .LVU1402 4230 .LBB714: 1906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 4231 .loc 1 1906 3 discriminator 1 view .LVU1403 1906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 4232 .loc 1 1906 3 discriminator 1 view .LVU1404 1906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 4233 .loc 1 1906 3 discriminator 1 view .LVU1405 4234 0004 2268 ldr r2, [r4] 4235 .LVL379: 4236 .LBB715: 4237 .LBI715: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4238 .loc 2 1151 31 discriminator 1 view .LVU1406 4239 .LBB716: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 4240 .loc 2 1153 5 discriminator 1 view .LVU1407 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4241 .loc 2 1155 4 discriminator 1 view .LVU1408 4242 .syntax unified 4243 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4244 0006 52E8003F ldrex r3, [r2] 4245 @ 0 "" 2 4246 .LVL380: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4247 .loc 2 1156 4 discriminator 1 view .LVU1409 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4248 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU1410 4249 .thumb ARM GAS /tmp/cceWHrnJ.s page 190 4250 .syntax unified 4251 .LBE716: 4252 .LBE715: 1906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 4253 .loc 1 1906 3 discriminator 1 view .LVU1411 4254 000a 23F4F073 bic r3, r3, #480 4255 .LVL381: 1906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 4256 .loc 1 1906 3 is_stmt 1 discriminator 1 view .LVU1412 4257 .LBB717: 4258 .LBI717: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4259 .loc 2 1202 31 discriminator 1 view .LVU1413 4260 .LBB718: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 4261 .loc 2 1204 4 discriminator 1 view .LVU1414 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4262 .loc 2 1206 4 discriminator 1 view .LVU1415 4263 .syntax unified 4264 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4265 000e 42E80031 strex r1, r3, [r2] 4266 @ 0 "" 2 4267 .LVL382: 4268 .loc 2 1207 4 discriminator 1 view .LVU1416 4269 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU1417 4270 .thumb 4271 .syntax unified 4272 .LBE718: 4273 .LBE717: 1906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 4274 .loc 1 1906 3 discriminator 1 view .LVU1418 4275 0012 0029 cmp r1, #0 4276 0014 F6D1 bne .L175 4277 .LVL383: 4278 .L176: 1906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 4279 .loc 1 1906 3 discriminator 1 view .LVU1419 4280 .LBE714: 1906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 4281 .loc 1 1906 3 is_stmt 1 discriminator 1 view .LVU1420 1908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4282 .loc 1 1908 3 discriminator 1 view .LVU1421 4283 .LBB719: 1908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4284 .loc 1 1908 3 discriminator 1 view .LVU1422 1908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4285 .loc 1 1908 3 discriminator 1 view .LVU1423 1908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4286 .loc 1 1908 3 discriminator 1 view .LVU1424 4287 0016 2268 ldr r2, [r4] 4288 .LVL384: 4289 .LBB720: 4290 .LBI720: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4291 .loc 2 1151 31 discriminator 1 view .LVU1425 4292 .LBB721: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** ARM GAS /tmp/cceWHrnJ.s page 191 4293 .loc 2 1153 5 discriminator 1 view .LVU1426 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4294 .loc 2 1155 4 discriminator 1 view .LVU1427 4295 0018 02F10803 add r3, r2, #8 4296 .LVL385: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4297 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU1428 4298 .syntax unified 4299 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4300 001c 53E8003F ldrex r3, [r3] 4301 @ 0 "" 2 4302 .LVL386: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4303 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU1429 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4304 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU1430 4305 .thumb 4306 .syntax unified 4307 .LBE721: 4308 .LBE720: 1908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4309 .loc 1 1908 3 discriminator 1 view .LVU1431 4310 0020 23F08453 bic r3, r3, #276824064 4311 0024 23F00103 bic r3, r3, #1 4312 .LVL387: 1908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4313 .loc 1 1908 3 is_stmt 1 discriminator 1 view .LVU1432 4314 .LBB722: 4315 .LBI722: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4316 .loc 2 1202 31 discriminator 1 view .LVU1433 4317 .LBB723: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 4318 .loc 2 1204 4 discriminator 1 view .LVU1434 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4319 .loc 2 1206 4 discriminator 1 view .LVU1435 4320 0028 0832 adds r2, r2, #8 4321 .LVL388: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4322 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU1436 4323 .syntax unified 4324 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4325 002a 42E80031 strex r1, r3, [r2] 4326 @ 0 "" 2 4327 .LVL389: 4328 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU1437 4329 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU1438 4330 .thumb 4331 .syntax unified 4332 .LBE723: 4333 .LBE722: 1908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4334 .loc 1 1908 3 discriminator 1 view .LVU1439 4335 002e 0029 cmp r1, #0 4336 0030 F1D1 bne .L176 4337 .LBE719: 1908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 192 4338 .loc 1 1908 3 is_stmt 1 discriminator 2 view .LVU1440 1911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4339 .loc 1 1911 3 discriminator 2 view .LVU1441 1911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4340 .loc 1 1911 12 is_stmt 0 discriminator 2 view .LVU1442 4341 0032 E36E ldr r3, [r4, #108] 4342 .LVL390: 1911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4343 .loc 1 1911 6 discriminator 2 view .LVU1443 4344 0034 012B cmp r3, #1 4345 0036 2ED0 beq .L178 4346 .L177: 1913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4347 .loc 1 1913 5 is_stmt 1 discriminator 2 view .LVU1444 1919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4348 .loc 1 1919 3 discriminator 2 view .LVU1445 1919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4349 .loc 1 1919 12 is_stmt 0 discriminator 2 view .LVU1446 4350 0038 A36F ldr r3, [r4, #120] 1919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4351 .loc 1 1919 6 discriminator 2 view .LVU1447 4352 003a 33B1 cbz r3, .L179 1923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4353 .loc 1 1923 5 is_stmt 1 view .LVU1448 1923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4354 .loc 1 1923 9 is_stmt 0 view .LVU1449 4355 003c 2268 ldr r2, [r4] 4356 003e 9268 ldr r2, [r2, #8] 1923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4357 .loc 1 1923 8 view .LVU1450 4358 0040 12F0800F tst r2, #128 4359 0044 31D0 beq .L180 1925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4360 .loc 1 1925 7 is_stmt 1 view .LVU1451 1925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4361 .loc 1 1925 40 is_stmt 0 view .LVU1452 4362 0046 3F4A ldr r2, .L194 4363 0048 9A63 str r2, [r3, #56] 4364 .L179: 1933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4365 .loc 1 1933 3 is_stmt 1 view .LVU1453 1933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4366 .loc 1 1933 12 is_stmt 0 view .LVU1454 4367 004a E36F ldr r3, [r4, #124] 1933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4368 .loc 1 1933 6 view .LVU1455 4369 004c 33B1 cbz r3, .L181 1937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4370 .loc 1 1937 5 is_stmt 1 view .LVU1456 1937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4371 .loc 1 1937 9 is_stmt 0 view .LVU1457 4372 004e 2268 ldr r2, [r4] 4373 0050 9268 ldr r2, [r2, #8] 1937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4374 .loc 1 1937 8 view .LVU1458 4375 0052 12F0400F tst r2, #64 4376 0056 2BD0 beq .L182 ARM GAS /tmp/cceWHrnJ.s page 193 1939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4377 .loc 1 1939 7 is_stmt 1 view .LVU1459 1939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4378 .loc 1 1939 40 is_stmt 0 view .LVU1460 4379 0058 3B4A ldr r2, .L194+4 4380 005a 9A63 str r2, [r3, #56] 4381 .L181: 1948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4382 .loc 1 1948 3 is_stmt 1 view .LVU1461 1948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4383 .loc 1 1948 7 is_stmt 0 view .LVU1462 4384 005c 2368 ldr r3, [r4] 4385 005e 9B68 ldr r3, [r3, #8] 1948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4386 .loc 1 1948 6 view .LVU1463 4387 0060 13F0800F tst r3, #128 4388 0064 27D0 beq .L190 4389 .L184: 1951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4390 .loc 1 1951 5 is_stmt 1 discriminator 1 view .LVU1464 4391 .LBB724: 1951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4392 .loc 1 1951 5 discriminator 1 view .LVU1465 1951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4393 .loc 1 1951 5 discriminator 1 view .LVU1466 1951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4394 .loc 1 1951 5 discriminator 1 view .LVU1467 4395 0066 2168 ldr r1, [r4] 4396 .LVL391: 4397 .LBB725: 4398 .LBI725: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4399 .loc 2 1151 31 discriminator 1 view .LVU1468 4400 .LBB726: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 4401 .loc 2 1153 5 discriminator 1 view .LVU1469 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4402 .loc 2 1155 4 discriminator 1 view .LVU1470 4403 0068 01F10803 add r3, r1, #8 4404 .LVL392: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4405 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU1471 4406 .syntax unified 4407 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4408 006c 53E8003F ldrex r3, [r3] 4409 @ 0 "" 2 4410 .LVL393: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4411 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU1472 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4412 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU1473 4413 .thumb 4414 .syntax unified 4415 .LBE726: 4416 .LBE725: 1951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4417 .loc 1 1951 5 discriminator 1 view .LVU1474 ARM GAS /tmp/cceWHrnJ.s page 194 4418 0070 23F08003 bic r3, r3, #128 4419 .LVL394: 1951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4420 .loc 1 1951 5 is_stmt 1 discriminator 1 view .LVU1475 4421 .LBB727: 4422 .LBI727: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4423 .loc 2 1202 31 discriminator 1 view .LVU1476 4424 .LBB728: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 4425 .loc 2 1204 4 discriminator 1 view .LVU1477 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4426 .loc 2 1206 4 discriminator 1 view .LVU1478 4427 0074 0831 adds r1, r1, #8 4428 .LVL395: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4429 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU1479 4430 .syntax unified 4431 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4432 0076 41E80032 strex r2, r3, [r1] 4433 @ 0 "" 2 4434 .thumb 4435 .syntax unified 4436 007a 1546 mov r5, r2 4437 .LVL396: 4438 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU1480 4439 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU1481 4440 .LBE728: 4441 .LBE727: 1951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4442 .loc 1 1951 5 discriminator 1 view .LVU1482 4443 007c 002A cmp r2, #0 4444 007e F2D1 bne .L184 4445 .LBE724: 1951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4446 .loc 1 1951 5 is_stmt 1 discriminator 2 view .LVU1483 1954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4447 .loc 1 1954 5 discriminator 2 view .LVU1484 1954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4448 .loc 1 1954 14 is_stmt 0 discriminator 2 view .LVU1485 4449 0080 A06F ldr r0, [r4, #120] 4450 .LVL397: 1954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4451 .loc 1 1954 8 discriminator 2 view .LVU1486 4452 0082 0028 cmp r0, #0 4453 0084 51D0 beq .L191 1960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4454 .loc 1 1960 7 is_stmt 1 view .LVU1487 1960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4455 .loc 1 1960 11 is_stmt 0 view .LVU1488 4456 0086 FFF7FEFF bl HAL_DMA_Abort_IT 4457 .LVL398: 1960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4458 .loc 1 1960 10 view .LVU1489 4459 008a A8B1 cbz r0, .L183 1962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4460 .loc 1 1962 9 is_stmt 1 view .LVU1490 ARM GAS /tmp/cceWHrnJ.s page 195 1962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4461 .loc 1 1962 14 is_stmt 0 view .LVU1491 4462 008c A36F ldr r3, [r4, #120] 1962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4463 .loc 1 1962 42 view .LVU1492 4464 008e 0022 movs r2, #0 4465 0090 9A63 str r2, [r3, #56] 1903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4466 .loc 1 1903 12 view .LVU1493 4467 0092 0125 movs r5, #1 4468 0094 10E0 b .L183 4469 .LVL399: 4470 .L178: 1913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4471 .loc 1 1913 5 is_stmt 1 discriminator 1 view .LVU1494 4472 .LBB729: 1913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4473 .loc 1 1913 5 discriminator 1 view .LVU1495 1913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4474 .loc 1 1913 5 discriminator 1 view .LVU1496 1913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4475 .loc 1 1913 5 discriminator 1 view .LVU1497 4476 0096 2268 ldr r2, [r4] 4477 .LVL400: 4478 .LBB730: 4479 .LBI730: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4480 .loc 2 1151 31 discriminator 1 view .LVU1498 4481 .LBB731: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 4482 .loc 2 1153 5 discriminator 1 view .LVU1499 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4483 .loc 2 1155 4 discriminator 1 view .LVU1500 4484 .syntax unified 4485 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4486 0098 52E8003F ldrex r3, [r2] 4487 @ 0 "" 2 4488 .LVL401: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4489 .loc 2 1156 4 discriminator 1 view .LVU1501 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4490 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU1502 4491 .thumb 4492 .syntax unified 4493 .LBE731: 4494 .LBE730: 1913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4495 .loc 1 1913 5 discriminator 1 view .LVU1503 4496 009c 23F01003 bic r3, r3, #16 4497 .LVL402: 1913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4498 .loc 1 1913 5 is_stmt 1 discriminator 1 view .LVU1504 4499 .LBB732: 4500 .LBI732: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4501 .loc 2 1202 31 discriminator 1 view .LVU1505 4502 .LBB733: ARM GAS /tmp/cceWHrnJ.s page 196 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 4503 .loc 2 1204 4 discriminator 1 view .LVU1506 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4504 .loc 2 1206 4 discriminator 1 view .LVU1507 4505 .syntax unified 4506 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4507 00a0 42E80031 strex r1, r3, [r2] 4508 @ 0 "" 2 4509 .LVL403: 4510 .loc 2 1207 4 discriminator 1 view .LVU1508 4511 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU1509 4512 .thumb 4513 .syntax unified 4514 .LBE733: 4515 .LBE732: 1913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4516 .loc 1 1913 5 discriminator 1 view .LVU1510 4517 00a4 0029 cmp r1, #0 4518 00a6 F6D1 bne .L178 4519 00a8 C6E7 b .L177 4520 .LVL404: 4521 .L180: 1913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4522 .loc 1 1913 5 discriminator 1 view .LVU1511 4523 .LBE729: 1929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4524 .loc 1 1929 7 is_stmt 1 view .LVU1512 1929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4525 .loc 1 1929 40 is_stmt 0 view .LVU1513 4526 00aa 0022 movs r2, #0 4527 00ac 9A63 str r2, [r3, #56] 4528 00ae CCE7 b .L179 4529 .L182: 1943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4530 .loc 1 1943 7 is_stmt 1 view .LVU1514 1943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4531 .loc 1 1943 40 is_stmt 0 view .LVU1515 4532 00b0 0022 movs r2, #0 4533 00b2 9A63 str r2, [r3, #56] 4534 00b4 D2E7 b .L181 4535 .L190: 1903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4536 .loc 1 1903 12 view .LVU1516 4537 00b6 0125 movs r5, #1 4538 .LVL405: 4539 .L183: 1972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4540 .loc 1 1972 3 is_stmt 1 view .LVU1517 1972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4541 .loc 1 1972 7 is_stmt 0 view .LVU1518 4542 00b8 2368 ldr r3, [r4] 4543 00ba 9B68 ldr r3, [r3, #8] 1972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4544 .loc 1 1972 6 view .LVU1519 4545 00bc 13F0400F tst r3, #64 4546 00c0 35D0 beq .L185 4547 .L186: ARM GAS /tmp/cceWHrnJ.s page 197 1975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4548 .loc 1 1975 5 is_stmt 1 discriminator 1 view .LVU1520 4549 .LBB734: 1975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4550 .loc 1 1975 5 discriminator 1 view .LVU1521 1975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4551 .loc 1 1975 5 discriminator 1 view .LVU1522 1975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4552 .loc 1 1975 5 discriminator 1 view .LVU1523 4553 00c2 2268 ldr r2, [r4] 4554 .LVL406: 4555 .LBB735: 4556 .LBI735: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4557 .loc 2 1151 31 discriminator 1 view .LVU1524 4558 .LBB736: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 4559 .loc 2 1153 5 discriminator 1 view .LVU1525 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4560 .loc 2 1155 4 discriminator 1 view .LVU1526 4561 00c4 02F10803 add r3, r2, #8 4562 .LVL407: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4563 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU1527 4564 .syntax unified 4565 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4566 00c8 53E8003F ldrex r3, [r3] 4567 @ 0 "" 2 4568 .LVL408: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4569 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU1528 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4570 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU1529 4571 .thumb 4572 .syntax unified 4573 .LBE736: 4574 .LBE735: 1975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4575 .loc 1 1975 5 discriminator 1 view .LVU1530 4576 00cc 23F04003 bic r3, r3, #64 4577 .LVL409: 1975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4578 .loc 1 1975 5 is_stmt 1 discriminator 1 view .LVU1531 4579 .LBB737: 4580 .LBI737: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4581 .loc 2 1202 31 discriminator 1 view .LVU1532 4582 .LBB738: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 4583 .loc 2 1204 4 discriminator 1 view .LVU1533 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4584 .loc 2 1206 4 discriminator 1 view .LVU1534 4585 00d0 0832 adds r2, r2, #8 4586 .LVL410: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4587 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU1535 4588 .syntax unified ARM GAS /tmp/cceWHrnJ.s page 198 4589 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4590 00d2 42E80031 strex r1, r3, [r2] 4591 @ 0 "" 2 4592 .LVL411: 4593 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU1536 4594 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU1537 4595 .thumb 4596 .syntax unified 4597 .LBE738: 4598 .LBE737: 1975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4599 .loc 1 1975 5 discriminator 1 view .LVU1538 4600 00d6 0029 cmp r1, #0 4601 00d8 F3D1 bne .L186 4602 .LBE734: 1975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4603 .loc 1 1975 5 is_stmt 1 discriminator 2 view .LVU1539 1978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4604 .loc 1 1978 5 discriminator 2 view .LVU1540 1978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4605 .loc 1 1978 14 is_stmt 0 discriminator 2 view .LVU1541 4606 00da E06F ldr r0, [r4, #124] 1978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4607 .loc 1 1978 8 discriminator 2 view .LVU1542 4608 00dc 38B3 cbz r0, .L185 1984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4609 .loc 1 1984 7 is_stmt 1 view .LVU1543 1984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4610 .loc 1 1984 11 is_stmt 0 view .LVU1544 4611 00de FFF7FEFF bl HAL_DMA_Abort_IT 4612 .LVL412: 1984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4613 .loc 1 1984 10 view .LVU1545 4614 00e2 30B3 cbz r0, .L187 1986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** abortcplt = 1U; 4615 .loc 1 1986 9 is_stmt 1 view .LVU1546 1986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** abortcplt = 1U; 4616 .loc 1 1986 14 is_stmt 0 view .LVU1547 4617 00e4 E36F ldr r3, [r4, #124] 1986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** abortcplt = 1U; 4618 .loc 1 1986 42 view .LVU1548 4619 00e6 0022 movs r2, #0 4620 00e8 9A63 str r2, [r3, #56] 1987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4621 .loc 1 1987 9 is_stmt 1 view .LVU1549 4622 .LVL413: 1997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4623 .loc 1 1997 3 view .LVU1550 4624 .L188: 2000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 4625 .loc 1 2000 5 view .LVU1551 2000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 4626 .loc 1 2000 24 is_stmt 0 view .LVU1552 4627 00ea 0023 movs r3, #0 4628 00ec A4F85630 strh r3, [r4, #86] @ movhi 2001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4629 .loc 1 2001 5 is_stmt 1 view .LVU1553 ARM GAS /tmp/cceWHrnJ.s page 199 2001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4630 .loc 1 2001 24 is_stmt 0 view .LVU1554 4631 00f0 A4F85E30 strh r3, [r4, #94] @ movhi 2004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL; 4632 .loc 1 2004 5 is_stmt 1 view .LVU1555 2004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL; 4633 .loc 1 2004 18 is_stmt 0 view .LVU1556 4634 00f4 2367 str r3, [r4, #112] 2005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4635 .loc 1 2005 5 is_stmt 1 view .LVU1557 2005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4636 .loc 1 2005 18 is_stmt 0 view .LVU1558 4637 00f6 6367 str r3, [r4, #116] 2008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4638 .loc 1 2008 5 is_stmt 1 view .LVU1559 2008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4639 .loc 1 2008 22 is_stmt 0 view .LVU1560 4640 00f8 C4F88C30 str r3, [r4, #140] 2011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4641 .loc 1 2011 5 is_stmt 1 view .LVU1561 4642 00fc 2368 ldr r3, [r4] 4643 00fe 0F22 movs r2, #15 4644 0100 1A62 str r2, [r3, #32] 2014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4645 .loc 1 2014 5 view .LVU1562 2014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4646 .loc 1 2014 14 is_stmt 0 view .LVU1563 4647 0102 636E ldr r3, [r4, #100] 2014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4648 .loc 1 2014 8 view .LVU1564 4649 0104 B3F1005F cmp r3, #536870912 4650 0108 15D0 beq .L193 4651 .L189: 2020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4652 .loc 1 2020 5 is_stmt 1 view .LVU1565 4653 010a 2268 ldr r2, [r4] 4654 010c 9369 ldr r3, [r2, #24] 4655 010e 43F00803 orr r3, r3, #8 4656 0112 9361 str r3, [r2, #24] 2023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4657 .loc 1 2023 5 view .LVU1566 2023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4658 .loc 1 2023 20 is_stmt 0 view .LVU1567 4659 0114 2023 movs r3, #32 4660 0116 C4F88430 str r3, [r4, #132] 2024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4661 .loc 1 2024 5 is_stmt 1 view .LVU1568 2024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4662 .loc 1 2024 20 is_stmt 0 view .LVU1569 4663 011a C4F88830 str r3, [r4, #136] 2025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4664 .loc 1 2025 5 is_stmt 1 view .LVU1570 2025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4665 .loc 1 2025 26 is_stmt 0 view .LVU1571 4666 011e 0023 movs r3, #0 4667 0120 E366 str r3, [r4, #108] 2033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ ARM GAS /tmp/cceWHrnJ.s page 200 4668 .loc 1 2033 5 is_stmt 1 view .LVU1572 4669 0122 2046 mov r0, r4 4670 0124 FFF7FEFF bl HAL_UART_AbortCpltCallback 4671 .LVL414: 4672 0128 03E0 b .L187 4673 .LVL415: 4674 .L191: 1903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4675 .loc 1 1903 12 is_stmt 0 view .LVU1573 4676 012a 0125 movs r5, #1 4677 012c C4E7 b .L183 4678 .LVL416: 4679 .L185: 1997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4680 .loc 1 1997 3 is_stmt 1 view .LVU1574 1997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4681 .loc 1 1997 6 is_stmt 0 view .LVU1575 4682 012e 012D cmp r5, #1 4683 0130 DBD0 beq .L188 4684 .LVL417: 4685 .L187: 2037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4686 .loc 1 2037 3 is_stmt 1 view .LVU1576 2038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4687 .loc 1 2038 1 is_stmt 0 view .LVU1577 4688 0132 0020 movs r0, #0 4689 0134 38BD pop {r3, r4, r5, pc} 4690 .LVL418: 4691 .L193: 2016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4692 .loc 1 2016 7 is_stmt 1 view .LVU1578 4693 0136 2268 ldr r2, [r4] 4694 0138 9369 ldr r3, [r2, #24] 4695 013a 43F01003 orr r3, r3, #16 4696 013e 9361 str r3, [r2, #24] 4697 0140 E3E7 b .L189 4698 .L195: 4699 0142 00BF .align 2 4700 .L194: 4701 0144 00000000 .word UART_DMATxAbortCallback 4702 0148 00000000 .word UART_DMARxAbortCallback 4703 .cfi_endproc 4704 .LFE348: 4706 .section .text.UART_DMARxAbortCallback,"ax",%progbits 4707 .align 1 4708 .syntax unified 4709 .thumb 4710 .thumb_func 4712 UART_DMARxAbortCallback: 4713 .LVL419: 4714 .LFB387: 3870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4715 .loc 1 3870 1 view -0 4716 .cfi_startproc 4717 @ args = 0, pretend = 0, frame = 0 4718 @ frame_needed = 0, uses_anonymous_args = 0 3870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); ARM GAS /tmp/cceWHrnJ.s page 201 4719 .loc 1 3870 1 is_stmt 0 view .LVU1580 4720 0000 08B5 push {r3, lr} 4721 .LCFI18: 4722 .cfi_def_cfa_offset 8 4723 .cfi_offset 3, -8 4724 .cfi_offset 14, -4 3871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4725 .loc 1 3871 3 is_stmt 1 view .LVU1581 3871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4726 .loc 1 3871 23 is_stmt 0 view .LVU1582 4727 0002 806A ldr r0, [r0, #40] 4728 .LVL420: 3873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4729 .loc 1 3873 3 is_stmt 1 view .LVU1583 3873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4730 .loc 1 3873 8 is_stmt 0 view .LVU1584 4731 0004 C36F ldr r3, [r0, #124] 3873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4732 .loc 1 3873 36 view .LVU1585 4733 0006 0022 movs r2, #0 4734 0008 9A63 str r2, [r3, #56] 3876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4735 .loc 1 3876 3 is_stmt 1 view .LVU1586 3876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4736 .loc 1 3876 12 is_stmt 0 view .LVU1587 4737 000a 836F ldr r3, [r0, #120] 3876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4738 .loc 1 3876 6 view .LVU1588 4739 000c 0BB1 cbz r3, .L197 3878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4740 .loc 1 3878 5 is_stmt 1 view .LVU1589 3878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4741 .loc 1 3878 22 is_stmt 0 view .LVU1590 4742 000e 9B6B ldr r3, [r3, #56] 3878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4743 .loc 1 3878 8 view .LVU1591 4744 0010 B3B9 cbnz r3, .L196 4745 .L197: 3885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 4746 .loc 1 3885 3 is_stmt 1 view .LVU1592 3885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 4747 .loc 1 3885 22 is_stmt 0 view .LVU1593 4748 0012 0023 movs r3, #0 4749 0014 A0F85630 strh r3, [r0, #86] @ movhi 3886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4750 .loc 1 3886 3 is_stmt 1 view .LVU1594 3886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4751 .loc 1 3886 22 is_stmt 0 view .LVU1595 4752 0018 A0F85E30 strh r3, [r0, #94] @ movhi 3889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4753 .loc 1 3889 3 is_stmt 1 view .LVU1596 3889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4754 .loc 1 3889 20 is_stmt 0 view .LVU1597 4755 001c C0F88C30 str r3, [r0, #140] 3892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4756 .loc 1 3892 3 is_stmt 1 view .LVU1598 4757 0020 0268 ldr r2, [r0] ARM GAS /tmp/cceWHrnJ.s page 202 4758 0022 0F21 movs r1, #15 4759 0024 1162 str r1, [r2, #32] 3895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4760 .loc 1 3895 3 view .LVU1599 4761 0026 0168 ldr r1, [r0] 4762 0028 8A69 ldr r2, [r1, #24] 4763 002a 42F00802 orr r2, r2, #8 4764 002e 8A61 str r2, [r1, #24] 3898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4765 .loc 1 3898 3 view .LVU1600 3898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4766 .loc 1 3898 18 is_stmt 0 view .LVU1601 4767 0030 2022 movs r2, #32 4768 0032 C0F88420 str r2, [r0, #132] 3899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4769 .loc 1 3899 3 is_stmt 1 view .LVU1602 3899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4770 .loc 1 3899 18 is_stmt 0 view .LVU1603 4771 0036 C0F88820 str r2, [r0, #136] 3900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4772 .loc 1 3900 3 is_stmt 1 view .LVU1604 3900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4773 .loc 1 3900 24 is_stmt 0 view .LVU1605 4774 003a C366 str r3, [r0, #108] 3908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4775 .loc 1 3908 3 is_stmt 1 view .LVU1606 4776 003c FFF7FEFF bl HAL_UART_AbortCpltCallback 4777 .LVL421: 4778 .L196: 3910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4779 .loc 1 3910 1 is_stmt 0 view .LVU1607 4780 0040 08BD pop {r3, pc} 4781 .cfi_endproc 4782 .LFE387: 4784 .section .text.UART_DMATxAbortCallback,"ax",%progbits 4785 .align 1 4786 .syntax unified 4787 .thumb 4788 .thumb_func 4790 UART_DMATxAbortCallback: 4791 .LVL422: 4792 .LFB386: 3815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4793 .loc 1 3815 1 is_stmt 1 view -0 4794 .cfi_startproc 4795 @ args = 0, pretend = 0, frame = 0 4796 @ frame_needed = 0, uses_anonymous_args = 0 3815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4797 .loc 1 3815 1 is_stmt 0 view .LVU1609 4798 0000 08B5 push {r3, lr} 4799 .LCFI19: 4800 .cfi_def_cfa_offset 8 4801 .cfi_offset 3, -8 4802 .cfi_offset 14, -4 3816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4803 .loc 1 3816 3 is_stmt 1 view .LVU1610 3816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 203 4804 .loc 1 3816 23 is_stmt 0 view .LVU1611 4805 0002 806A ldr r0, [r0, #40] 4806 .LVL423: 3818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4807 .loc 1 3818 3 is_stmt 1 view .LVU1612 3818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4808 .loc 1 3818 8 is_stmt 0 view .LVU1613 4809 0004 836F ldr r3, [r0, #120] 3818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4810 .loc 1 3818 36 view .LVU1614 4811 0006 0022 movs r2, #0 4812 0008 9A63 str r2, [r3, #56] 3821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4813 .loc 1 3821 3 is_stmt 1 view .LVU1615 3821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4814 .loc 1 3821 12 is_stmt 0 view .LVU1616 4815 000a C36F ldr r3, [r0, #124] 3821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4816 .loc 1 3821 6 view .LVU1617 4817 000c 0BB1 cbz r3, .L201 3823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4818 .loc 1 3823 5 is_stmt 1 view .LVU1618 3823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4819 .loc 1 3823 22 is_stmt 0 view .LVU1619 4820 000e 9B6B ldr r3, [r3, #56] 3823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4821 .loc 1 3823 8 view .LVU1620 4822 0010 B3B9 cbnz r3, .L200 4823 .L201: 3830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 4824 .loc 1 3830 3 is_stmt 1 view .LVU1621 3830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U; 4825 .loc 1 3830 22 is_stmt 0 view .LVU1622 4826 0012 0023 movs r3, #0 4827 0014 A0F85630 strh r3, [r0, #86] @ movhi 3831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4828 .loc 1 3831 3 is_stmt 1 view .LVU1623 3831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4829 .loc 1 3831 22 is_stmt 0 view .LVU1624 4830 0018 A0F85E30 strh r3, [r0, #94] @ movhi 3834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4831 .loc 1 3834 3 is_stmt 1 view .LVU1625 3834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4832 .loc 1 3834 20 is_stmt 0 view .LVU1626 4833 001c C0F88C30 str r3, [r0, #140] 3837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4834 .loc 1 3837 3 is_stmt 1 view .LVU1627 4835 0020 0368 ldr r3, [r0] 4836 0022 0F22 movs r2, #15 4837 0024 1A62 str r2, [r3, #32] 3840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4838 .loc 1 3840 3 view .LVU1628 3840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4839 .loc 1 3840 12 is_stmt 0 view .LVU1629 4840 0026 436E ldr r3, [r0, #100] 3840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4841 .loc 1 3840 6 view .LVU1630 ARM GAS /tmp/cceWHrnJ.s page 204 4842 0028 B3F1005F cmp r3, #536870912 4843 002c 09D0 beq .L205 4844 .L203: 3846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4845 .loc 1 3846 3 is_stmt 1 view .LVU1631 3846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4846 .loc 1 3846 18 is_stmt 0 view .LVU1632 4847 002e 2023 movs r3, #32 4848 0030 C0F88430 str r3, [r0, #132] 3847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4849 .loc 1 3847 3 is_stmt 1 view .LVU1633 3847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4850 .loc 1 3847 18 is_stmt 0 view .LVU1634 4851 0034 C0F88830 str r3, [r0, #136] 3848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4852 .loc 1 3848 3 is_stmt 1 view .LVU1635 3848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4853 .loc 1 3848 24 is_stmt 0 view .LVU1636 4854 0038 0023 movs r3, #0 4855 003a C366 str r3, [r0, #108] 3856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4856 .loc 1 3856 3 is_stmt 1 view .LVU1637 4857 003c FFF7FEFF bl HAL_UART_AbortCpltCallback 4858 .LVL424: 4859 .L200: 3858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4860 .loc 1 3858 1 is_stmt 0 view .LVU1638 4861 0040 08BD pop {r3, pc} 4862 .LVL425: 4863 .L205: 3842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4864 .loc 1 3842 5 is_stmt 1 view .LVU1639 4865 0042 0268 ldr r2, [r0] 4866 0044 9369 ldr r3, [r2, #24] 4867 0046 43F01003 orr r3, r3, #16 4868 004a 9361 str r3, [r2, #24] 4869 004c EFE7 b .L203 4870 .cfi_endproc 4871 .LFE386: 4873 .section .text.HAL_UART_AbortTransmitCpltCallback,"ax",%progbits 4874 .align 1 4875 .weak HAL_UART_AbortTransmitCpltCallback 4876 .syntax unified 4877 .thumb 4878 .thumb_func 4880 HAL_UART_AbortTransmitCpltCallback: 4881 .LVL426: 4882 .LFB358: 2649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 4883 .loc 1 2649 1 view -0 4884 .cfi_startproc 4885 @ args = 0, pretend = 0, frame = 0 4886 @ frame_needed = 0, uses_anonymous_args = 0 4887 @ link register save eliminated. 2651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4888 .loc 1 2651 3 view .LVU1641 2656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 205 4889 .loc 1 2656 1 is_stmt 0 view .LVU1642 4890 0000 7047 bx lr 4891 .cfi_endproc 4892 .LFE358: 4894 .section .text.HAL_UART_AbortTransmit_IT,"ax",%progbits 4895 .align 1 4896 .global HAL_UART_AbortTransmit_IT 4897 .syntax unified 4898 .thumb 4899 .thumb_func 4901 HAL_UART_AbortTransmit_IT: 4902 .LVL427: 4903 .LFB349: 2055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable interrupts */ 4904 .loc 1 2055 1 is_stmt 1 view -0 4905 .cfi_startproc 4906 @ args = 0, pretend = 0, frame = 0 4907 @ frame_needed = 0, uses_anonymous_args = 0 2055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable interrupts */ 4908 .loc 1 2055 1 is_stmt 0 view .LVU1644 4909 0000 10B5 push {r4, lr} 4910 .LCFI20: 4911 .cfi_def_cfa_offset 8 4912 .cfi_offset 4, -8 4913 .cfi_offset 14, -4 4914 0002 0446 mov r4, r0 4915 .L208: 2057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 4916 .loc 1 2057 3 is_stmt 1 discriminator 1 view .LVU1645 4917 .LBB739: 2057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 4918 .loc 1 2057 3 discriminator 1 view .LVU1646 2057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 4919 .loc 1 2057 3 discriminator 1 view .LVU1647 2057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 4920 .loc 1 2057 3 discriminator 1 view .LVU1648 4921 0004 2268 ldr r2, [r4] 4922 .LVL428: 4923 .LBB740: 4924 .LBI740: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4925 .loc 2 1151 31 discriminator 1 view .LVU1649 4926 .LBB741: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 4927 .loc 2 1153 5 discriminator 1 view .LVU1650 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4928 .loc 2 1155 4 discriminator 1 view .LVU1651 4929 .syntax unified 4930 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4931 0006 52E8003F ldrex r3, [r2] 4932 @ 0 "" 2 4933 .LVL429: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4934 .loc 2 1156 4 discriminator 1 view .LVU1652 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4935 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU1653 4936 .thumb ARM GAS /tmp/cceWHrnJ.s page 206 4937 .syntax unified 4938 .LBE741: 4939 .LBE740: 2057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 4940 .loc 1 2057 3 discriminator 1 view .LVU1654 4941 000a 23F0C003 bic r3, r3, #192 4942 .LVL430: 2057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 4943 .loc 1 2057 3 is_stmt 1 discriminator 1 view .LVU1655 4944 .LBB742: 4945 .LBI742: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4946 .loc 2 1202 31 discriminator 1 view .LVU1656 4947 .LBB743: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 4948 .loc 2 1204 4 discriminator 1 view .LVU1657 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4949 .loc 2 1206 4 discriminator 1 view .LVU1658 4950 .syntax unified 4951 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4952 000e 42E80031 strex r1, r3, [r2] 4953 @ 0 "" 2 4954 .LVL431: 4955 .loc 2 1207 4 discriminator 1 view .LVU1659 4956 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU1660 4957 .thumb 4958 .syntax unified 4959 .LBE743: 4960 .LBE742: 2057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 4961 .loc 1 2057 3 discriminator 1 view .LVU1661 4962 0012 0029 cmp r1, #0 4963 0014 F6D1 bne .L208 4964 .LVL432: 4965 .L209: 2057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 4966 .loc 1 2057 3 discriminator 1 view .LVU1662 4967 .LBE739: 2057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 4968 .loc 1 2057 3 is_stmt 1 discriminator 1 view .LVU1663 2058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4969 .loc 1 2058 3 discriminator 1 view .LVU1664 4970 .LBB744: 2058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4971 .loc 1 2058 3 discriminator 1 view .LVU1665 2058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4972 .loc 1 2058 3 discriminator 1 view .LVU1666 2058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4973 .loc 1 2058 3 discriminator 1 view .LVU1667 4974 0016 2268 ldr r2, [r4] 4975 .LVL433: 4976 .LBB745: 4977 .LBI745: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4978 .loc 2 1151 31 discriminator 1 view .LVU1668 4979 .LBB746: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** ARM GAS /tmp/cceWHrnJ.s page 207 4980 .loc 2 1153 5 discriminator 1 view .LVU1669 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4981 .loc 2 1155 4 discriminator 1 view .LVU1670 4982 0018 02F10803 add r3, r2, #8 4983 .LVL434: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4984 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU1671 4985 .syntax unified 4986 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4987 001c 53E8003F ldrex r3, [r3] 4988 @ 0 "" 2 4989 .LVL435: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4990 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU1672 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4991 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU1673 4992 .thumb 4993 .syntax unified 4994 .LBE746: 4995 .LBE745: 2058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4996 .loc 1 2058 3 discriminator 1 view .LVU1674 4997 0020 23F40003 bic r3, r3, #8388608 4998 .LVL436: 2058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4999 .loc 1 2058 3 is_stmt 1 discriminator 1 view .LVU1675 5000 .LBB747: 5001 .LBI747: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5002 .loc 2 1202 31 discriminator 1 view .LVU1676 5003 .LBB748: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 5004 .loc 2 1204 4 discriminator 1 view .LVU1677 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5005 .loc 2 1206 4 discriminator 1 view .LVU1678 5006 0024 0832 adds r2, r2, #8 5007 .LVL437: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5008 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU1679 5009 .syntax unified 5010 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5011 0026 42E80031 strex r1, r3, [r2] 5012 @ 0 "" 2 5013 .LVL438: 5014 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU1680 5015 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU1681 5016 .thumb 5017 .syntax unified 5018 .LBE748: 5019 .LBE747: 2058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5020 .loc 1 2058 3 discriminator 1 view .LVU1682 5021 002a 0029 cmp r1, #0 5022 002c F3D1 bne .L209 5023 .LBE744: 2058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5024 .loc 1 2058 3 is_stmt 1 discriminator 2 view .LVU1683 ARM GAS /tmp/cceWHrnJ.s page 208 2061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5025 .loc 1 2061 3 discriminator 2 view .LVU1684 2061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5026 .loc 1 2061 7 is_stmt 0 discriminator 2 view .LVU1685 5027 002e 2368 ldr r3, [r4] 5028 .LVL439: 2061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5029 .loc 1 2061 7 discriminator 2 view .LVU1686 5030 0030 9A68 ldr r2, [r3, #8] 2061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5031 .loc 1 2061 6 discriminator 2 view .LVU1687 5032 0032 12F0800F tst r2, #128 5033 0036 22D0 beq .L210 5034 .L211: 2064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5035 .loc 1 2064 5 is_stmt 1 discriminator 1 view .LVU1688 5036 .LBB749: 2064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5037 .loc 1 2064 5 discriminator 1 view .LVU1689 2064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5038 .loc 1 2064 5 discriminator 1 view .LVU1690 2064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5039 .loc 1 2064 5 discriminator 1 view .LVU1691 5040 0038 2268 ldr r2, [r4] 5041 .LVL440: 5042 .LBB750: 5043 .LBI750: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5044 .loc 2 1151 31 discriminator 1 view .LVU1692 5045 .LBB751: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 5046 .loc 2 1153 5 discriminator 1 view .LVU1693 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5047 .loc 2 1155 4 discriminator 1 view .LVU1694 5048 003a 02F10803 add r3, r2, #8 5049 .LVL441: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5050 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU1695 5051 .syntax unified 5052 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5053 003e 53E8003F ldrex r3, [r3] 5054 @ 0 "" 2 5055 .LVL442: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5056 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU1696 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5057 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU1697 5058 .thumb 5059 .syntax unified 5060 .LBE751: 5061 .LBE750: 2064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5062 .loc 1 2064 5 discriminator 1 view .LVU1698 5063 0042 23F08003 bic r3, r3, #128 5064 .LVL443: 2064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5065 .loc 1 2064 5 is_stmt 1 discriminator 1 view .LVU1699 ARM GAS /tmp/cceWHrnJ.s page 209 5066 .LBB752: 5067 .LBI752: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5068 .loc 2 1202 31 discriminator 1 view .LVU1700 5069 .LBB753: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 5070 .loc 2 1204 4 discriminator 1 view .LVU1701 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5071 .loc 2 1206 4 discriminator 1 view .LVU1702 5072 0046 0832 adds r2, r2, #8 5073 .LVL444: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5074 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU1703 5075 .syntax unified 5076 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5077 0048 42E80031 strex r1, r3, [r2] 5078 @ 0 "" 2 5079 .LVL445: 5080 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU1704 5081 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU1705 5082 .thumb 5083 .syntax unified 5084 .LBE753: 5085 .LBE752: 2064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5086 .loc 1 2064 5 discriminator 1 view .LVU1706 5087 004c 0029 cmp r1, #0 5088 004e F3D1 bne .L211 5089 .LBE749: 2064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5090 .loc 1 2064 5 is_stmt 1 discriminator 2 view .LVU1707 2067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5091 .loc 1 2067 5 discriminator 2 view .LVU1708 2067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5092 .loc 1 2067 14 is_stmt 0 discriminator 2 view .LVU1709 5093 0050 A36F ldr r3, [r4, #120] 5094 .LVL446: 2067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5095 .loc 1 2067 8 discriminator 2 view .LVU1710 5096 0052 4BB1 cbz r3, .L212 2071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5097 .loc 1 2071 7 is_stmt 1 view .LVU1711 2071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5098 .loc 1 2071 40 is_stmt 0 view .LVU1712 5099 0054 144A ldr r2, .L217 5100 0056 9A63 str r2, [r3, #56] 2074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5101 .loc 1 2074 7 is_stmt 1 view .LVU1713 2074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5102 .loc 1 2074 11 is_stmt 0 view .LVU1714 5103 0058 A06F ldr r0, [r4, #120] 5104 .LVL447: 2074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5105 .loc 1 2074 11 view .LVU1715 5106 005a FFF7FEFF bl HAL_DMA_Abort_IT 5107 .LVL448: 2074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cceWHrnJ.s page 210 5108 .loc 1 2074 10 view .LVU1716 5109 005e E0B1 cbz r0, .L213 2077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5110 .loc 1 2077 9 is_stmt 1 view .LVU1717 2077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5111 .loc 1 2077 14 is_stmt 0 view .LVU1718 5112 0060 A06F ldr r0, [r4, #120] 2077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5113 .loc 1 2077 22 view .LVU1719 5114 0062 836B ldr r3, [r0, #56] 2077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5115 .loc 1 2077 9 view .LVU1720 5116 0064 9847 blx r3 5117 .LVL449: 5118 0066 18E0 b .L213 5119 .LVL450: 5120 .L212: 2083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5121 .loc 1 2083 7 is_stmt 1 view .LVU1721 2083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5122 .loc 1 2083 26 is_stmt 0 view .LVU1722 5123 0068 0023 movs r3, #0 5124 006a A4F85630 strh r3, [r4, #86] @ movhi 2086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5125 .loc 1 2086 7 is_stmt 1 view .LVU1723 2086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5126 .loc 1 2086 20 is_stmt 0 view .LVU1724 5127 006e 6367 str r3, [r4, #116] 2089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5128 .loc 1 2089 7 is_stmt 1 view .LVU1725 2089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5129 .loc 1 2089 21 is_stmt 0 view .LVU1726 5130 0070 2023 movs r3, #32 5131 0072 C4F88430 str r3, [r4, #132] 2097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5132 .loc 1 2097 7 is_stmt 1 view .LVU1727 5133 0076 2046 mov r0, r4 5134 .LVL451: 2097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5135 .loc 1 2097 7 is_stmt 0 view .LVU1728 5136 0078 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback 5137 .LVL452: 5138 007c 0DE0 b .L213 5139 .LVL453: 5140 .L210: 2104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5141 .loc 1 2104 5 is_stmt 1 view .LVU1729 2104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5142 .loc 1 2104 24 is_stmt 0 view .LVU1730 5143 007e 0022 movs r2, #0 5144 0080 A4F85620 strh r2, [r4, #86] @ movhi 2107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5145 .loc 1 2107 5 is_stmt 1 view .LVU1731 2107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5146 .loc 1 2107 18 is_stmt 0 view .LVU1732 5147 0084 6267 str r2, [r4, #116] 2110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cceWHrnJ.s page 211 5148 .loc 1 2110 5 is_stmt 1 view .LVU1733 2110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5149 .loc 1 2110 14 is_stmt 0 view .LVU1734 5150 0086 626E ldr r2, [r4, #100] 2110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5151 .loc 1 2110 8 view .LVU1735 5152 0088 B2F1005F cmp r2, #536870912 5153 008c 07D0 beq .L216 5154 .L214: 2116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5155 .loc 1 2116 5 is_stmt 1 view .LVU1736 2116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5156 .loc 1 2116 19 is_stmt 0 view .LVU1737 5157 008e 2023 movs r3, #32 5158 0090 C4F88430 str r3, [r4, #132] 2124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5159 .loc 1 2124 5 is_stmt 1 view .LVU1738 5160 0094 2046 mov r0, r4 5161 .LVL454: 2124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5162 .loc 1 2124 5 is_stmt 0 view .LVU1739 5163 0096 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback 5164 .LVL455: 5165 .L213: 2128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5166 .loc 1 2128 3 is_stmt 1 view .LVU1740 2129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5167 .loc 1 2129 1 is_stmt 0 view .LVU1741 5168 009a 0020 movs r0, #0 5169 009c 10BD pop {r4, pc} 5170 .LVL456: 5171 .L216: 2112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5172 .loc 1 2112 7 is_stmt 1 view .LVU1742 5173 009e 9A69 ldr r2, [r3, #24] 5174 00a0 42F01002 orr r2, r2, #16 5175 00a4 9A61 str r2, [r3, #24] 5176 00a6 F2E7 b .L214 5177 .L218: 5178 .align 2 5179 .L217: 5180 00a8 00000000 .word UART_DMATxOnlyAbortCallback 5181 .cfi_endproc 5182 .LFE349: 5184 .section .text.UART_DMATxOnlyAbortCallback,"ax",%progbits 5185 .align 1 5186 .syntax unified 5187 .thumb 5188 .thumb_func 5190 UART_DMATxOnlyAbortCallback: 5191 .LVL457: 5192 .LFB388: 3922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 5193 .loc 1 3922 1 view -0 5194 .cfi_startproc 5195 @ args = 0, pretend = 0, frame = 0 5196 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS /tmp/cceWHrnJ.s page 212 3922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 5197 .loc 1 3922 1 is_stmt 0 view .LVU1744 5198 0000 08B5 push {r3, lr} 5199 .LCFI21: 5200 .cfi_def_cfa_offset 8 5201 .cfi_offset 3, -8 5202 .cfi_offset 14, -4 3923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5203 .loc 1 3923 3 is_stmt 1 view .LVU1745 3923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5204 .loc 1 3923 23 is_stmt 0 view .LVU1746 5205 0002 806A ldr r0, [r0, #40] 5206 .LVL458: 3925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5207 .loc 1 3925 3 is_stmt 1 view .LVU1747 3925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5208 .loc 1 3925 22 is_stmt 0 view .LVU1748 5209 0004 0023 movs r3, #0 5210 0006 A0F85630 strh r3, [r0, #86] @ movhi 3928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5211 .loc 1 3928 3 is_stmt 1 view .LVU1749 3928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5212 .loc 1 3928 12 is_stmt 0 view .LVU1750 5213 000a 436E ldr r3, [r0, #100] 3928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5214 .loc 1 3928 6 view .LVU1751 5215 000c B3F1005F cmp r3, #536870912 5216 0010 05D0 beq .L222 5217 .L220: 3934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5218 .loc 1 3934 3 is_stmt 1 view .LVU1752 3934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5219 .loc 1 3934 17 is_stmt 0 view .LVU1753 5220 0012 2023 movs r3, #32 5221 0014 C0F88430 str r3, [r0, #132] 3942:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5222 .loc 1 3942 3 is_stmt 1 view .LVU1754 5223 0018 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback 5224 .LVL459: 3944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5225 .loc 1 3944 1 is_stmt 0 view .LVU1755 5226 001c 08BD pop {r3, pc} 5227 .LVL460: 5228 .L222: 3930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5229 .loc 1 3930 5 is_stmt 1 view .LVU1756 5230 001e 0268 ldr r2, [r0] 5231 0020 9369 ldr r3, [r2, #24] 5232 0022 43F01003 orr r3, r3, #16 5233 0026 9361 str r3, [r2, #24] 5234 0028 F3E7 b .L220 5235 .cfi_endproc 5236 .LFE388: 5238 .section .text.HAL_UART_AbortReceiveCpltCallback,"ax",%progbits 5239 .align 1 5240 .weak HAL_UART_AbortReceiveCpltCallback 5241 .syntax unified ARM GAS /tmp/cceWHrnJ.s page 213 5242 .thumb 5243 .thumb_func 5245 HAL_UART_AbortReceiveCpltCallback: 5246 .LVL461: 5247 .LFB359: 2664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 5248 .loc 1 2664 1 view -0 5249 .cfi_startproc 5250 @ args = 0, pretend = 0, frame = 0 5251 @ frame_needed = 0, uses_anonymous_args = 0 5252 @ link register save eliminated. 2666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5253 .loc 1 2666 3 view .LVU1758 2671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5254 .loc 1 2671 1 is_stmt 0 view .LVU1759 5255 0000 7047 bx lr 5256 .cfi_endproc 5257 .LFE359: 5259 .section .text.HAL_UART_AbortReceive_IT,"ax",%progbits 5260 .align 1 5261 .global HAL_UART_AbortReceive_IT 5262 .syntax unified 5263 .thumb 5264 .thumb_func 5266 HAL_UART_AbortReceive_IT: 5267 .LVL462: 5268 .LFB350: 2146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 5269 .loc 1 2146 1 is_stmt 1 view -0 5270 .cfi_startproc 5271 @ args = 0, pretend = 0, frame = 0 5272 @ frame_needed = 0, uses_anonymous_args = 0 2146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 5273 .loc 1 2146 1 is_stmt 0 view .LVU1761 5274 0000 10B5 push {r4, lr} 5275 .LCFI22: 5276 .cfi_def_cfa_offset 8 5277 .cfi_offset 4, -8 5278 .cfi_offset 14, -4 5279 0002 0446 mov r4, r0 5280 .L225: 2148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 5281 .loc 1 2148 3 is_stmt 1 discriminator 1 view .LVU1762 5282 .LBB754: 2148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 5283 .loc 1 2148 3 discriminator 1 view .LVU1763 2148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 5284 .loc 1 2148 3 discriminator 1 view .LVU1764 2148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 5285 .loc 1 2148 3 discriminator 1 view .LVU1765 5286 0004 2268 ldr r2, [r4] 5287 .LVL463: 5288 .LBB755: 5289 .LBI755: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5290 .loc 2 1151 31 discriminator 1 view .LVU1766 5291 .LBB756: ARM GAS /tmp/cceWHrnJ.s page 214 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 5292 .loc 2 1153 5 discriminator 1 view .LVU1767 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5293 .loc 2 1155 4 discriminator 1 view .LVU1768 5294 .syntax unified 5295 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5296 0006 52E8003F ldrex r3, [r2] 5297 @ 0 "" 2 5298 .LVL464: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5299 .loc 2 1156 4 discriminator 1 view .LVU1769 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5300 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU1770 5301 .thumb 5302 .syntax unified 5303 .LBE756: 5304 .LBE755: 2148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 5305 .loc 1 2148 3 discriminator 1 view .LVU1771 5306 000a 23F49073 bic r3, r3, #288 5307 .LVL465: 2148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 5308 .loc 1 2148 3 is_stmt 1 discriminator 1 view .LVU1772 5309 .LBB757: 5310 .LBI757: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5311 .loc 2 1202 31 discriminator 1 view .LVU1773 5312 .LBB758: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 5313 .loc 2 1204 4 discriminator 1 view .LVU1774 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5314 .loc 2 1206 4 discriminator 1 view .LVU1775 5315 .syntax unified 5316 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5317 000e 42E80031 strex r1, r3, [r2] 5318 @ 0 "" 2 5319 .LVL466: 5320 .loc 2 1207 4 discriminator 1 view .LVU1776 5321 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU1777 5322 .thumb 5323 .syntax unified 5324 .LBE758: 5325 .LBE757: 2148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 5326 .loc 1 2148 3 discriminator 1 view .LVU1778 5327 0012 0029 cmp r1, #0 5328 0014 F6D1 bne .L225 5329 .LVL467: 5330 .L226: 2148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 5331 .loc 1 2148 3 discriminator 1 view .LVU1779 5332 .LBE754: 2148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 5333 .loc 1 2148 3 is_stmt 1 discriminator 1 view .LVU1780 2149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5334 .loc 1 2149 3 discriminator 1 view .LVU1781 5335 .LBB759: ARM GAS /tmp/cceWHrnJ.s page 215 2149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5336 .loc 1 2149 3 discriminator 1 view .LVU1782 2149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5337 .loc 1 2149 3 discriminator 1 view .LVU1783 2149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5338 .loc 1 2149 3 discriminator 1 view .LVU1784 5339 0016 2268 ldr r2, [r4] 5340 .LVL468: 5341 .LBB760: 5342 .LBI760: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5343 .loc 2 1151 31 discriminator 1 view .LVU1785 5344 .LBB761: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 5345 .loc 2 1153 5 discriminator 1 view .LVU1786 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5346 .loc 2 1155 4 discriminator 1 view .LVU1787 5347 0018 02F10803 add r3, r2, #8 5348 .LVL469: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5349 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU1788 5350 .syntax unified 5351 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5352 001c 53E8003F ldrex r3, [r3] 5353 @ 0 "" 2 5354 .LVL470: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5355 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU1789 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5356 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU1790 5357 .thumb 5358 .syntax unified 5359 .LBE761: 5360 .LBE760: 2149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5361 .loc 1 2149 3 discriminator 1 view .LVU1791 5362 0020 23F08053 bic r3, r3, #268435456 5363 0024 23F00103 bic r3, r3, #1 5364 .LVL471: 2149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5365 .loc 1 2149 3 is_stmt 1 discriminator 1 view .LVU1792 5366 .LBB762: 5367 .LBI762: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5368 .loc 2 1202 31 discriminator 1 view .LVU1793 5369 .LBB763: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 5370 .loc 2 1204 4 discriminator 1 view .LVU1794 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5371 .loc 2 1206 4 discriminator 1 view .LVU1795 5372 0028 0832 adds r2, r2, #8 5373 .LVL472: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5374 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU1796 5375 .syntax unified 5376 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5377 002a 42E80031 strex r1, r3, [r2] ARM GAS /tmp/cceWHrnJ.s page 216 5378 @ 0 "" 2 5379 .LVL473: 5380 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU1797 5381 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU1798 5382 .thumb 5383 .syntax unified 5384 .LBE763: 5385 .LBE762: 2149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5386 .loc 1 2149 3 discriminator 1 view .LVU1799 5387 002e 0029 cmp r1, #0 5388 0030 F1D1 bne .L226 5389 .LBE759: 2149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5390 .loc 1 2149 3 is_stmt 1 discriminator 2 view .LVU1800 2152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5391 .loc 1 2152 3 discriminator 2 view .LVU1801 2152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5392 .loc 1 2152 12 is_stmt 0 discriminator 2 view .LVU1802 5393 0032 E36E ldr r3, [r4, #108] 5394 .LVL474: 2152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5395 .loc 1 2152 6 discriminator 2 view .LVU1803 5396 0034 012B cmp r3, #1 5397 0036 1CD0 beq .L228 5398 .L227: 2154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5399 .loc 1 2154 5 is_stmt 1 discriminator 2 view .LVU1804 2158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5400 .loc 1 2158 3 discriminator 2 view .LVU1805 2158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5401 .loc 1 2158 7 is_stmt 0 discriminator 2 view .LVU1806 5402 0038 2368 ldr r3, [r4] 5403 003a 9A68 ldr r2, [r3, #8] 2158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5404 .loc 1 2158 6 discriminator 2 view .LVU1807 5405 003c 12F0400F tst r2, #64 5406 0040 35D0 beq .L229 5407 .L230: 2161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5408 .loc 1 2161 5 is_stmt 1 discriminator 1 view .LVU1808 5409 .LBB764: 2161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5410 .loc 1 2161 5 discriminator 1 view .LVU1809 2161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5411 .loc 1 2161 5 discriminator 1 view .LVU1810 2161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5412 .loc 1 2161 5 discriminator 1 view .LVU1811 5413 0042 2268 ldr r2, [r4] 5414 .LVL475: 5415 .LBB765: 5416 .LBI765: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5417 .loc 2 1151 31 discriminator 1 view .LVU1812 5418 .LBB766: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 5419 .loc 2 1153 5 discriminator 1 view .LVU1813 ARM GAS /tmp/cceWHrnJ.s page 217 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5420 .loc 2 1155 4 discriminator 1 view .LVU1814 5421 0044 02F10803 add r3, r2, #8 5422 .LVL476: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5423 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU1815 5424 .syntax unified 5425 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5426 0048 53E8003F ldrex r3, [r3] 5427 @ 0 "" 2 5428 .LVL477: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5429 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU1816 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5430 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU1817 5431 .thumb 5432 .syntax unified 5433 .LBE766: 5434 .LBE765: 2161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5435 .loc 1 2161 5 discriminator 1 view .LVU1818 5436 004c 23F04003 bic r3, r3, #64 5437 .LVL478: 2161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5438 .loc 1 2161 5 is_stmt 1 discriminator 1 view .LVU1819 5439 .LBB767: 5440 .LBI767: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5441 .loc 2 1202 31 discriminator 1 view .LVU1820 5442 .LBB768: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 5443 .loc 2 1204 4 discriminator 1 view .LVU1821 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5444 .loc 2 1206 4 discriminator 1 view .LVU1822 5445 0050 0832 adds r2, r2, #8 5446 .LVL479: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5447 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU1823 5448 .syntax unified 5449 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5450 0052 42E80031 strex r1, r3, [r2] 5451 @ 0 "" 2 5452 .LVL480: 5453 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU1824 5454 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU1825 5455 .thumb 5456 .syntax unified 5457 .LBE768: 5458 .LBE767: 2161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5459 .loc 1 2161 5 discriminator 1 view .LVU1826 5460 0056 0029 cmp r1, #0 5461 0058 F3D1 bne .L230 5462 .LBE764: 2161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5463 .loc 1 2161 5 is_stmt 1 discriminator 2 view .LVU1827 2164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cceWHrnJ.s page 218 5464 .loc 1 2164 5 discriminator 2 view .LVU1828 2164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5465 .loc 1 2164 14 is_stmt 0 discriminator 2 view .LVU1829 5466 005a E36F ldr r3, [r4, #124] 5467 .LVL481: 2164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5468 .loc 1 2164 8 discriminator 2 view .LVU1830 5469 005c 9BB1 cbz r3, .L231 2168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5470 .loc 1 2168 7 is_stmt 1 view .LVU1831 2168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5471 .loc 1 2168 40 is_stmt 0 view .LVU1832 5472 005e 1B4A ldr r2, .L234 5473 0060 9A63 str r2, [r3, #56] 2171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5474 .loc 1 2171 7 is_stmt 1 view .LVU1833 2171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5475 .loc 1 2171 11 is_stmt 0 view .LVU1834 5476 0062 E06F ldr r0, [r4, #124] 5477 .LVL482: 2171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5478 .loc 1 2171 11 view .LVU1835 5479 0064 FFF7FEFF bl HAL_DMA_Abort_IT 5480 .LVL483: 2171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5481 .loc 1 2171 10 view .LVU1836 5482 0068 70B3 cbz r0, .L232 2174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5483 .loc 1 2174 9 is_stmt 1 view .LVU1837 2174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5484 .loc 1 2174 14 is_stmt 0 view .LVU1838 5485 006a E06F ldr r0, [r4, #124] 2174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5486 .loc 1 2174 22 view .LVU1839 5487 006c 836B ldr r3, [r0, #56] 2174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5488 .loc 1 2174 9 view .LVU1840 5489 006e 9847 blx r3 5490 .LVL484: 5491 0070 2AE0 b .L232 5492 .LVL485: 5493 .L228: 2154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5494 .loc 1 2154 5 is_stmt 1 discriminator 1 view .LVU1841 5495 .LBB769: 2154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5496 .loc 1 2154 5 discriminator 1 view .LVU1842 2154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5497 .loc 1 2154 5 discriminator 1 view .LVU1843 2154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5498 .loc 1 2154 5 discriminator 1 view .LVU1844 5499 0072 2268 ldr r2, [r4] 5500 .LVL486: 5501 .LBB770: 5502 .LBI770: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5503 .loc 2 1151 31 discriminator 1 view .LVU1845 ARM GAS /tmp/cceWHrnJ.s page 219 5504 .LBB771: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 5505 .loc 2 1153 5 discriminator 1 view .LVU1846 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5506 .loc 2 1155 4 discriminator 1 view .LVU1847 5507 .syntax unified 5508 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5509 0074 52E8003F ldrex r3, [r2] 5510 @ 0 "" 2 5511 .LVL487: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5512 .loc 2 1156 4 discriminator 1 view .LVU1848 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5513 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU1849 5514 .thumb 5515 .syntax unified 5516 .LBE771: 5517 .LBE770: 2154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5518 .loc 1 2154 5 discriminator 1 view .LVU1850 5519 0078 23F01003 bic r3, r3, #16 5520 .LVL488: 2154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5521 .loc 1 2154 5 is_stmt 1 discriminator 1 view .LVU1851 5522 .LBB772: 5523 .LBI772: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5524 .loc 2 1202 31 discriminator 1 view .LVU1852 5525 .LBB773: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 5526 .loc 2 1204 4 discriminator 1 view .LVU1853 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5527 .loc 2 1206 4 discriminator 1 view .LVU1854 5528 .syntax unified 5529 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5530 007c 42E80031 strex r1, r3, [r2] 5531 @ 0 "" 2 5532 .LVL489: 5533 .loc 2 1207 4 discriminator 1 view .LVU1855 5534 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU1856 5535 .thumb 5536 .syntax unified 5537 .LBE773: 5538 .LBE772: 2154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5539 .loc 1 2154 5 discriminator 1 view .LVU1857 5540 0080 0029 cmp r1, #0 5541 0082 F6D1 bne .L228 5542 0084 D8E7 b .L227 5543 .LVL490: 5544 .L231: 2154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5545 .loc 1 2154 5 discriminator 1 view .LVU1858 5546 .LBE769: 2180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5547 .loc 1 2180 7 is_stmt 1 view .LVU1859 2180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 220 5548 .loc 1 2180 26 is_stmt 0 view .LVU1860 5549 0086 0023 movs r3, #0 5550 0088 A4F85E30 strh r3, [r4, #94] @ movhi 2183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5551 .loc 1 2183 7 is_stmt 1 view .LVU1861 2183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5552 .loc 1 2183 25 is_stmt 0 view .LVU1862 5553 008c A365 str r3, [r4, #88] 2186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5554 .loc 1 2186 7 is_stmt 1 view .LVU1863 5555 008e 2268 ldr r2, [r4] 5556 0090 0F21 movs r1, #15 5557 0092 1162 str r1, [r2, #32] 2189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5558 .loc 1 2189 7 view .LVU1864 5559 0094 2168 ldr r1, [r4] 5560 0096 8A69 ldr r2, [r1, #24] 5561 0098 42F00802 orr r2, r2, #8 5562 009c 8A61 str r2, [r1, #24] 2192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5563 .loc 1 2192 7 view .LVU1865 2192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5564 .loc 1 2192 22 is_stmt 0 view .LVU1866 5565 009e 2022 movs r2, #32 5566 00a0 C4F88820 str r2, [r4, #136] 2193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5567 .loc 1 2193 7 is_stmt 1 view .LVU1867 2193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5568 .loc 1 2193 28 is_stmt 0 view .LVU1868 5569 00a4 E366 str r3, [r4, #108] 2201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5570 .loc 1 2201 7 is_stmt 1 view .LVU1869 5571 00a6 2046 mov r0, r4 5572 .LVL491: 2201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5573 .loc 1 2201 7 is_stmt 0 view .LVU1870 5574 00a8 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback 5575 .LVL492: 5576 00ac 0CE0 b .L232 5577 .LVL493: 5578 .L229: 2208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5579 .loc 1 2208 5 is_stmt 1 view .LVU1871 2208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5580 .loc 1 2208 24 is_stmt 0 view .LVU1872 5581 00ae 0022 movs r2, #0 5582 00b0 A4F85E20 strh r2, [r4, #94] @ movhi 2211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5583 .loc 1 2211 5 is_stmt 1 view .LVU1873 2211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5584 .loc 1 2211 23 is_stmt 0 view .LVU1874 5585 00b4 A265 str r2, [r4, #88] 2214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5586 .loc 1 2214 5 is_stmt 1 view .LVU1875 5587 00b6 0F21 movs r1, #15 5588 00b8 1962 str r1, [r3, #32] 2217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; ARM GAS /tmp/cceWHrnJ.s page 221 5589 .loc 1 2217 5 view .LVU1876 2217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5590 .loc 1 2217 20 is_stmt 0 view .LVU1877 5591 00ba 2023 movs r3, #32 5592 00bc C4F88830 str r3, [r4, #136] 2218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5593 .loc 1 2218 5 is_stmt 1 view .LVU1878 2218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5594 .loc 1 2218 26 is_stmt 0 view .LVU1879 5595 00c0 E266 str r2, [r4, #108] 2226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5596 .loc 1 2226 5 is_stmt 1 view .LVU1880 5597 00c2 2046 mov r0, r4 5598 .LVL494: 2226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5599 .loc 1 2226 5 is_stmt 0 view .LVU1881 5600 00c4 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback 5601 .LVL495: 5602 .L232: 2230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5603 .loc 1 2230 3 is_stmt 1 view .LVU1882 2231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5604 .loc 1 2231 1 is_stmt 0 view .LVU1883 5605 00c8 0020 movs r0, #0 5606 00ca 10BD pop {r4, pc} 5607 .LVL496: 5608 .L235: 2231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5609 .loc 1 2231 1 view .LVU1884 5610 .align 2 5611 .L234: 5612 00cc 00000000 .word UART_DMARxOnlyAbortCallback 5613 .cfi_endproc 5614 .LFE350: 5616 .section .text.UART_DMARxOnlyAbortCallback,"ax",%progbits 5617 .align 1 5618 .syntax unified 5619 .thumb 5620 .thumb_func 5622 UART_DMARxOnlyAbortCallback: 5623 .LVL497: 5624 .LFB389: 3955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 5625 .loc 1 3955 1 is_stmt 1 view -0 5626 .cfi_startproc 5627 @ args = 0, pretend = 0, frame = 0 5628 @ frame_needed = 0, uses_anonymous_args = 0 3955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 5629 .loc 1 3955 1 is_stmt 0 view .LVU1886 5630 0000 08B5 push {r3, lr} 5631 .LCFI23: 5632 .cfi_def_cfa_offset 8 5633 .cfi_offset 3, -8 5634 .cfi_offset 14, -4 3956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5635 .loc 1 3956 3 is_stmt 1 view .LVU1887 3956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 222 5636 .loc 1 3956 23 is_stmt 0 view .LVU1888 5637 0002 806A ldr r0, [r0, #40] 5638 .LVL498: 3958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5639 .loc 1 3958 3 is_stmt 1 view .LVU1889 3958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5640 .loc 1 3958 22 is_stmt 0 view .LVU1890 5641 0004 0022 movs r2, #0 5642 0006 A0F85E20 strh r2, [r0, #94] @ movhi 3961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5643 .loc 1 3961 3 is_stmt 1 view .LVU1891 5644 000a 0368 ldr r3, [r0] 5645 000c 0F21 movs r1, #15 5646 000e 1962 str r1, [r3, #32] 3964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5647 .loc 1 3964 3 view .LVU1892 5648 0010 0168 ldr r1, [r0] 5649 0012 8B69 ldr r3, [r1, #24] 5650 0014 43F00803 orr r3, r3, #8 5651 0018 8B61 str r3, [r1, #24] 3967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5652 .loc 1 3967 3 view .LVU1893 3967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5653 .loc 1 3967 18 is_stmt 0 view .LVU1894 5654 001a 2023 movs r3, #32 5655 001c C0F88830 str r3, [r0, #136] 3968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5656 .loc 1 3968 3 is_stmt 1 view .LVU1895 3968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5657 .loc 1 3968 24 is_stmt 0 view .LVU1896 5658 0020 C266 str r2, [r0, #108] 3976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5659 .loc 1 3976 3 is_stmt 1 view .LVU1897 5660 0022 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback 5661 .LVL499: 3978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5662 .loc 1 3978 1 is_stmt 0 view .LVU1898 5663 0026 08BD pop {r3, pc} 5664 .cfi_endproc 5665 .LFE389: 5667 .section .text.HAL_UARTEx_RxEventCallback,"ax",%progbits 5668 .align 1 5669 .weak HAL_UARTEx_RxEventCallback 5670 .syntax unified 5671 .thumb 5672 .thumb_func 5674 HAL_UARTEx_RxEventCallback: 5675 .LVL500: 5676 .LFB360: 2681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 5677 .loc 1 2681 1 is_stmt 1 view -0 5678 .cfi_startproc 5679 @ args = 0, pretend = 0, frame = 0 5680 @ frame_needed = 0, uses_anonymous_args = 0 5681 @ link register save eliminated. 2683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(Size); 5682 .loc 1 2683 3 view .LVU1900 ARM GAS /tmp/cceWHrnJ.s page 223 2684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5683 .loc 1 2684 3 view .LVU1901 2689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5684 .loc 1 2689 1 is_stmt 0 view .LVU1902 5685 0000 7047 bx lr 5686 .cfi_endproc 5687 .LFE360: 5689 .section .text.HAL_UART_IRQHandler,"ax",%progbits 5690 .align 1 5691 .global HAL_UART_IRQHandler 5692 .syntax unified 5693 .thumb 5694 .thumb_func 5696 HAL_UART_IRQHandler: 5697 .LVL501: 5698 .LFB351: 2239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR); 5699 .loc 1 2239 1 is_stmt 1 view -0 5700 .cfi_startproc 5701 @ args = 0, pretend = 0, frame = 0 5702 @ frame_needed = 0, uses_anonymous_args = 0 2239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR); 5703 .loc 1 2239 1 is_stmt 0 view .LVU1904 5704 0000 70B5 push {r4, r5, r6, lr} 5705 .LCFI24: 5706 .cfi_def_cfa_offset 16 5707 .cfi_offset 4, -16 5708 .cfi_offset 5, -12 5709 .cfi_offset 6, -8 5710 .cfi_offset 14, -4 5711 0002 0446 mov r4, r0 2240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 5712 .loc 1 2240 3 is_stmt 1 view .LVU1905 2240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 5713 .loc 1 2240 25 is_stmt 0 view .LVU1906 5714 0004 0268 ldr r2, [r0] 2240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 5715 .loc 1 2240 12 view .LVU1907 5716 0006 D369 ldr r3, [r2, #28] 5717 .LVL502: 2241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3); 5718 .loc 1 2241 3 is_stmt 1 view .LVU1908 2241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3); 5719 .loc 1 2241 12 is_stmt 0 view .LVU1909 5720 0008 1068 ldr r0, [r2] 5721 .LVL503: 2242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5722 .loc 1 2242 3 is_stmt 1 view .LVU1910 2242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5723 .loc 1 2242 12 is_stmt 0 view .LVU1911 5724 000a 9168 ldr r1, [r2, #8] 5725 .LVL504: 2244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t errorcode; 5726 .loc 1 2244 3 is_stmt 1 view .LVU1912 2245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5727 .loc 1 2245 3 view .LVU1913 2248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (errorflags == 0U) ARM GAS /tmp/cceWHrnJ.s page 224 5728 .loc 1 2248 3 view .LVU1914 2249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5729 .loc 1 2249 3 view .LVU1915 2249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5730 .loc 1 2249 6 is_stmt 0 view .LVU1916 5731 000c 40F60F0C movw ip, #2063 5732 0010 13EA0C0F tst r3, ip 5733 0014 0DD1 bne .L240 2252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U) 5734 .loc 1 2252 5 is_stmt 1 view .LVU1917 2252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U) 5735 .loc 1 2252 8 is_stmt 0 view .LVU1918 5736 0016 13F0200F tst r3, #32 5737 001a 10D0 beq .L241 2253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** || ((cr3its & USART_CR3_RXFTIE) != 0U))) 5738 .loc 1 2253 9 view .LVU1919 5739 001c 10F0200F tst r0, #32 5740 0020 02D1 bne .L242 2254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5741 .loc 1 2254 13 view .LVU1920 5742 0022 11F0805F tst r1, #268435456 5743 0026 0AD0 beq .L241 5744 .L242: 2256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5745 .loc 1 2256 7 is_stmt 1 view .LVU1921 2256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5746 .loc 1 2256 16 is_stmt 0 view .LVU1922 5747 0028 236F ldr r3, [r4, #112] 5748 .LVL505: 2256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5749 .loc 1 2256 10 view .LVU1923 5750 002a 93B3 cbz r3, .L239 2258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5751 .loc 1 2258 9 is_stmt 1 view .LVU1924 5752 002c 2046 mov r0, r4 5753 .LVL506: 2258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5754 .loc 1 2258 9 is_stmt 0 view .LVU1925 5755 002e 9847 blx r3 5756 .LVL507: 2260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5757 .loc 1 2260 7 is_stmt 1 view .LVU1926 5758 0030 2FE0 b .L239 5759 .LVL508: 5760 .L240: 2266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U)))) 5761 .loc 1 2266 21 is_stmt 0 view .LVU1927 5762 0032 B04D ldr r5, .L284 2266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U)))) 5763 .loc 1 2266 7 view .LVU1928 5764 0034 0D40 ands r5, r1, r5 5765 0036 2DD1 bne .L245 2267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5766 .loc 1 2267 12 view .LVU1929 5767 0038 AF4E ldr r6, .L284+4 5768 003a 3042 tst r0, r6 5769 003c 2AD1 bne .L245 ARM GAS /tmp/cceWHrnJ.s page 225 5770 .L241: 2404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U) 5771 .loc 1 2404 3 is_stmt 1 view .LVU1930 2404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U) 5772 .loc 1 2404 13 is_stmt 0 view .LVU1931 5773 003e E56E ldr r5, [r4, #108] 2404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U) 5774 .loc 1 2404 6 view .LVU1932 5775 0040 012D cmp r5, #1 5776 0042 00F0BD80 beq .L279 5777 .L260: 2490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5778 .loc 1 2490 3 is_stmt 1 view .LVU1933 2490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5779 .loc 1 2490 6 is_stmt 0 view .LVU1934 5780 0046 13F4801F tst r3, #1048576 5781 004a 03D0 beq .L272 2490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5782 .loc 1 2490 42 discriminator 1 view .LVU1935 5783 004c 11F4800F tst r1, #4194304 5784 0050 40F05681 bne .L280 5785 .L272: 2508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (((cr1its & USART_CR1_TXEIE_TXFNFIE) != 0U) 5786 .loc 1 2508 3 is_stmt 1 view .LVU1936 2508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (((cr1its & USART_CR1_TXEIE_TXFNFIE) != 0U) 5787 .loc 1 2508 6 is_stmt 0 view .LVU1937 5788 0054 13F0800F tst r3, #128 5789 0058 07D0 beq .L273 2509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** || ((cr3its & USART_CR3_TXFTIE) != 0U))) 5790 .loc 1 2509 7 view .LVU1938 5791 005a 10F0800F tst r0, #128 5792 005e 40F05681 bne .L274 2510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5793 .loc 1 2510 11 view .LVU1939 5794 0062 11F4000F tst r1, #8388608 5795 0066 40F05281 bne .L274 5796 .L273: 2520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5797 .loc 1 2520 3 is_stmt 1 view .LVU1940 2520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5798 .loc 1 2520 6 is_stmt 0 view .LVU1941 5799 006a 13F0400F tst r3, #64 5800 006e 03D0 beq .L276 2520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5801 .loc 1 2520 41 discriminator 1 view .LVU1942 5802 0070 10F0400F tst r0, #64 5803 0074 40F05281 bne .L281 5804 .L276: 2527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5805 .loc 1 2527 3 is_stmt 1 view .LVU1943 2527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5806 .loc 1 2527 6 is_stmt 0 view .LVU1944 5807 0078 13F4000F tst r3, #8388608 5808 007c 03D0 beq .L277 2527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5809 .loc 1 2527 43 discriminator 1 view .LVU1945 5810 007e 10F0804F tst r0, #1073741824 ARM GAS /tmp/cceWHrnJ.s page 226 5811 0082 40F04F81 bne .L282 5812 .L277: 2540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5813 .loc 1 2540 3 is_stmt 1 view .LVU1946 2540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5814 .loc 1 2540 6 is_stmt 0 view .LVU1947 5815 0086 13F0807F tst r3, #16777216 5816 008a 02D0 beq .L239 2540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5817 .loc 1 2540 43 discriminator 1 view .LVU1948 5818 008c 0028 cmp r0, #0 5819 008e C0F24D81 blt .L283 5820 .LVL509: 5821 .L239: 2551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5822 .loc 1 2551 1 view .LVU1949 5823 0092 70BD pop {r4, r5, r6, pc} 5824 .LVL510: 5825 .L245: 2270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5826 .loc 1 2270 5 is_stmt 1 view .LVU1950 2270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5827 .loc 1 2270 8 is_stmt 0 view .LVU1951 5828 0094 13F0010F tst r3, #1 5829 0098 09D0 beq .L246 2270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5830 .loc 1 2270 43 discriminator 1 view .LVU1952 5831 009a 10F4807F tst r0, #256 5832 009e 06D0 beq .L246 2272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5833 .loc 1 2272 7 is_stmt 1 view .LVU1953 5834 00a0 0126 movs r6, #1 5835 00a2 1662 str r6, [r2, #32] 2274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5836 .loc 1 2274 7 view .LVU1954 2274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5837 .loc 1 2274 12 is_stmt 0 view .LVU1955 5838 00a4 D4F88C20 ldr r2, [r4, #140] 2274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5839 .loc 1 2274 24 view .LVU1956 5840 00a8 3243 orrs r2, r2, r6 5841 00aa C4F88C20 str r2, [r4, #140] 5842 .L246: 2278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5843 .loc 1 2278 5 is_stmt 1 view .LVU1957 2278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5844 .loc 1 2278 8 is_stmt 0 view .LVU1958 5845 00ae 13F0020F tst r3, #2 5846 00b2 0BD0 beq .L247 2278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5847 .loc 1 2278 43 discriminator 1 view .LVU1959 5848 00b4 11F0010F tst r1, #1 5849 00b8 08D0 beq .L247 2280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5850 .loc 1 2280 7 is_stmt 1 view .LVU1960 5851 00ba 2268 ldr r2, [r4] 5852 00bc 0226 movs r6, #2 ARM GAS /tmp/cceWHrnJ.s page 227 5853 00be 1662 str r6, [r2, #32] 2282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5854 .loc 1 2282 7 view .LVU1961 2282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5855 .loc 1 2282 12 is_stmt 0 view .LVU1962 5856 00c0 D4F88C20 ldr r2, [r4, #140] 2282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5857 .loc 1 2282 24 view .LVU1963 5858 00c4 42F00402 orr r2, r2, #4 5859 00c8 C4F88C20 str r2, [r4, #140] 5860 .L247: 2286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5861 .loc 1 2286 5 is_stmt 1 view .LVU1964 2286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5862 .loc 1 2286 8 is_stmt 0 view .LVU1965 5863 00cc 13F0040F tst r3, #4 5864 00d0 0BD0 beq .L248 2286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5865 .loc 1 2286 43 discriminator 1 view .LVU1966 5866 00d2 11F0010F tst r1, #1 5867 00d6 08D0 beq .L248 2288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5868 .loc 1 2288 7 is_stmt 1 view .LVU1967 5869 00d8 2268 ldr r2, [r4] 5870 00da 0426 movs r6, #4 5871 00dc 1662 str r6, [r2, #32] 2290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5872 .loc 1 2290 7 view .LVU1968 2290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5873 .loc 1 2290 12 is_stmt 0 view .LVU1969 5874 00de D4F88C20 ldr r2, [r4, #140] 2290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5875 .loc 1 2290 24 view .LVU1970 5876 00e2 42F00202 orr r2, r2, #2 5877 00e6 C4F88C20 str r2, [r4, #140] 5878 .L248: 2294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U) || 5879 .loc 1 2294 5 is_stmt 1 view .LVU1971 2294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U) || 5880 .loc 1 2294 8 is_stmt 0 view .LVU1972 5881 00ea 13F0080F tst r3, #8 5882 00ee 0BD0 beq .L249 2295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ((cr3its & (USART_CR3_RXFTIE | USART_CR3_EIE)) != 0U))) 5883 .loc 1 2295 9 view .LVU1973 5884 00f0 10F0200F tst r0, #32 5885 00f4 00D1 bne .L250 2295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ((cr3its & (USART_CR3_RXFTIE | USART_CR3_EIE)) != 0U))) 5886 .loc 1 2295 57 discriminator 1 view .LVU1974 5887 00f6 3DB1 cbz r5, .L249 5888 .L250: 2298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5889 .loc 1 2298 7 is_stmt 1 view .LVU1975 5890 00f8 2268 ldr r2, [r4] 5891 00fa 0825 movs r5, #8 5892 00fc 1562 str r5, [r2, #32] 2300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5893 .loc 1 2300 7 view .LVU1976 ARM GAS /tmp/cceWHrnJ.s page 228 2300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5894 .loc 1 2300 12 is_stmt 0 view .LVU1977 5895 00fe D4F88C20 ldr r2, [r4, #140] 2300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5896 .loc 1 2300 24 view .LVU1978 5897 0102 2A43 orrs r2, r2, r5 5898 0104 C4F88C20 str r2, [r4, #140] 5899 .L249: 2304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5900 .loc 1 2304 5 is_stmt 1 view .LVU1979 2304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5901 .loc 1 2304 8 is_stmt 0 view .LVU1980 5902 0108 13F4006F tst r3, #2048 5903 010c 0CD0 beq .L251 2304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5904 .loc 1 2304 45 discriminator 1 view .LVU1981 5905 010e 10F0806F tst r0, #67108864 5906 0112 09D0 beq .L251 2306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5907 .loc 1 2306 7 is_stmt 1 view .LVU1982 5908 0114 2268 ldr r2, [r4] 5909 0116 4FF40065 mov r5, #2048 5910 011a 1562 str r5, [r2, #32] 2308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5911 .loc 1 2308 7 view .LVU1983 2308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5912 .loc 1 2308 12 is_stmt 0 view .LVU1984 5913 011c D4F88C20 ldr r2, [r4, #140] 2308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5914 .loc 1 2308 24 view .LVU1985 5915 0120 42F02002 orr r2, r2, #32 5916 0124 C4F88C20 str r2, [r4, #140] 5917 .L251: 2312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5918 .loc 1 2312 5 is_stmt 1 view .LVU1986 2312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5919 .loc 1 2312 14 is_stmt 0 view .LVU1987 5920 0128 D4F88C20 ldr r2, [r4, #140] 2312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5921 .loc 1 2312 8 view .LVU1988 5922 012c 002A cmp r2, #0 5923 012e B0D0 beq .L239 2315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U) 5924 .loc 1 2315 7 is_stmt 1 view .LVU1989 2315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U) 5925 .loc 1 2315 10 is_stmt 0 view .LVU1990 5926 0130 13F0200F tst r3, #32 5927 0134 09D0 beq .L253 2316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** || ((cr3its & USART_CR3_RXFTIE) != 0U))) 5928 .loc 1 2316 11 view .LVU1991 5929 0136 10F0200F tst r0, #32 5930 013a 02D1 bne .L254 2317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5931 .loc 1 2317 15 view .LVU1992 5932 013c 11F0805F tst r1, #268435456 5933 0140 03D0 beq .L253 5934 .L254: ARM GAS /tmp/cceWHrnJ.s page 229 2319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5935 .loc 1 2319 9 is_stmt 1 view .LVU1993 2319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5936 .loc 1 2319 18 is_stmt 0 view .LVU1994 5937 0142 236F ldr r3, [r4, #112] 5938 .LVL511: 2319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5939 .loc 1 2319 12 view .LVU1995 5940 0144 0BB1 cbz r3, .L253 2321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5941 .loc 1 2321 11 is_stmt 1 view .LVU1996 5942 0146 2046 mov r0, r4 5943 .LVL512: 2321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 5944 .loc 1 2321 11 is_stmt 0 view .LVU1997 5945 0148 9847 blx r3 5946 .LVL513: 5947 .L253: 2330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) || 5948 .loc 1 2330 7 is_stmt 1 view .LVU1998 2330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) || 5949 .loc 1 2330 17 is_stmt 0 view .LVU1999 5950 014a D4F88C20 ldr r2, [r4, #140] 5951 .LVL514: 2331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 5952 .loc 1 2331 7 is_stmt 1 view .LVU2000 2331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 5953 .loc 1 2331 12 is_stmt 0 view .LVU2001 5954 014e 2368 ldr r3, [r4] 5955 0150 9B68 ldr r3, [r3, #8] 2331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 5956 .loc 1 2331 10 view .LVU2002 5957 0152 13F0400F tst r3, #64 5958 0156 02D1 bne .L255 2331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 5959 .loc 1 2331 66 discriminator 1 view .LVU2003 5960 0158 12F0280F tst r2, #40 5961 015c 29D0 beq .L256 5962 .L255: 2337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5963 .loc 1 2337 9 is_stmt 1 view .LVU2004 5964 015e 2046 mov r0, r4 5965 0160 FFF7FEFF bl UART_EndRxTransfer 5966 .LVL515: 2340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5967 .loc 1 2340 9 view .LVU2005 2340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5968 .loc 1 2340 13 is_stmt 0 view .LVU2006 5969 0164 2368 ldr r3, [r4] 5970 0166 9B68 ldr r3, [r3, #8] 2340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 5971 .loc 1 2340 12 view .LVU2007 5972 0168 13F0400F tst r3, #64 5973 016c 1DD0 beq .L257 5974 .L258: 2343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5975 .loc 1 2343 11 is_stmt 1 discriminator 1 view .LVU2008 ARM GAS /tmp/cceWHrnJ.s page 230 5976 .LBB774: 2343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5977 .loc 1 2343 11 discriminator 1 view .LVU2009 2343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5978 .loc 1 2343 11 discriminator 1 view .LVU2010 2343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 5979 .loc 1 2343 11 discriminator 1 view .LVU2011 5980 016e 2268 ldr r2, [r4] 5981 .LVL516: 5982 .LBB775: 5983 .LBI775: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5984 .loc 2 1151 31 discriminator 1 view .LVU2012 5985 .LBB776: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 5986 .loc 2 1153 5 discriminator 1 view .LVU2013 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5987 .loc 2 1155 4 discriminator 1 view .LVU2014 5988 0170 02F10803 add r3, r2, #8 5989 .LVL517: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5990 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU2015 5991 .syntax unified 5992 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5993 0174 53E8003F ldrex r3, [r3] 5994 @ 0 "" 2 5995 .LVL518: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5996 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU2016 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5997 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU2017 5998 .thumb 5999 .syntax unified 6000 .LBE776: 6001 .LBE775: 2343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6002 .loc 1 2343 11 discriminator 1 view .LVU2018 6003 0178 23F04003 bic r3, r3, #64 6004 .LVL519: 2343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6005 .loc 1 2343 11 is_stmt 1 discriminator 1 view .LVU2019 6006 .LBB777: 6007 .LBI777: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6008 .loc 2 1202 31 discriminator 1 view .LVU2020 6009 .LBB778: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 6010 .loc 2 1204 4 discriminator 1 view .LVU2021 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6011 .loc 2 1206 4 discriminator 1 view .LVU2022 6012 017c 0832 adds r2, r2, #8 6013 .LVL520: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6014 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU2023 6015 .syntax unified 6016 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6017 017e 42E80031 strex r1, r3, [r2] ARM GAS /tmp/cceWHrnJ.s page 231 6018 @ 0 "" 2 6019 .LVL521: 6020 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU2024 6021 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU2025 6022 .thumb 6023 .syntax unified 6024 .LBE778: 6025 .LBE777: 2343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6026 .loc 1 2343 11 discriminator 1 view .LVU2026 6027 0182 0029 cmp r1, #0 6028 0184 F3D1 bne .L258 6029 .LBE774: 2343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6030 .loc 1 2343 11 is_stmt 1 discriminator 2 view .LVU2027 2346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6031 .loc 1 2346 11 discriminator 2 view .LVU2028 2346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6032 .loc 1 2346 20 is_stmt 0 discriminator 2 view .LVU2029 6033 0186 E36F ldr r3, [r4, #124] 6034 .LVL522: 2346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6035 .loc 1 2346 14 discriminator 2 view .LVU2030 6036 0188 5BB1 cbz r3, .L259 2350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6037 .loc 1 2350 13 is_stmt 1 view .LVU2031 2350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6038 .loc 1 2350 46 is_stmt 0 view .LVU2032 6039 018a 5C4A ldr r2, .L284+8 6040 018c 9A63 str r2, [r3, #56] 2353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6041 .loc 1 2353 13 is_stmt 1 view .LVU2033 2353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6042 .loc 1 2353 17 is_stmt 0 view .LVU2034 6043 018e E06F ldr r0, [r4, #124] 6044 0190 FFF7FEFF bl HAL_DMA_Abort_IT 6045 .LVL523: 2353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6046 .loc 1 2353 16 view .LVU2035 6047 0194 0028 cmp r0, #0 6048 0196 3FF47CAF beq .L239 2356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6049 .loc 1 2356 15 is_stmt 1 view .LVU2036 2356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6050 .loc 1 2356 20 is_stmt 0 view .LVU2037 6051 019a E06F ldr r0, [r4, #124] 2356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6052 .loc 1 2356 28 view .LVU2038 6053 019c 836B ldr r3, [r0, #56] 2356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6054 .loc 1 2356 15 view .LVU2039 6055 019e 9847 blx r3 6056 .LVL524: 6057 01a0 77E7 b .L239 6058 .L259: 2367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6059 .loc 1 2367 13 is_stmt 1 view .LVU2040 ARM GAS /tmp/cceWHrnJ.s page 232 6060 01a2 2046 mov r0, r4 6061 01a4 FFF7FEFF bl HAL_UART_ErrorCallback 6062 .LVL525: 6063 01a8 73E7 b .L239 6064 .LVL526: 6065 .L257: 2380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6066 .loc 1 2380 11 view .LVU2041 6067 01aa 2046 mov r0, r4 6068 01ac FFF7FEFF bl HAL_UART_ErrorCallback 6069 .LVL527: 6070 01b0 6FE7 b .L239 6071 .LVL528: 6072 .L256: 2393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6073 .loc 1 2393 9 view .LVU2042 6074 01b2 2046 mov r0, r4 6075 01b4 FFF7FEFF bl HAL_UART_ErrorCallback 6076 .LVL529: 2395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6077 .loc 1 2395 9 view .LVU2043 2395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6078 .loc 1 2395 26 is_stmt 0 view .LVU2044 6079 01b8 0023 movs r3, #0 6080 01ba C4F88C30 str r3, [r4, #140] 2398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6081 .loc 1 2398 5 is_stmt 1 view .LVU2045 6082 01be 68E7 b .L239 6083 .LVL530: 6084 .L279: 2405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && ((cr1its & USART_ISR_IDLE) != 0U)) 6085 .loc 1 2405 7 is_stmt 0 view .LVU2046 6086 01c0 13F0100F tst r3, #16 6087 01c4 3FF43FAF beq .L260 2406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6088 .loc 1 2406 7 view .LVU2047 6089 01c8 10F0100F tst r0, #16 6090 01cc 3FF43BAF beq .L260 2408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6091 .loc 1 2408 5 is_stmt 1 view .LVU2048 6092 01d0 1023 movs r3, #16 6093 .LVL531: 2408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6094 .loc 1 2408 5 is_stmt 0 view .LVU2049 6095 01d2 1362 str r3, [r2, #32] 2411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6096 .loc 1 2411 5 is_stmt 1 view .LVU2050 2411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6097 .loc 1 2411 9 is_stmt 0 view .LVU2051 6098 01d4 2368 ldr r3, [r4] 6099 01d6 9B68 ldr r3, [r3, #8] 2411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6100 .loc 1 2411 8 view .LVU2052 6101 01d8 13F0400F tst r3, #64 6102 01dc 4FD0 beq .L261 6103 .LBB779: 2417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U) ARM GAS /tmp/cceWHrnJ.s page 233 6104 .loc 1 2417 7 is_stmt 1 view .LVU2053 2417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U) 6105 .loc 1 2417 50 is_stmt 0 view .LVU2054 6106 01de E26F ldr r2, [r4, #124] 6107 01e0 1368 ldr r3, [r2] 6108 01e2 5B68 ldr r3, [r3, #4] 2417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U) 6109 .loc 1 2417 16 view .LVU2055 6110 01e4 9BB2 uxth r3, r3 6111 .LVL532: 2418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize)) 6112 .loc 1 2418 7 is_stmt 1 view .LVU2056 2418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize)) 6113 .loc 1 2418 10 is_stmt 0 view .LVU2057 6114 01e6 002B cmp r3, #0 6115 01e8 3FF453AF beq .L239 2419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6116 .loc 1 2419 43 view .LVU2058 6117 01ec B4F85C10 ldrh r1, [r4, #92] 6118 .LVL533: 2419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6119 .loc 1 2419 11 view .LVU2059 6120 01f0 9942 cmp r1, r3 6121 01f2 7FF64EAF bls .L239 2422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6122 .loc 1 2422 9 is_stmt 1 view .LVU2060 2422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6123 .loc 1 2422 28 is_stmt 0 view .LVU2061 6124 01f6 A4F85E30 strh r3, [r4, #94] @ movhi 2425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6125 .loc 1 2425 9 is_stmt 1 view .LVU2062 2425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6126 .loc 1 2425 13 is_stmt 0 view .LVU2063 6127 01fa 1368 ldr r3, [r2] 6128 .LVL534: 2425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6129 .loc 1 2425 13 view .LVU2064 6130 01fc 1B68 ldr r3, [r3] 2425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6131 .loc 1 2425 12 view .LVU2065 6132 01fe 13F0200F tst r3, #32 6133 0202 31D1 bne .L263 6134 .L264: 2428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6135 .loc 1 2428 11 is_stmt 1 discriminator 1 view .LVU2066 6136 .LBB780: 2428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6137 .loc 1 2428 11 discriminator 1 view .LVU2067 2428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6138 .loc 1 2428 11 discriminator 1 view .LVU2068 2428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6139 .loc 1 2428 11 discriminator 1 view .LVU2069 6140 0204 2268 ldr r2, [r4] 6141 .LVL535: 6142 .LBB781: 6143 .LBI781: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { ARM GAS /tmp/cceWHrnJ.s page 234 6144 .loc 2 1151 31 discriminator 1 view .LVU2070 6145 .LBB782: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 6146 .loc 2 1153 5 discriminator 1 view .LVU2071 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6147 .loc 2 1155 4 discriminator 1 view .LVU2072 6148 .syntax unified 6149 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6150 0206 52E8003F ldrex r3, [r2] 6151 @ 0 "" 2 6152 .LVL536: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6153 .loc 2 1156 4 discriminator 1 view .LVU2073 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6154 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU2074 6155 .thumb 6156 .syntax unified 6157 .LBE782: 6158 .LBE781: 2428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6159 .loc 1 2428 11 discriminator 1 view .LVU2075 6160 020a 23F48073 bic r3, r3, #256 6161 .LVL537: 2428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6162 .loc 1 2428 11 is_stmt 1 discriminator 1 view .LVU2076 6163 .LBB783: 6164 .LBI783: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6165 .loc 2 1202 31 discriminator 1 view .LVU2077 6166 .LBB784: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 6167 .loc 2 1204 4 discriminator 1 view .LVU2078 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6168 .loc 2 1206 4 discriminator 1 view .LVU2079 6169 .syntax unified 6170 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6171 020e 42E80031 strex r1, r3, [r2] 6172 @ 0 "" 2 6173 .LVL538: 6174 .loc 2 1207 4 discriminator 1 view .LVU2080 6175 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU2081 6176 .thumb 6177 .syntax unified 6178 .LBE784: 6179 .LBE783: 2428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6180 .loc 1 2428 11 discriminator 1 view .LVU2082 6181 0212 0029 cmp r1, #0 6182 0214 F6D1 bne .L264 6183 .LVL539: 6184 .L265: 2428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6185 .loc 1 2428 11 discriminator 1 view .LVU2083 6186 .LBE780: 2428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6187 .loc 1 2428 11 is_stmt 1 discriminator 1 view .LVU2084 2429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 235 6188 .loc 1 2429 11 discriminator 1 view .LVU2085 6189 .LBB785: 2429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6190 .loc 1 2429 11 discriminator 1 view .LVU2086 2429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6191 .loc 1 2429 11 discriminator 1 view .LVU2087 2429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6192 .loc 1 2429 11 discriminator 1 view .LVU2088 6193 0216 2268 ldr r2, [r4] 6194 .LVL540: 6195 .LBB786: 6196 .LBI786: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6197 .loc 2 1151 31 discriminator 1 view .LVU2089 6198 .LBB787: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 6199 .loc 2 1153 5 discriminator 1 view .LVU2090 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6200 .loc 2 1155 4 discriminator 1 view .LVU2091 6201 0218 02F10803 add r3, r2, #8 6202 .LVL541: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6203 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU2092 6204 .syntax unified 6205 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6206 021c 53E8003F ldrex r3, [r3] 6207 @ 0 "" 2 6208 .LVL542: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6209 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU2093 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6210 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU2094 6211 .thumb 6212 .syntax unified 6213 .LBE787: 6214 .LBE786: 2429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6215 .loc 1 2429 11 discriminator 1 view .LVU2095 6216 0220 23F00103 bic r3, r3, #1 6217 .LVL543: 2429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6218 .loc 1 2429 11 is_stmt 1 discriminator 1 view .LVU2096 6219 .LBB788: 6220 .LBI788: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6221 .loc 2 1202 31 discriminator 1 view .LVU2097 6222 .LBB789: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 6223 .loc 2 1204 4 discriminator 1 view .LVU2098 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6224 .loc 2 1206 4 discriminator 1 view .LVU2099 6225 0224 0832 adds r2, r2, #8 6226 .LVL544: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6227 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU2100 6228 .syntax unified 6229 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 ARM GAS /tmp/cceWHrnJ.s page 236 6230 0226 42E80031 strex r1, r3, [r2] 6231 @ 0 "" 2 6232 .LVL545: 6233 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU2101 6234 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU2102 6235 .thumb 6236 .syntax unified 6237 .LBE789: 6238 .LBE788: 2429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6239 .loc 1 2429 11 discriminator 1 view .LVU2103 6240 022a 0029 cmp r1, #0 6241 022c F3D1 bne .L265 6242 .LVL546: 6243 .L266: 2429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6244 .loc 1 2429 11 discriminator 1 view .LVU2104 6245 .LBE785: 2429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6246 .loc 1 2429 11 is_stmt 1 discriminator 1 view .LVU2105 2433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6247 .loc 1 2433 11 discriminator 1 view .LVU2106 6248 .LBB790: 2433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6249 .loc 1 2433 11 discriminator 1 view .LVU2107 2433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6250 .loc 1 2433 11 discriminator 1 view .LVU2108 2433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6251 .loc 1 2433 11 discriminator 1 view .LVU2109 6252 022e 2268 ldr r2, [r4] 6253 .LVL547: 6254 .LBB791: 6255 .LBI791: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6256 .loc 2 1151 31 discriminator 1 view .LVU2110 6257 .LBB792: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 6258 .loc 2 1153 5 discriminator 1 view .LVU2111 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6259 .loc 2 1155 4 discriminator 1 view .LVU2112 6260 0230 02F10803 add r3, r2, #8 6261 .LVL548: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6262 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU2113 6263 .syntax unified 6264 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6265 0234 53E8003F ldrex r3, [r3] 6266 @ 0 "" 2 6267 .LVL549: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6268 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU2114 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6269 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU2115 6270 .thumb 6271 .syntax unified 6272 .LBE792: 6273 .LBE791: ARM GAS /tmp/cceWHrnJ.s page 237 2433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6274 .loc 1 2433 11 discriminator 1 view .LVU2116 6275 0238 23F04003 bic r3, r3, #64 6276 .LVL550: 2433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6277 .loc 1 2433 11 is_stmt 1 discriminator 1 view .LVU2117 6278 .LBB793: 6279 .LBI793: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6280 .loc 2 1202 31 discriminator 1 view .LVU2118 6281 .LBB794: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 6282 .loc 2 1204 4 discriminator 1 view .LVU2119 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6283 .loc 2 1206 4 discriminator 1 view .LVU2120 6284 023c 0832 adds r2, r2, #8 6285 .LVL551: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6286 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU2121 6287 .syntax unified 6288 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6289 023e 42E80031 strex r1, r3, [r2] 6290 @ 0 "" 2 6291 .LVL552: 6292 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU2122 6293 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU2123 6294 .thumb 6295 .syntax unified 6296 .LBE794: 6297 .LBE793: 2433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6298 .loc 1 2433 11 discriminator 1 view .LVU2124 6299 0242 0029 cmp r1, #0 6300 0244 F3D1 bne .L266 6301 .LBE790: 2433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6302 .loc 1 2433 11 is_stmt 1 discriminator 2 view .LVU2125 2436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 6303 .loc 1 2436 11 discriminator 2 view .LVU2126 2436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 6304 .loc 1 2436 26 is_stmt 0 discriminator 2 view .LVU2127 6305 0246 2023 movs r3, #32 6306 .LVL553: 2436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 6307 .loc 1 2436 26 discriminator 2 view .LVU2128 6308 0248 C4F88830 str r3, [r4, #136] 6309 .LVL554: 2437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6310 .loc 1 2437 11 is_stmt 1 discriminator 2 view .LVU2129 2437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6311 .loc 1 2437 32 is_stmt 0 discriminator 2 view .LVU2130 6312 024c 0023 movs r3, #0 6313 024e E366 str r3, [r4, #108] 6314 .L267: 2439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6315 .loc 1 2439 11 is_stmt 1 discriminator 1 view .LVU2131 6316 .LBB795: ARM GAS /tmp/cceWHrnJ.s page 238 2439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6317 .loc 1 2439 11 discriminator 1 view .LVU2132 2439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6318 .loc 1 2439 11 discriminator 1 view .LVU2133 2439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6319 .loc 1 2439 11 discriminator 1 view .LVU2134 6320 0250 2268 ldr r2, [r4] 6321 .LVL555: 6322 .LBB796: 6323 .LBI796: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6324 .loc 2 1151 31 discriminator 1 view .LVU2135 6325 .LBB797: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 6326 .loc 2 1153 5 discriminator 1 view .LVU2136 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6327 .loc 2 1155 4 discriminator 1 view .LVU2137 6328 .syntax unified 6329 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6330 0252 52E8003F ldrex r3, [r2] 6331 @ 0 "" 2 6332 .LVL556: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6333 .loc 2 1156 4 discriminator 1 view .LVU2138 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6334 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU2139 6335 .thumb 6336 .syntax unified 6337 .LBE797: 6338 .LBE796: 2439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6339 .loc 1 2439 11 discriminator 1 view .LVU2140 6340 0256 23F01003 bic r3, r3, #16 6341 .LVL557: 2439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6342 .loc 1 2439 11 is_stmt 1 discriminator 1 view .LVU2141 6343 .LBB798: 6344 .LBI798: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6345 .loc 2 1202 31 discriminator 1 view .LVU2142 6346 .LBB799: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 6347 .loc 2 1204 4 discriminator 1 view .LVU2143 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6348 .loc 2 1206 4 discriminator 1 view .LVU2144 6349 .syntax unified 6350 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6351 025a 42E80031 strex r1, r3, [r2] 6352 @ 0 "" 2 6353 .LVL558: 6354 .loc 2 1207 4 discriminator 1 view .LVU2145 6355 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU2146 6356 .thumb 6357 .syntax unified 6358 .LBE799: 6359 .LBE798: 2439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 239 6360 .loc 1 2439 11 discriminator 1 view .LVU2147 6361 025e 0029 cmp r1, #0 6362 0260 F6D1 bne .L267 6363 .LBE795: 2439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6364 .loc 1 2439 11 is_stmt 1 discriminator 2 view .LVU2148 2442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6365 .loc 1 2442 11 discriminator 2 view .LVU2149 2442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6366 .loc 1 2442 17 is_stmt 0 discriminator 2 view .LVU2150 6367 0262 E06F ldr r0, [r4, #124] 6368 .LVL559: 2442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6369 .loc 1 2442 17 discriminator 2 view .LVU2151 6370 0264 FFF7FEFF bl HAL_DMA_Abort 6371 .LVL560: 6372 .L263: 2449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6373 .loc 1 2449 9 is_stmt 1 view .LVU2152 2449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6374 .loc 1 2449 49 is_stmt 0 view .LVU2153 6375 0268 B4F85C10 ldrh r1, [r4, #92] 2449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6376 .loc 1 2449 69 view .LVU2154 6377 026c B4F85E30 ldrh r3, [r4, #94] 6378 0270 9BB2 uxth r3, r3 2449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6379 .loc 1 2449 9 view .LVU2155 6380 0272 C91A subs r1, r1, r3 6381 0274 89B2 uxth r1, r1 6382 0276 2046 mov r0, r4 6383 0278 FFF7FEFF bl HAL_UARTEx_RxEventCallback 6384 .LVL561: 2452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6385 .loc 1 2452 7 is_stmt 1 view .LVU2156 6386 027c 09E7 b .L239 6387 .LVL562: 6388 .L261: 2452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6389 .loc 1 2452 7 is_stmt 0 view .LVU2157 6390 .LBE779: 6391 .LBB800: 2459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 6392 .loc 1 2459 7 is_stmt 1 view .LVU2158 2459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 6393 .loc 1 2459 34 is_stmt 0 view .LVU2159 6394 027e B4F85C10 ldrh r1, [r4, #92] 6395 .LVL563: 2459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 6396 .loc 1 2459 54 view .LVU2160 6397 0282 B4F85E30 ldrh r3, [r4, #94] 6398 0286 9BB2 uxth r3, r3 2459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 6399 .loc 1 2459 16 view .LVU2161 6400 0288 C91A subs r1, r1, r3 6401 028a 89B2 uxth r1, r1 6402 .LVL564: ARM GAS /tmp/cceWHrnJ.s page 240 2460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (nb_rx_data > 0U)) 6403 .loc 1 2460 7 is_stmt 1 view .LVU2162 2460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (nb_rx_data > 0U)) 6404 .loc 1 2460 17 is_stmt 0 view .LVU2163 6405 028c B4F85E30 ldrh r3, [r4, #94] 6406 0290 9BB2 uxth r3, r3 2460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (nb_rx_data > 0U)) 6407 .loc 1 2460 10 view .LVU2164 6408 0292 002B cmp r3, #0 6409 0294 3FF4FDAE beq .L239 2461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6410 .loc 1 2461 11 view .LVU2165 6411 0298 0029 cmp r1, #0 6412 029a 3FF4FAAE beq .L239 6413 .LVL565: 6414 .L269: 2464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6415 .loc 1 2464 9 is_stmt 1 discriminator 1 view .LVU2166 6416 .LBB801: 2464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6417 .loc 1 2464 9 discriminator 1 view .LVU2167 2464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6418 .loc 1 2464 9 discriminator 1 view .LVU2168 2464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6419 .loc 1 2464 9 discriminator 1 view .LVU2169 6420 029e 2268 ldr r2, [r4] 6421 .LVL566: 6422 .LBB802: 6423 .LBI802: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6424 .loc 2 1151 31 discriminator 1 view .LVU2170 6425 .LBB803: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 6426 .loc 2 1153 5 discriminator 1 view .LVU2171 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6427 .loc 2 1155 4 discriminator 1 view .LVU2172 6428 .syntax unified 6429 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6430 02a0 52E8003F ldrex r3, [r2] 6431 @ 0 "" 2 6432 .LVL567: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6433 .loc 2 1156 4 discriminator 1 view .LVU2173 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6434 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU2174 6435 .thumb 6436 .syntax unified 6437 .LBE803: 6438 .LBE802: 2464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6439 .loc 1 2464 9 discriminator 1 view .LVU2175 6440 02a4 23F49073 bic r3, r3, #288 6441 .LVL568: 2464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6442 .loc 1 2464 9 is_stmt 1 discriminator 1 view .LVU2176 6443 .LBB804: 6444 .LBI804: ARM GAS /tmp/cceWHrnJ.s page 241 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6445 .loc 2 1202 31 discriminator 1 view .LVU2177 6446 .LBB805: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 6447 .loc 2 1204 4 discriminator 1 view .LVU2178 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6448 .loc 2 1206 4 discriminator 1 view .LVU2179 6449 .syntax unified 6450 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6451 02a8 42E80030 strex r0, r3, [r2] 6452 @ 0 "" 2 6453 .LVL569: 6454 .loc 2 1207 4 discriminator 1 view .LVU2180 6455 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU2181 6456 .thumb 6457 .syntax unified 6458 .LBE805: 6459 .LBE804: 2464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6460 .loc 1 2464 9 discriminator 1 view .LVU2182 6461 02ac 0028 cmp r0, #0 6462 02ae F6D1 bne .L269 6463 .LVL570: 6464 .L270: 2464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6465 .loc 1 2464 9 discriminator 1 view .LVU2183 6466 .LBE801: 2464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6467 .loc 1 2464 9 is_stmt 1 discriminator 1 view .LVU2184 2467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6468 .loc 1 2467 9 discriminator 1 view .LVU2185 6469 .LBB806: 2467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6470 .loc 1 2467 9 discriminator 1 view .LVU2186 2467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6471 .loc 1 2467 9 discriminator 1 view .LVU2187 2467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6472 .loc 1 2467 9 discriminator 1 view .LVU2188 6473 02b0 2268 ldr r2, [r4] 6474 .LVL571: 6475 .LBB807: 6476 .LBI807: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6477 .loc 2 1151 31 discriminator 1 view .LVU2189 6478 .LBB808: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 6479 .loc 2 1153 5 discriminator 1 view .LVU2190 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6480 .loc 2 1155 4 discriminator 1 view .LVU2191 6481 02b2 02F10803 add r3, r2, #8 6482 .LVL572: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6483 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU2192 6484 .syntax unified 6485 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6486 02b6 53E8003F ldrex r3, [r3] 6487 @ 0 "" 2 ARM GAS /tmp/cceWHrnJ.s page 242 6488 .LVL573: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6489 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU2193 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6490 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU2194 6491 .thumb 6492 .syntax unified 6493 .LBE808: 6494 .LBE807: 2467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6495 .loc 1 2467 9 discriminator 1 view .LVU2195 6496 02ba 23F08053 bic r3, r3, #268435456 6497 02be 23F00103 bic r3, r3, #1 6498 .LVL574: 2467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6499 .loc 1 2467 9 is_stmt 1 discriminator 1 view .LVU2196 6500 .LBB809: 6501 .LBI809: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6502 .loc 2 1202 31 discriminator 1 view .LVU2197 6503 .LBB810: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 6504 .loc 2 1204 4 discriminator 1 view .LVU2198 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6505 .loc 2 1206 4 discriminator 1 view .LVU2199 6506 02c2 0832 adds r2, r2, #8 6507 .LVL575: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6508 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU2200 6509 .syntax unified 6510 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6511 02c4 42E80030 strex r0, r3, [r2] 6512 @ 0 "" 2 6513 .LVL576: 6514 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU2201 6515 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU2202 6516 .thumb 6517 .syntax unified 6518 .LBE810: 6519 .LBE809: 2467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6520 .loc 1 2467 9 discriminator 1 view .LVU2203 6521 02c8 0028 cmp r0, #0 6522 02ca F1D1 bne .L270 6523 .LBE806: 2467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6524 .loc 1 2467 9 is_stmt 1 discriminator 2 view .LVU2204 2470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 6525 .loc 1 2470 9 discriminator 2 view .LVU2205 2470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 6526 .loc 1 2470 24 is_stmt 0 discriminator 2 view .LVU2206 6527 02cc 2023 movs r3, #32 6528 .LVL577: 2470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 6529 .loc 1 2470 24 discriminator 2 view .LVU2207 6530 02ce C4F88830 str r3, [r4, #136] 2471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 243 6531 .loc 1 2471 9 is_stmt 1 discriminator 2 view .LVU2208 2471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6532 .loc 1 2471 30 is_stmt 0 discriminator 2 view .LVU2209 6533 02d2 0023 movs r3, #0 6534 02d4 E366 str r3, [r4, #108] 2474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6535 .loc 1 2474 9 is_stmt 1 discriminator 2 view .LVU2210 2474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6536 .loc 1 2474 22 is_stmt 0 discriminator 2 view .LVU2211 6537 02d6 2367 str r3, [r4, #112] 6538 .L271: 2476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 6539 .loc 1 2476 9 is_stmt 1 discriminator 1 view .LVU2212 6540 .LBB811: 2476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 6541 .loc 1 2476 9 discriminator 1 view .LVU2213 2476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 6542 .loc 1 2476 9 discriminator 1 view .LVU2214 2476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 6543 .loc 1 2476 9 discriminator 1 view .LVU2215 6544 02d8 2268 ldr r2, [r4] 6545 .LVL578: 6546 .LBB812: 6547 .LBI812: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6548 .loc 2 1151 31 discriminator 1 view .LVU2216 6549 .LBB813: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 6550 .loc 2 1153 5 discriminator 1 view .LVU2217 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6551 .loc 2 1155 4 discriminator 1 view .LVU2218 6552 .syntax unified 6553 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6554 02da 52E8003F ldrex r3, [r2] 6555 @ 0 "" 2 6556 .LVL579: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6557 .loc 2 1156 4 discriminator 1 view .LVU2219 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6558 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU2220 6559 .thumb 6560 .syntax unified 6561 .LBE813: 6562 .LBE812: 2476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 6563 .loc 1 2476 9 discriminator 1 view .LVU2221 6564 02de 23F01003 bic r3, r3, #16 6565 .LVL580: 2476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 6566 .loc 1 2476 9 is_stmt 1 discriminator 1 view .LVU2222 6567 .LBB814: 6568 .LBI814: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6569 .loc 2 1202 31 discriminator 1 view .LVU2223 6570 .LBB815: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 6571 .loc 2 1204 4 discriminator 1 view .LVU2224 ARM GAS /tmp/cceWHrnJ.s page 244 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6572 .loc 2 1206 4 discriminator 1 view .LVU2225 6573 .syntax unified 6574 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6575 02e2 42E80030 strex r0, r3, [r2] 6576 @ 0 "" 2 6577 .LVL581: 6578 .loc 2 1207 4 discriminator 1 view .LVU2226 6579 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU2227 6580 .thumb 6581 .syntax unified 6582 .LBE815: 6583 .LBE814: 2476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 6584 .loc 1 2476 9 discriminator 1 view .LVU2228 6585 02e6 0028 cmp r0, #0 6586 02e8 F6D1 bne .L271 6587 .LBE811: 2476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 6588 .loc 1 2476 9 is_stmt 1 discriminator 2 view .LVU2229 2482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6589 .loc 1 2482 9 discriminator 2 view .LVU2230 6590 02ea 2046 mov r0, r4 6591 02ec FFF7FEFF bl HAL_UARTEx_RxEventCallback 6592 .LVL582: 2485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6593 .loc 1 2485 7 discriminator 2 view .LVU2231 6594 02f0 CFE6 b .L239 6595 .L285: 6596 02f2 00BF .align 2 6597 .L284: 6598 02f4 01000010 .word 268435457 6599 02f8 20010004 .word 67109152 6600 02fc 00000000 .word UART_DMAAbortOnError 6601 .LVL583: 6602 .L280: 2485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6603 .loc 1 2485 7 is_stmt 0 discriminator 2 view .LVU2232 6604 .LBE800: 2492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6605 .loc 1 2492 5 is_stmt 1 view .LVU2233 6606 0300 4FF48013 mov r3, #1048576 6607 .LVL584: 2492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6608 .loc 1 2492 5 is_stmt 0 view .LVU2234 6609 0304 1362 str r3, [r2, #32] 2502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6610 .loc 1 2502 5 is_stmt 1 view .LVU2235 6611 0306 2046 mov r0, r4 6612 .LVL585: 2502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6613 .loc 1 2502 5 is_stmt 0 view .LVU2236 6614 0308 FFF7FEFF bl HAL_UARTEx_WakeupCallback 6615 .LVL586: 2504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6616 .loc 1 2504 5 is_stmt 1 view .LVU2237 6617 030c C1E6 b .L239 ARM GAS /tmp/cceWHrnJ.s page 245 6618 .LVL587: 6619 .L274: 2512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6620 .loc 1 2512 5 view .LVU2238 2512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6621 .loc 1 2512 14 is_stmt 0 view .LVU2239 6622 030e 636F ldr r3, [r4, #116] 6623 .LVL588: 2512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6624 .loc 1 2512 8 view .LVU2240 6625 0310 002B cmp r3, #0 6626 0312 3FF4BEAE beq .L239 2514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6627 .loc 1 2514 7 is_stmt 1 view .LVU2241 6628 0316 2046 mov r0, r4 6629 .LVL589: 2514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6630 .loc 1 2514 7 is_stmt 0 view .LVU2242 6631 0318 9847 blx r3 6632 .LVL590: 2516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6633 .loc 1 2516 5 is_stmt 1 view .LVU2243 6634 031a BAE6 b .L239 6635 .LVL591: 6636 .L281: 2522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return; 6637 .loc 1 2522 5 view .LVU2244 6638 031c 2046 mov r0, r4 6639 .LVL592: 2522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return; 6640 .loc 1 2522 5 is_stmt 0 view .LVU2245 6641 031e FFF7FEFF bl UART_EndTransmit_IT 6642 .LVL593: 2523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6643 .loc 1 2523 5 is_stmt 1 view .LVU2246 6644 0322 B6E6 b .L239 6645 .LVL594: 6646 .L282: 2534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6647 .loc 1 2534 5 view .LVU2247 6648 0324 2046 mov r0, r4 6649 .LVL595: 2534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6650 .loc 1 2534 5 is_stmt 0 view .LVU2248 6651 0326 FFF7FEFF bl HAL_UARTEx_TxFifoEmptyCallback 6652 .LVL596: 2536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6653 .loc 1 2536 5 is_stmt 1 view .LVU2249 6654 032a B2E6 b .L239 6655 .LVL597: 6656 .L283: 2547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6657 .loc 1 2547 5 view .LVU2250 6658 032c 2046 mov r0, r4 6659 .LVL598: 2547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6660 .loc 1 2547 5 is_stmt 0 view .LVU2251 ARM GAS /tmp/cceWHrnJ.s page 246 6661 032e FFF7FEFF bl HAL_UARTEx_RxFifoFullCallback 6662 .LVL599: 2549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6663 .loc 1 2549 5 is_stmt 1 view .LVU2252 6664 0332 AEE6 b .L239 6665 .cfi_endproc 6666 .LFE351: 6668 .section .text.UART_RxISR_8BIT,"ax",%progbits 6669 .align 1 6670 .syntax unified 6671 .thumb 6672 .thumb_func 6674 UART_RxISR_8BIT: 6675 .LVL600: 6676 .LFB395: 4148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 4150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief RX interrupt handler for 7 or 8 bits data word length . 4151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 4152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 4153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 4154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_RxISR_8BIT(UART_HandleTypeDef *huart) 4155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6677 .loc 1 4155 1 view -0 6678 .cfi_startproc 6679 @ args = 0, pretend = 0, frame = 0 6680 @ frame_needed = 0, uses_anonymous_args = 0 6681 .loc 1 4155 1 is_stmt 0 view .LVU2254 6682 0000 08B5 push {r3, lr} 6683 .LCFI25: 6684 .cfi_def_cfa_offset 8 6685 .cfi_offset 3, -8 6686 .cfi_offset 14, -4 4156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t uhMask = huart->Mask; 6687 .loc 1 4156 3 is_stmt 1 view .LVU2255 6688 .loc 1 4156 12 is_stmt 0 view .LVU2256 6689 0002 B0F86030 ldrh r3, [r0, #96] 6690 .LVL601: 4157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t uhdata; 6691 .loc 1 4157 3 is_stmt 1 view .LVU2257 4158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Rx process is ongoing */ 4160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX) 6692 .loc 1 4160 3 view .LVU2258 6693 .loc 1 4160 12 is_stmt 0 view .LVU2259 6694 0006 D0F88820 ldr r2, [r0, #136] 6695 .loc 1 4160 6 view .LVU2260 6696 000a 222A cmp r2, #34 6697 000c 05D0 beq .L295 4161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR); 4163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask); 4164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr++; 4165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 4166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxXferCount == 0U) 4168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cceWHrnJ.s page 247 4169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupts */ 4170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE)); 4171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 4173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */ 4176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear RxISR function pointer */ 4179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL; 4180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check current reception Mode : 4182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** If Reception till IDLE event has been selected : */ 4183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 4184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set reception type to Standard */ 4186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable IDLE interrupt */ 4189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 4190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE) == SET) 4192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear IDLE Flag */ 4194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF); 4195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 4197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx Event callback*/ 4198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize); 4199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 4200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 4201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize); 4202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 4203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 4205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Standard reception API called */ 4207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 4208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx complete callback*/ 4209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxCpltCallback(huart); 4210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 4211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/ 4212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart); 4213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 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 **** else 4218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear RXNE interrupt flag */ 4220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 6698 .loc 1 4220 5 is_stmt 1 view .LVU2261 6699 000e 0268 ldr r2, [r0] 6700 0010 9369 ldr r3, [r2, #24] 6701 .LVL602: 6702 .loc 1 4220 5 is_stmt 0 view .LVU2262 ARM GAS /tmp/cceWHrnJ.s page 248 6703 0012 43F00803 orr r3, r3, #8 6704 0016 9361 str r3, [r2, #24] 6705 .LVL603: 6706 .L286: 4221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6707 .loc 1 4222 1 view .LVU2263 6708 0018 08BD pop {r3, pc} 6709 .LVL604: 6710 .L295: 4162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask); 6711 .loc 1 4162 5 is_stmt 1 view .LVU2264 4162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask); 6712 .loc 1 4162 25 is_stmt 0 view .LVU2265 6713 001a 0268 ldr r2, [r0] 6714 001c 516A ldr r1, [r2, #36] 6715 .LVL605: 4163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr++; 6716 .loc 1 4163 5 is_stmt 1 view .LVU2266 4163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr++; 6717 .loc 1 4163 45 is_stmt 0 view .LVU2267 6718 001e DBB2 uxtb r3, r3 6719 .LVL606: 4163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr++; 6720 .loc 1 4163 11 view .LVU2268 6721 0020 826D ldr r2, [r0, #88] 4163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr++; 6722 .loc 1 4163 26 view .LVU2269 6723 0022 0B40 ands r3, r3, r1 4163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr++; 6724 .loc 1 4163 24 view .LVU2270 6725 0024 1370 strb r3, [r2] 6726 .LVL607: 4164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 6727 .loc 1 4164 5 is_stmt 1 view .LVU2271 4164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 6728 .loc 1 4164 10 is_stmt 0 view .LVU2272 6729 0026 836D ldr r3, [r0, #88] 4164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 6730 .loc 1 4164 22 view .LVU2273 6731 0028 0133 adds r3, r3, #1 6732 002a 8365 str r3, [r0, #88] 4165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6733 .loc 1 4165 5 is_stmt 1 view .LVU2274 4165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6734 .loc 1 4165 10 is_stmt 0 view .LVU2275 6735 002c B0F85E30 ldrh r3, [r0, #94] 6736 0030 9BB2 uxth r3, r3 4165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6737 .loc 1 4165 23 view .LVU2276 6738 0032 013B subs r3, r3, #1 6739 0034 9BB2 uxth r3, r3 6740 0036 A0F85E30 strh r3, [r0, #94] @ movhi 4167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6741 .loc 1 4167 5 is_stmt 1 view .LVU2277 4167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6742 .loc 1 4167 14 is_stmt 0 view .LVU2278 ARM GAS /tmp/cceWHrnJ.s page 249 6743 003a B0F85E30 ldrh r3, [r0, #94] 6744 003e 9BB2 uxth r3, r3 4167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6745 .loc 1 4167 8 view .LVU2279 6746 0040 002B cmp r3, #0 6747 0042 E9D1 bne .L286 6748 .LVL608: 6749 .L289: 4170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6750 .loc 1 4170 7 is_stmt 1 discriminator 1 view .LVU2280 6751 .LBB816: 4170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6752 .loc 1 4170 7 discriminator 1 view .LVU2281 4170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6753 .loc 1 4170 7 discriminator 1 view .LVU2282 4170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6754 .loc 1 4170 7 discriminator 1 view .LVU2283 6755 0044 0268 ldr r2, [r0] 6756 .LVL609: 6757 .LBB817: 6758 .LBI817: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6759 .loc 2 1151 31 discriminator 1 view .LVU2284 6760 .LBB818: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 6761 .loc 2 1153 5 discriminator 1 view .LVU2285 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6762 .loc 2 1155 4 discriminator 1 view .LVU2286 6763 .syntax unified 6764 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6765 0046 52E8003F ldrex r3, [r2] 6766 @ 0 "" 2 6767 .LVL610: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6768 .loc 2 1156 4 discriminator 1 view .LVU2287 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6769 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU2288 6770 .thumb 6771 .syntax unified 6772 .LBE818: 6773 .LBE817: 4170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6774 .loc 1 4170 7 discriminator 1 view .LVU2289 6775 004a 23F49073 bic r3, r3, #288 6776 .LVL611: 4170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6777 .loc 1 4170 7 is_stmt 1 discriminator 1 view .LVU2290 6778 .LBB819: 6779 .LBI819: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6780 .loc 2 1202 31 discriminator 1 view .LVU2291 6781 .LBB820: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 6782 .loc 2 1204 4 discriminator 1 view .LVU2292 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6783 .loc 2 1206 4 discriminator 1 view .LVU2293 6784 .syntax unified ARM GAS /tmp/cceWHrnJ.s page 250 6785 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6786 004e 42E80031 strex r1, r3, [r2] 6787 @ 0 "" 2 6788 .LVL612: 6789 .loc 2 1207 4 discriminator 1 view .LVU2294 6790 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU2295 6791 .thumb 6792 .syntax unified 6793 .LBE820: 6794 .LBE819: 4170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6795 .loc 1 4170 7 discriminator 1 view .LVU2296 6796 0052 0029 cmp r1, #0 6797 0054 F6D1 bne .L289 6798 .LVL613: 6799 .L290: 4170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6800 .loc 1 4170 7 discriminator 1 view .LVU2297 6801 .LBE816: 4170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6802 .loc 1 4170 7 is_stmt 1 discriminator 1 view .LVU2298 4173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6803 .loc 1 4173 7 discriminator 1 view .LVU2299 6804 .LBB821: 4173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6805 .loc 1 4173 7 discriminator 1 view .LVU2300 4173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6806 .loc 1 4173 7 discriminator 1 view .LVU2301 4173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6807 .loc 1 4173 7 discriminator 1 view .LVU2302 6808 0056 0268 ldr r2, [r0] 6809 .LVL614: 6810 .LBB822: 6811 .LBI822: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6812 .loc 2 1151 31 discriminator 1 view .LVU2303 6813 .LBB823: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 6814 .loc 2 1153 5 discriminator 1 view .LVU2304 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6815 .loc 2 1155 4 discriminator 1 view .LVU2305 6816 0058 02F10803 add r3, r2, #8 6817 .LVL615: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6818 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU2306 6819 .syntax unified 6820 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6821 005c 53E8003F ldrex r3, [r3] 6822 @ 0 "" 2 6823 .LVL616: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6824 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU2307 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6825 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU2308 6826 .thumb 6827 .syntax unified 6828 .LBE823: ARM GAS /tmp/cceWHrnJ.s page 251 6829 .LBE822: 4173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6830 .loc 1 4173 7 discriminator 1 view .LVU2309 6831 0060 23F00103 bic r3, r3, #1 6832 .LVL617: 4173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6833 .loc 1 4173 7 is_stmt 1 discriminator 1 view .LVU2310 6834 .LBB824: 6835 .LBI824: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6836 .loc 2 1202 31 discriminator 1 view .LVU2311 6837 .LBB825: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 6838 .loc 2 1204 4 discriminator 1 view .LVU2312 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6839 .loc 2 1206 4 discriminator 1 view .LVU2313 6840 0064 0832 adds r2, r2, #8 6841 .LVL618: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6842 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU2314 6843 .syntax unified 6844 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6845 0066 42E80031 strex r1, r3, [r2] 6846 @ 0 "" 2 6847 .LVL619: 6848 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU2315 6849 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU2316 6850 .thumb 6851 .syntax unified 6852 .LBE825: 6853 .LBE824: 4173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6854 .loc 1 4173 7 discriminator 1 view .LVU2317 6855 006a 0029 cmp r1, #0 6856 006c F3D1 bne .L290 6857 .LBE821: 4173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6858 .loc 1 4173 7 is_stmt 1 discriminator 2 view .LVU2318 4176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6859 .loc 1 4176 7 discriminator 2 view .LVU2319 4176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6860 .loc 1 4176 22 is_stmt 0 discriminator 2 view .LVU2320 6861 006e 2023 movs r3, #32 6862 .LVL620: 4176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6863 .loc 1 4176 22 discriminator 2 view .LVU2321 6864 0070 C0F88830 str r3, [r0, #136] 4179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6865 .loc 1 4179 7 is_stmt 1 discriminator 2 view .LVU2322 4179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6866 .loc 1 4179 20 is_stmt 0 discriminator 2 view .LVU2323 6867 0074 0023 movs r3, #0 6868 0076 0367 str r3, [r0, #112] 4183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6869 .loc 1 4183 7 is_stmt 1 discriminator 2 view .LVU2324 4183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6870 .loc 1 4183 16 is_stmt 0 discriminator 2 view .LVU2325 ARM GAS /tmp/cceWHrnJ.s page 252 6871 0078 C36E ldr r3, [r0, #108] 4183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6872 .loc 1 4183 10 discriminator 2 view .LVU2326 6873 007a 012B cmp r3, #1 6874 007c 16D1 bne .L291 4186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6875 .loc 1 4186 9 is_stmt 1 view .LVU2327 4186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6876 .loc 1 4186 30 is_stmt 0 view .LVU2328 6877 007e 0023 movs r3, #0 6878 0080 C366 str r3, [r0, #108] 6879 .L292: 4189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6880 .loc 1 4189 9 is_stmt 1 discriminator 1 view .LVU2329 6881 .LBB826: 4189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6882 .loc 1 4189 9 discriminator 1 view .LVU2330 4189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6883 .loc 1 4189 9 discriminator 1 view .LVU2331 4189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6884 .loc 1 4189 9 discriminator 1 view .LVU2332 6885 0082 0268 ldr r2, [r0] 6886 .LVL621: 6887 .LBB827: 6888 .LBI827: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6889 .loc 2 1151 31 discriminator 1 view .LVU2333 6890 .LBB828: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 6891 .loc 2 1153 5 discriminator 1 view .LVU2334 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6892 .loc 2 1155 4 discriminator 1 view .LVU2335 6893 .syntax unified 6894 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6895 0084 52E8003F ldrex r3, [r2] 6896 @ 0 "" 2 6897 .LVL622: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6898 .loc 2 1156 4 discriminator 1 view .LVU2336 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6899 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU2337 6900 .thumb 6901 .syntax unified 6902 .LBE828: 6903 .LBE827: 4189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6904 .loc 1 4189 9 discriminator 1 view .LVU2338 6905 0088 23F01003 bic r3, r3, #16 6906 .LVL623: 4189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6907 .loc 1 4189 9 is_stmt 1 discriminator 1 view .LVU2339 6908 .LBB829: 6909 .LBI829: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6910 .loc 2 1202 31 discriminator 1 view .LVU2340 6911 .LBB830: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** ARM GAS /tmp/cceWHrnJ.s page 253 6912 .loc 2 1204 4 discriminator 1 view .LVU2341 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6913 .loc 2 1206 4 discriminator 1 view .LVU2342 6914 .syntax unified 6915 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6916 008c 42E80031 strex r1, r3, [r2] 6917 @ 0 "" 2 6918 .LVL624: 6919 .loc 2 1207 4 discriminator 1 view .LVU2343 6920 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU2344 6921 .thumb 6922 .syntax unified 6923 .LBE830: 6924 .LBE829: 4189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6925 .loc 1 4189 9 discriminator 1 view .LVU2345 6926 0090 0029 cmp r1, #0 6927 0092 F6D1 bne .L292 6928 .LBE826: 4189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 6929 .loc 1 4189 9 is_stmt 1 discriminator 2 view .LVU2346 4191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6930 .loc 1 4191 9 discriminator 2 view .LVU2347 4191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6931 .loc 1 4191 13 is_stmt 0 discriminator 2 view .LVU2348 6932 0094 0368 ldr r3, [r0] 6933 .LVL625: 4191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6934 .loc 1 4191 13 discriminator 2 view .LVU2349 6935 0096 DA69 ldr r2, [r3, #28] 4191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6936 .loc 1 4191 12 discriminator 2 view .LVU2350 6937 0098 12F0100F tst r2, #16 6938 009c 01D0 beq .L293 4194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6939 .loc 1 4194 11 is_stmt 1 view .LVU2351 6940 009e 1022 movs r2, #16 6941 00a0 1A62 str r2, [r3, #32] 6942 .L293: 4201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6943 .loc 1 4201 9 view .LVU2352 6944 00a2 B0F85C10 ldrh r1, [r0, #92] 6945 00a6 FFF7FEFF bl HAL_UARTEx_RxEventCallback 6946 .LVL626: 4201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6947 .loc 1 4201 9 is_stmt 0 view .LVU2353 6948 00aa B5E7 b .L286 6949 .LVL627: 6950 .L291: 4212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6951 .loc 1 4212 9 is_stmt 1 view .LVU2354 6952 00ac FFF7FEFF bl HAL_UART_RxCpltCallback 6953 .LVL628: 4212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6954 .loc 1 4212 9 is_stmt 0 view .LVU2355 6955 00b0 B2E7 b .L286 6956 .cfi_endproc ARM GAS /tmp/cceWHrnJ.s page 254 6957 .LFE395: 6959 .section .text.UART_RxISR_16BIT,"ax",%progbits 6960 .align 1 6961 .syntax unified 6962 .thumb 6963 .thumb_func 6965 UART_RxISR_16BIT: 6966 .LVL629: 6967 .LFB396: 4223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 4225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief RX interrupt handler for 9 bits data word length . 4226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note Function is called under interruption only, once 4227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Receive_IT() 4228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 4229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 4230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 4231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_RxISR_16BIT(UART_HandleTypeDef *huart) 4232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 6968 .loc 1 4232 1 is_stmt 1 view -0 6969 .cfi_startproc 6970 @ args = 0, pretend = 0, frame = 0 6971 @ frame_needed = 0, uses_anonymous_args = 0 6972 .loc 1 4232 1 is_stmt 0 view .LVU2357 6973 0000 08B5 push {r3, lr} 6974 .LCFI26: 6975 .cfi_def_cfa_offset 8 6976 .cfi_offset 3, -8 6977 .cfi_offset 14, -4 4233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t *tmp; 6978 .loc 1 4233 3 is_stmt 1 view .LVU2358 4234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t uhMask = huart->Mask; 6979 .loc 1 4234 3 view .LVU2359 6980 .loc 1 4234 12 is_stmt 0 view .LVU2360 6981 0002 B0F86020 ldrh r2, [r0, #96] 6982 .LVL630: 4235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t uhdata; 6983 .loc 1 4235 3 is_stmt 1 view .LVU2361 4236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Rx process is ongoing */ 4238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX) 6984 .loc 1 4238 3 view .LVU2362 6985 .loc 1 4238 12 is_stmt 0 view .LVU2363 6986 0006 D0F88830 ldr r3, [r0, #136] 6987 .loc 1 4238 6 view .LVU2364 6988 000a 222B cmp r3, #34 6989 000c 05D0 beq .L305 4239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR); 4241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ; 4242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask); 4243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 4244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 4245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxXferCount == 0U) 4247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupt*/ ARM GAS /tmp/cceWHrnJ.s page 255 4249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE)); 4250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 4252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */ 4255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear RxISR function pointer */ 4258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL; 4259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check current reception Mode : 4261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** If Reception till IDLE event has been selected : */ 4262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 4263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set reception type to Standard */ 4265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable IDLE interrupt */ 4268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 4269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE) == SET) 4271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear IDLE Flag */ 4273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF); 4274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 4276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx Event callback*/ 4277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize); 4278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 4279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 4280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize); 4281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 4282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 4284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Standard reception API called */ 4286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 4287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx complete callback*/ 4288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxCpltCallback(huart); 4289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 4290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/ 4291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart); 4292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 4297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear RXNE interrupt flag */ 4299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 6990 .loc 1 4299 5 is_stmt 1 view .LVU2365 6991 000e 0268 ldr r2, [r0] 6992 .LVL631: 6993 .loc 1 4299 5 is_stmt 0 view .LVU2366 6994 0010 9369 ldr r3, [r2, #24] 6995 0012 43F00803 orr r3, r3, #8 ARM GAS /tmp/cceWHrnJ.s page 256 6996 0016 9361 str r3, [r2, #24] 6997 .LVL632: 6998 .L296: 4300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 6999 .loc 1 4301 1 view .LVU2367 7000 0018 08BD pop {r3, pc} 7001 .LVL633: 7002 .L305: 4240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ; 7003 .loc 1 4240 5 is_stmt 1 view .LVU2368 4240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ; 7004 .loc 1 4240 25 is_stmt 0 view .LVU2369 7005 001a 0368 ldr r3, [r0] 7006 001c 5B6A ldr r3, [r3, #36] 7007 .LVL634: 4241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask); 7008 .loc 1 4241 5 is_stmt 1 view .LVU2370 4241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask); 7009 .loc 1 4241 9 is_stmt 0 view .LVU2371 7010 001e 816D ldr r1, [r0, #88] 7011 .LVL635: 4242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 7012 .loc 1 4242 5 is_stmt 1 view .LVU2372 4242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 7013 .loc 1 4242 12 is_stmt 0 view .LVU2373 7014 0020 1340 ands r3, r3, r2 7015 .LVL636: 4242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 7016 .loc 1 4242 10 view .LVU2374 7017 0022 0B80 strh r3, [r1] @ movhi 4243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 7018 .loc 1 4243 5 is_stmt 1 view .LVU2375 4243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 7019 .loc 1 4243 10 is_stmt 0 view .LVU2376 7020 0024 836D ldr r3, [r0, #88] 4243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 7021 .loc 1 4243 23 view .LVU2377 7022 0026 0233 adds r3, r3, #2 7023 0028 8365 str r3, [r0, #88] 4244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7024 .loc 1 4244 5 is_stmt 1 view .LVU2378 4244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7025 .loc 1 4244 10 is_stmt 0 view .LVU2379 7026 002a B0F85E30 ldrh r3, [r0, #94] 7027 002e 9BB2 uxth r3, r3 4244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7028 .loc 1 4244 23 view .LVU2380 7029 0030 013B subs r3, r3, #1 7030 0032 9BB2 uxth r3, r3 7031 0034 A0F85E30 strh r3, [r0, #94] @ movhi 4246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7032 .loc 1 4246 5 is_stmt 1 view .LVU2381 4246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7033 .loc 1 4246 14 is_stmt 0 view .LVU2382 7034 0038 B0F85E30 ldrh r3, [r0, #94] 7035 003c 9BB2 uxth r3, r3 ARM GAS /tmp/cceWHrnJ.s page 257 4246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7036 .loc 1 4246 8 view .LVU2383 7037 003e 002B cmp r3, #0 7038 0040 EAD1 bne .L296 7039 .LVL637: 7040 .L299: 4249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7041 .loc 1 4249 7 is_stmt 1 discriminator 1 view .LVU2384 7042 .LBB831: 4249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7043 .loc 1 4249 7 discriminator 1 view .LVU2385 4249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7044 .loc 1 4249 7 discriminator 1 view .LVU2386 4249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7045 .loc 1 4249 7 discriminator 1 view .LVU2387 7046 0042 0268 ldr r2, [r0] 7047 .LVL638: 7048 .LBB832: 7049 .LBI832: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7050 .loc 2 1151 31 discriminator 1 view .LVU2388 7051 .LBB833: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 7052 .loc 2 1153 5 discriminator 1 view .LVU2389 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7053 .loc 2 1155 4 discriminator 1 view .LVU2390 7054 .syntax unified 7055 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7056 0044 52E8003F ldrex r3, [r2] 7057 @ 0 "" 2 7058 .LVL639: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7059 .loc 2 1156 4 discriminator 1 view .LVU2391 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7060 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU2392 7061 .thumb 7062 .syntax unified 7063 .LBE833: 7064 .LBE832: 4249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7065 .loc 1 4249 7 discriminator 1 view .LVU2393 7066 0048 23F49073 bic r3, r3, #288 7067 .LVL640: 4249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7068 .loc 1 4249 7 is_stmt 1 discriminator 1 view .LVU2394 7069 .LBB834: 7070 .LBI834: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7071 .loc 2 1202 31 discriminator 1 view .LVU2395 7072 .LBB835: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 7073 .loc 2 1204 4 discriminator 1 view .LVU2396 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7074 .loc 2 1206 4 discriminator 1 view .LVU2397 7075 .syntax unified 7076 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7077 004c 42E80031 strex r1, r3, [r2] ARM GAS /tmp/cceWHrnJ.s page 258 7078 @ 0 "" 2 7079 .LVL641: 7080 .loc 2 1207 4 discriminator 1 view .LVU2398 7081 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU2399 7082 .thumb 7083 .syntax unified 7084 .LBE835: 7085 .LBE834: 4249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7086 .loc 1 4249 7 discriminator 1 view .LVU2400 7087 0050 0029 cmp r1, #0 7088 0052 F6D1 bne .L299 7089 .LVL642: 7090 .L300: 4249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7091 .loc 1 4249 7 discriminator 1 view .LVU2401 7092 .LBE831: 4249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7093 .loc 1 4249 7 is_stmt 1 discriminator 1 view .LVU2402 4252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7094 .loc 1 4252 7 discriminator 1 view .LVU2403 7095 .LBB836: 4252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7096 .loc 1 4252 7 discriminator 1 view .LVU2404 4252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7097 .loc 1 4252 7 discriminator 1 view .LVU2405 4252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7098 .loc 1 4252 7 discriminator 1 view .LVU2406 7099 0054 0268 ldr r2, [r0] 7100 .LVL643: 7101 .LBB837: 7102 .LBI837: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7103 .loc 2 1151 31 discriminator 1 view .LVU2407 7104 .LBB838: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 7105 .loc 2 1153 5 discriminator 1 view .LVU2408 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7106 .loc 2 1155 4 discriminator 1 view .LVU2409 7107 0056 02F10803 add r3, r2, #8 7108 .LVL644: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7109 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU2410 7110 .syntax unified 7111 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7112 005a 53E8003F ldrex r3, [r3] 7113 @ 0 "" 2 7114 .LVL645: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7115 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU2411 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7116 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU2412 7117 .thumb 7118 .syntax unified 7119 .LBE838: 7120 .LBE837: 4252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 259 7121 .loc 1 4252 7 discriminator 1 view .LVU2413 7122 005e 23F00103 bic r3, r3, #1 7123 .LVL646: 4252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7124 .loc 1 4252 7 is_stmt 1 discriminator 1 view .LVU2414 7125 .LBB839: 7126 .LBI839: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7127 .loc 2 1202 31 discriminator 1 view .LVU2415 7128 .LBB840: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 7129 .loc 2 1204 4 discriminator 1 view .LVU2416 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7130 .loc 2 1206 4 discriminator 1 view .LVU2417 7131 0062 0832 adds r2, r2, #8 7132 .LVL647: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7133 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU2418 7134 .syntax unified 7135 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7136 0064 42E80031 strex r1, r3, [r2] 7137 @ 0 "" 2 7138 .LVL648: 7139 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU2419 7140 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU2420 7141 .thumb 7142 .syntax unified 7143 .LBE840: 7144 .LBE839: 4252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7145 .loc 1 4252 7 discriminator 1 view .LVU2421 7146 0068 0029 cmp r1, #0 7147 006a F3D1 bne .L300 7148 .LBE836: 4252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7149 .loc 1 4252 7 is_stmt 1 discriminator 2 view .LVU2422 4255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7150 .loc 1 4255 7 discriminator 2 view .LVU2423 4255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7151 .loc 1 4255 22 is_stmt 0 discriminator 2 view .LVU2424 7152 006c 2023 movs r3, #32 7153 .LVL649: 4255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7154 .loc 1 4255 22 discriminator 2 view .LVU2425 7155 006e C0F88830 str r3, [r0, #136] 4258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7156 .loc 1 4258 7 is_stmt 1 discriminator 2 view .LVU2426 4258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7157 .loc 1 4258 20 is_stmt 0 discriminator 2 view .LVU2427 7158 0072 0023 movs r3, #0 7159 0074 0367 str r3, [r0, #112] 4262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7160 .loc 1 4262 7 is_stmt 1 discriminator 2 view .LVU2428 4262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7161 .loc 1 4262 16 is_stmt 0 discriminator 2 view .LVU2429 7162 0076 C36E ldr r3, [r0, #108] 4262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cceWHrnJ.s page 260 7163 .loc 1 4262 10 discriminator 2 view .LVU2430 7164 0078 012B cmp r3, #1 7165 007a 16D1 bne .L301 4265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7166 .loc 1 4265 9 is_stmt 1 view .LVU2431 4265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7167 .loc 1 4265 30 is_stmt 0 view .LVU2432 7168 007c 0023 movs r3, #0 7169 007e C366 str r3, [r0, #108] 7170 .L302: 4268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7171 .loc 1 4268 9 is_stmt 1 discriminator 1 view .LVU2433 7172 .LBB841: 4268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7173 .loc 1 4268 9 discriminator 1 view .LVU2434 4268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7174 .loc 1 4268 9 discriminator 1 view .LVU2435 4268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7175 .loc 1 4268 9 discriminator 1 view .LVU2436 7176 0080 0268 ldr r2, [r0] 7177 .LVL650: 7178 .LBB842: 7179 .LBI842: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7180 .loc 2 1151 31 discriminator 1 view .LVU2437 7181 .LBB843: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 7182 .loc 2 1153 5 discriminator 1 view .LVU2438 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7183 .loc 2 1155 4 discriminator 1 view .LVU2439 7184 .syntax unified 7185 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7186 0082 52E8003F ldrex r3, [r2] 7187 @ 0 "" 2 7188 .LVL651: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7189 .loc 2 1156 4 discriminator 1 view .LVU2440 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7190 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU2441 7191 .thumb 7192 .syntax unified 7193 .LBE843: 7194 .LBE842: 4268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7195 .loc 1 4268 9 discriminator 1 view .LVU2442 7196 0086 23F01003 bic r3, r3, #16 7197 .LVL652: 4268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7198 .loc 1 4268 9 is_stmt 1 discriminator 1 view .LVU2443 7199 .LBB844: 7200 .LBI844: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7201 .loc 2 1202 31 discriminator 1 view .LVU2444 7202 .LBB845: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 7203 .loc 2 1204 4 discriminator 1 view .LVU2445 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS /tmp/cceWHrnJ.s page 261 7204 .loc 2 1206 4 discriminator 1 view .LVU2446 7205 .syntax unified 7206 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7207 008a 42E80031 strex r1, r3, [r2] 7208 @ 0 "" 2 7209 .LVL653: 7210 .loc 2 1207 4 discriminator 1 view .LVU2447 7211 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU2448 7212 .thumb 7213 .syntax unified 7214 .LBE845: 7215 .LBE844: 4268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7216 .loc 1 4268 9 discriminator 1 view .LVU2449 7217 008e 0029 cmp r1, #0 7218 0090 F6D1 bne .L302 7219 .LBE841: 4268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7220 .loc 1 4268 9 is_stmt 1 discriminator 2 view .LVU2450 4270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7221 .loc 1 4270 9 discriminator 2 view .LVU2451 4270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7222 .loc 1 4270 13 is_stmt 0 discriminator 2 view .LVU2452 7223 0092 0368 ldr r3, [r0] 7224 .LVL654: 4270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7225 .loc 1 4270 13 discriminator 2 view .LVU2453 7226 0094 DA69 ldr r2, [r3, #28] 4270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7227 .loc 1 4270 12 discriminator 2 view .LVU2454 7228 0096 12F0100F tst r2, #16 7229 009a 01D0 beq .L303 4273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7230 .loc 1 4273 11 is_stmt 1 view .LVU2455 7231 009c 1022 movs r2, #16 7232 009e 1A62 str r2, [r3, #32] 7233 .L303: 4280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 7234 .loc 1 4280 9 view .LVU2456 7235 00a0 B0F85C10 ldrh r1, [r0, #92] 7236 00a4 FFF7FEFF bl HAL_UARTEx_RxEventCallback 7237 .LVL655: 4280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 7238 .loc 1 4280 9 is_stmt 0 view .LVU2457 7239 00a8 B6E7 b .L296 7240 .LVL656: 7241 .L301: 4291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 7242 .loc 1 4291 9 is_stmt 1 view .LVU2458 7243 00aa FFF7FEFF bl HAL_UART_RxCpltCallback 7244 .LVL657: 4291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 7245 .loc 1 4291 9 is_stmt 0 view .LVU2459 7246 00ae B3E7 b .L296 7247 .cfi_endproc 7248 .LFE396: 7250 .section .text.UART_RxISR_8BIT_FIFOEN,"ax",%progbits ARM GAS /tmp/cceWHrnJ.s page 262 7251 .align 1 7252 .syntax unified 7253 .thumb 7254 .thumb_func 7256 UART_RxISR_8BIT_FIFOEN: 7257 .LVL658: 7258 .LFB397: 4302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 4304: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. 4305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note Function is called under interruption only, once 4306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Receive_IT() 4307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 4308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 4309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 4310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_RxISR_8BIT_FIFOEN(UART_HandleTypeDef *huart) 4311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7259 .loc 1 4311 1 is_stmt 1 view -0 7260 .cfi_startproc 7261 @ args = 0, pretend = 0, frame = 0 7262 @ frame_needed = 0, uses_anonymous_args = 0 7263 .loc 1 4311 1 is_stmt 0 view .LVU2461 7264 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr} 7265 .LCFI27: 7266 .cfi_def_cfa_offset 32 7267 .cfi_offset 3, -32 7268 .cfi_offset 4, -28 7269 .cfi_offset 5, -24 7270 .cfi_offset 6, -20 7271 .cfi_offset 7, -16 7272 .cfi_offset 8, -12 7273 .cfi_offset 9, -8 7274 .cfi_offset 14, -4 4312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t uhMask = huart->Mask; 7275 .loc 1 4312 3 is_stmt 1 view .LVU2462 7276 .loc 1 4312 13 is_stmt 0 view .LVU2463 7277 0004 B0F86060 ldrh r6, [r0, #96] 7278 .LVL659: 4313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t uhdata; 7279 .loc 1 4313 3 is_stmt 1 view .LVU2464 4314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t nb_rx_data; 7280 .loc 1 4314 3 view .LVU2465 4315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t rxdatacount; 7281 .loc 1 4315 3 view .LVU2466 4316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR); 7282 .loc 1 4316 3 view .LVU2467 7283 .loc 1 4316 24 is_stmt 0 view .LVU2468 7284 0008 0368 ldr r3, [r0] 7285 .loc 1 4316 13 view .LVU2469 7286 000a DD69 ldr r5, [r3, #28] 7287 .LVL660: 4317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 7288 .loc 1 4317 3 is_stmt 1 view .LVU2470 7289 .loc 1 4317 13 is_stmt 0 view .LVU2471 7290 000c D3F80090 ldr r9, [r3] 7291 .LVL661: 4318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3); ARM GAS /tmp/cceWHrnJ.s page 263 7292 .loc 1 4318 3 is_stmt 1 view .LVU2472 7293 .loc 1 4318 13 is_stmt 0 view .LVU2473 7294 0010 D3F80880 ldr r8, [r3, #8] 7295 .LVL662: 4319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Rx process is ongoing */ 4321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX) 7296 .loc 1 4321 3 is_stmt 1 view .LVU2474 7297 .loc 1 4321 12 is_stmt 0 view .LVU2475 7298 0014 D0F88820 ldr r2, [r0, #136] 7299 .loc 1 4321 6 view .LVU2476 7300 0018 222A cmp r2, #34 7301 001a 05D0 beq .L325 4322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** nb_rx_data = huart->NbRxDataToProcess; 4324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** while ((nb_rx_data > 0U) && ((isrflags & USART_ISR_RXNE_RXFNE) != 0U)) 4325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR); 4327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask); 4328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr++; 4329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 4330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** isrflags = READ_REG(huart->Instance->ISR); 4331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If some non blocking errors occurred */ 4333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((isrflags & (USART_ISR_PE | USART_ISR_FE | USART_ISR_NE)) != 0U) 4334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART parity error interrupt occurred -------------------------------------*/ 4336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_PE) != 0U) && ((cr1its & USART_CR1_PEIE) != 0U)) 4337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_PEF); 4339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_PE; 4341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART frame error interrupt occurred --------------------------------------*/ 4344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_FE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U)) 4345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_FEF); 4347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_FE; 4349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART noise error interrupt occurred --------------------------------------*/ 4352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_NE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U)) 4353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_NEF); 4355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_NE; 4357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call UART Error Call back function if need be ----------------------------*/ 4360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ErrorCode != HAL_UART_ERROR_NONE) 4361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Non Blocking error : transfer could go on. 4363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Error is notified to user through user error callback */ 4364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 4365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered error callback*/ ARM GAS /tmp/cceWHrnJ.s page 264 4366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCallback(huart); 4367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 4368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak error callback*/ 4369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 4370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 4372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxXferCount == 0U) 4376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXFT interrupt*/ 4378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); 4379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) 4381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** and RX FIFO Threshold interrupt */ 4382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 4383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */ 4385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear RxISR function pointer */ 4388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL; 4389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check current reception Mode : 4391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** If Reception till IDLE event has been selected : */ 4392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 4393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set reception type to Standard */ 4395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable IDLE interrupt */ 4398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 4399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE) == SET) 4401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear IDLE Flag */ 4403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF); 4404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 4406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx Event callback*/ 4407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize); 4408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 4409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 4410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize); 4411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 4412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 4414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Standard reception API called */ 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 Rx complete callback*/ 4418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxCpltCallback(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 Rx complete callback*/ 4421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart); 4422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ ARM GAS /tmp/cceWHrnJ.s page 265 4423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 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 **** /* When remaining number of bytes to receive is less than the RX FIFO 4428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** threshold, next incoming frames are processed as if FIFO mode was 4429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** disabled (i.e. one interrupt per received frame). 4430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 4431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** rxdatacount = huart->RxXferCount; 4432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((rxdatacount != 0U) && (rxdatacount < huart->NbRxDataToProcess)) 4433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART RXFT interrupt*/ 4435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_RXFTIE); 4436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Update the RxISR function pointer */ 4438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = UART_RxISR_8BIT; 4439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Data Register Not Empty interrupt */ 4441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RXNEIE_RXFNEIE); 4442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 4445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear RXNE interrupt flag */ 4447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 7302 .loc 1 4447 5 is_stmt 1 view .LVU2477 7303 001c 9A69 ldr r2, [r3, #24] 7304 001e 42F00802 orr r2, r2, #8 7305 0022 9A61 str r2, [r3, #24] 7306 .LVL663: 7307 .L306: 4448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7308 .loc 1 4449 1 is_stmt 0 view .LVU2478 7309 0024 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 7310 .LVL664: 7311 .L325: 7312 .loc 1 4449 1 view .LVU2479 7313 0028 0446 mov r4, r0 4323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** while ((nb_rx_data > 0U) && ((isrflags & USART_ISR_RXNE_RXFNE) != 0U)) 7314 .loc 1 4323 5 is_stmt 1 view .LVU2480 4323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** while ((nb_rx_data > 0U) && ((isrflags & USART_ISR_RXNE_RXFNE) != 0U)) 7315 .loc 1 4323 16 is_stmt 0 view .LVU2481 7316 002a B0F86870 ldrh r7, [r0, #104] 7317 .LVL665: 4324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7318 .loc 1 4324 5 is_stmt 1 view .LVU2482 4324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7319 .loc 1 4324 11 is_stmt 0 view .LVU2483 7320 002e 08E0 b .L308 7321 .LVL666: 7322 .L312: 4360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7323 .loc 1 4360 9 is_stmt 1 view .LVU2484 4360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7324 .loc 1 4360 18 is_stmt 0 view .LVU2485 7325 0030 D4F88C30 ldr r3, [r4, #140] ARM GAS /tmp/cceWHrnJ.s page 266 4360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7326 .loc 1 4360 12 view .LVU2486 7327 0034 002B cmp r3, #0 7328 0036 4CD1 bne .L326 7329 .LVL667: 7330 .L309: 4375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7331 .loc 1 4375 7 is_stmt 1 view .LVU2487 4375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7332 .loc 1 4375 16 is_stmt 0 view .LVU2488 7333 0038 B4F85E30 ldrh r3, [r4, #94] 7334 003c 9BB2 uxth r3, r3 4375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7335 .loc 1 4375 10 view .LVU2489 7336 003e 002B cmp r3, #0 7337 0040 4ED0 beq .L314 7338 .LVL668: 7339 .L308: 4324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7340 .loc 1 4324 30 is_stmt 1 view .LVU2490 7341 0042 002F cmp r7, #0 7342 0044 00F08780 beq .L319 4324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7343 .loc 1 4324 30 is_stmt 0 discriminator 1 view .LVU2491 7344 0048 15F0200F tst r5, #32 7345 004c 00F08380 beq .L319 4326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask); 7346 .loc 1 4326 7 is_stmt 1 view .LVU2492 4326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask); 7347 .loc 1 4326 27 is_stmt 0 view .LVU2493 7348 0050 2368 ldr r3, [r4] 7349 0052 596A ldr r1, [r3, #36] 7350 .LVL669: 4327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr++; 7351 .loc 1 4327 7 is_stmt 1 view .LVU2494 4327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr++; 7352 .loc 1 4327 47 is_stmt 0 view .LVU2495 7353 0054 F3B2 uxtb r3, r6 4327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr++; 7354 .loc 1 4327 13 view .LVU2496 7355 0056 A26D ldr r2, [r4, #88] 4327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr++; 7356 .loc 1 4327 28 view .LVU2497 7357 0058 0B40 ands r3, r3, r1 4327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr++; 7358 .loc 1 4327 26 view .LVU2498 7359 005a 1370 strb r3, [r2] 4328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 7360 .loc 1 4328 7 is_stmt 1 view .LVU2499 4328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 7361 .loc 1 4328 12 is_stmt 0 view .LVU2500 7362 005c A36D ldr r3, [r4, #88] 4328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 7363 .loc 1 4328 24 view .LVU2501 7364 005e 0133 adds r3, r3, #1 7365 0060 A365 str r3, [r4, #88] 4329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** isrflags = READ_REG(huart->Instance->ISR); ARM GAS /tmp/cceWHrnJ.s page 267 7366 .loc 1 4329 7 is_stmt 1 view .LVU2502 4329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** isrflags = READ_REG(huart->Instance->ISR); 7367 .loc 1 4329 12 is_stmt 0 view .LVU2503 7368 0062 B4F85E30 ldrh r3, [r4, #94] 7369 0066 9BB2 uxth r3, r3 4329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** isrflags = READ_REG(huart->Instance->ISR); 7370 .loc 1 4329 25 view .LVU2504 7371 0068 013B subs r3, r3, #1 7372 006a 9BB2 uxth r3, r3 7373 006c A4F85E30 strh r3, [r4, #94] @ movhi 4330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7374 .loc 1 4330 7 is_stmt 1 view .LVU2505 4330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7375 .loc 1 4330 18 is_stmt 0 view .LVU2506 7376 0070 2368 ldr r3, [r4] 4330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7377 .loc 1 4330 16 view .LVU2507 7378 0072 DD69 ldr r5, [r3, #28] 7379 .LVL670: 4333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7380 .loc 1 4333 7 is_stmt 1 view .LVU2508 4333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7381 .loc 1 4333 10 is_stmt 0 view .LVU2509 7382 0074 15F0070F tst r5, #7 7383 0078 DED0 beq .L309 4336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7384 .loc 1 4336 9 is_stmt 1 view .LVU2510 4336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7385 .loc 1 4336 12 is_stmt 0 view .LVU2511 7386 007a 15F0010F tst r5, #1 7387 007e 09D0 beq .L310 4336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7388 .loc 1 4336 47 discriminator 1 view .LVU2512 7389 0080 19F4807F tst r9, #256 7390 0084 06D0 beq .L310 4338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7391 .loc 1 4338 11 is_stmt 1 view .LVU2513 7392 0086 0122 movs r2, #1 7393 0088 1A62 str r2, [r3, #32] 4340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7394 .loc 1 4340 11 view .LVU2514 4340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7395 .loc 1 4340 16 is_stmt 0 view .LVU2515 7396 008a D4F88C30 ldr r3, [r4, #140] 4340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7397 .loc 1 4340 28 view .LVU2516 7398 008e 1343 orrs r3, r3, r2 7399 0090 C4F88C30 str r3, [r4, #140] 7400 .L310: 4344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7401 .loc 1 4344 9 is_stmt 1 view .LVU2517 4344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7402 .loc 1 4344 12 is_stmt 0 view .LVU2518 7403 0094 15F0020F tst r5, #2 7404 0098 0BD0 beq .L311 4344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7405 .loc 1 4344 47 discriminator 1 view .LVU2519 ARM GAS /tmp/cceWHrnJ.s page 268 7406 009a 18F0010F tst r8, #1 7407 009e 08D0 beq .L311 4346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7408 .loc 1 4346 11 is_stmt 1 view .LVU2520 7409 00a0 2368 ldr r3, [r4] 7410 00a2 0222 movs r2, #2 7411 00a4 1A62 str r2, [r3, #32] 4348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7412 .loc 1 4348 11 view .LVU2521 4348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7413 .loc 1 4348 16 is_stmt 0 view .LVU2522 7414 00a6 D4F88C30 ldr r3, [r4, #140] 4348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7415 .loc 1 4348 28 view .LVU2523 7416 00aa 43F00403 orr r3, r3, #4 7417 00ae C4F88C30 str r3, [r4, #140] 7418 .L311: 4352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7419 .loc 1 4352 9 is_stmt 1 view .LVU2524 4352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7420 .loc 1 4352 12 is_stmt 0 view .LVU2525 7421 00b2 15F0040F tst r5, #4 7422 00b6 BBD0 beq .L312 4352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7423 .loc 1 4352 47 discriminator 1 view .LVU2526 7424 00b8 18F0010F tst r8, #1 7425 00bc B8D0 beq .L312 4354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7426 .loc 1 4354 11 is_stmt 1 view .LVU2527 7427 00be 2368 ldr r3, [r4] 7428 00c0 0422 movs r2, #4 7429 00c2 1A62 str r2, [r3, #32] 4356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7430 .loc 1 4356 11 view .LVU2528 4356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7431 .loc 1 4356 16 is_stmt 0 view .LVU2529 7432 00c4 D4F88C30 ldr r3, [r4, #140] 4356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7433 .loc 1 4356 28 view .LVU2530 7434 00c8 43F00203 orr r3, r3, #2 7435 00cc C4F88C30 str r3, [r4, #140] 7436 00d0 AEE7 b .L312 7437 .L326: 4369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 7438 .loc 1 4369 11 is_stmt 1 view .LVU2531 7439 00d2 2046 mov r0, r4 7440 00d4 FFF7FEFF bl HAL_UART_ErrorCallback 7441 .LVL671: 4371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7442 .loc 1 4371 11 view .LVU2532 4371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7443 .loc 1 4371 28 is_stmt 0 view .LVU2533 7444 00d8 0023 movs r3, #0 7445 00da C4F88C30 str r3, [r4, #140] 7446 00de ABE7 b .L309 7447 .L314: 4378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 269 7448 .loc 1 4378 9 is_stmt 1 discriminator 1 view .LVU2534 7449 .LBB846: 4378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7450 .loc 1 4378 9 discriminator 1 view .LVU2535 4378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7451 .loc 1 4378 9 discriminator 1 view .LVU2536 4378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7452 .loc 1 4378 9 discriminator 1 view .LVU2537 7453 00e0 2268 ldr r2, [r4] 7454 .LVL672: 7455 .LBB847: 7456 .LBI847: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7457 .loc 2 1151 31 discriminator 1 view .LVU2538 7458 .LBB848: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 7459 .loc 2 1153 5 discriminator 1 view .LVU2539 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7460 .loc 2 1155 4 discriminator 1 view .LVU2540 7461 .syntax unified 7462 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7463 00e2 52E8003F ldrex r3, [r2] 7464 @ 0 "" 2 7465 .LVL673: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7466 .loc 2 1156 4 discriminator 1 view .LVU2541 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7467 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU2542 7468 .thumb 7469 .syntax unified 7470 .LBE848: 7471 .LBE847: 4378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7472 .loc 1 4378 9 discriminator 1 view .LVU2543 7473 00e6 23F48073 bic r3, r3, #256 7474 .LVL674: 4378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7475 .loc 1 4378 9 is_stmt 1 discriminator 1 view .LVU2544 7476 .LBB849: 7477 .LBI849: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7478 .loc 2 1202 31 discriminator 1 view .LVU2545 7479 .LBB850: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 7480 .loc 2 1204 4 discriminator 1 view .LVU2546 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7481 .loc 2 1206 4 discriminator 1 view .LVU2547 7482 .syntax unified 7483 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7484 00ea 42E80031 strex r1, r3, [r2] 7485 @ 0 "" 2 7486 .LVL675: 7487 .loc 2 1207 4 discriminator 1 view .LVU2548 7488 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU2549 7489 .thumb 7490 .syntax unified 7491 .LBE850: ARM GAS /tmp/cceWHrnJ.s page 270 7492 .LBE849: 4378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7493 .loc 1 4378 9 discriminator 1 view .LVU2550 7494 00ee 0029 cmp r1, #0 7495 00f0 F6D1 bne .L314 7496 .LVL676: 7497 .L315: 4378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7498 .loc 1 4378 9 discriminator 1 view .LVU2551 7499 .LBE846: 4378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7500 .loc 1 4378 9 is_stmt 1 discriminator 1 view .LVU2552 4382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7501 .loc 1 4382 9 discriminator 1 view .LVU2553 7502 .LBB851: 4382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7503 .loc 1 4382 9 discriminator 1 view .LVU2554 4382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7504 .loc 1 4382 9 discriminator 1 view .LVU2555 4382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7505 .loc 1 4382 9 discriminator 1 view .LVU2556 7506 00f2 2268 ldr r2, [r4] 7507 .LVL677: 7508 .LBB852: 7509 .LBI852: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7510 .loc 2 1151 31 discriminator 1 view .LVU2557 7511 .LBB853: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 7512 .loc 2 1153 5 discriminator 1 view .LVU2558 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7513 .loc 2 1155 4 discriminator 1 view .LVU2559 7514 00f4 02F10803 add r3, r2, #8 7515 .LVL678: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7516 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU2560 7517 .syntax unified 7518 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7519 00f8 53E8003F ldrex r3, [r3] 7520 @ 0 "" 2 7521 .LVL679: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7522 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU2561 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7523 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU2562 7524 .thumb 7525 .syntax unified 7526 .LBE853: 7527 .LBE852: 4382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7528 .loc 1 4382 9 discriminator 1 view .LVU2563 7529 00fc 23F08053 bic r3, r3, #268435456 7530 0100 23F00103 bic r3, r3, #1 7531 .LVL680: 4382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7532 .loc 1 4382 9 is_stmt 1 discriminator 1 view .LVU2564 7533 .LBB854: ARM GAS /tmp/cceWHrnJ.s page 271 7534 .LBI854: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7535 .loc 2 1202 31 discriminator 1 view .LVU2565 7536 .LBB855: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 7537 .loc 2 1204 4 discriminator 1 view .LVU2566 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7538 .loc 2 1206 4 discriminator 1 view .LVU2567 7539 0104 0832 adds r2, r2, #8 7540 .LVL681: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7541 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU2568 7542 .syntax unified 7543 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7544 0106 42E80031 strex r1, r3, [r2] 7545 @ 0 "" 2 7546 .LVL682: 7547 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU2569 7548 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU2570 7549 .thumb 7550 .syntax unified 7551 .LBE855: 7552 .LBE854: 4382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7553 .loc 1 4382 9 discriminator 1 view .LVU2571 7554 010a 0029 cmp r1, #0 7555 010c F1D1 bne .L315 7556 .LBE851: 4382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7557 .loc 1 4382 9 is_stmt 1 discriminator 2 view .LVU2572 4385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7558 .loc 1 4385 9 discriminator 2 view .LVU2573 4385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7559 .loc 1 4385 24 is_stmt 0 discriminator 2 view .LVU2574 7560 010e 2023 movs r3, #32 7561 .LVL683: 4385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7562 .loc 1 4385 24 discriminator 2 view .LVU2575 7563 0110 C4F88830 str r3, [r4, #136] 4388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7564 .loc 1 4388 9 is_stmt 1 discriminator 2 view .LVU2576 4388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7565 .loc 1 4388 22 is_stmt 0 discriminator 2 view .LVU2577 7566 0114 0023 movs r3, #0 7567 0116 2367 str r3, [r4, #112] 4392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7568 .loc 1 4392 9 is_stmt 1 discriminator 2 view .LVU2578 4392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7569 .loc 1 4392 18 is_stmt 0 discriminator 2 view .LVU2579 7570 0118 E36E ldr r3, [r4, #108] 4392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7571 .loc 1 4392 12 discriminator 2 view .LVU2580 7572 011a 012B cmp r3, #1 7573 011c 03D0 beq .L327 4421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 7574 .loc 1 4421 11 is_stmt 1 view .LVU2581 7575 011e 2046 mov r0, r4 ARM GAS /tmp/cceWHrnJ.s page 272 7576 0120 FFF7FEFF bl HAL_UART_RxCpltCallback 7577 .LVL684: 7578 0124 8DE7 b .L308 7579 .L327: 4395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7580 .loc 1 4395 11 view .LVU2582 4395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7581 .loc 1 4395 32 is_stmt 0 view .LVU2583 7582 0126 0023 movs r3, #0 7583 0128 E366 str r3, [r4, #108] 7584 .L317: 4398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7585 .loc 1 4398 11 is_stmt 1 discriminator 1 view .LVU2584 7586 .LBB856: 4398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7587 .loc 1 4398 11 discriminator 1 view .LVU2585 4398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7588 .loc 1 4398 11 discriminator 1 view .LVU2586 4398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7589 .loc 1 4398 11 discriminator 1 view .LVU2587 7590 012a 2268 ldr r2, [r4] 7591 .LVL685: 7592 .LBB857: 7593 .LBI857: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7594 .loc 2 1151 31 discriminator 1 view .LVU2588 7595 .LBB858: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 7596 .loc 2 1153 5 discriminator 1 view .LVU2589 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7597 .loc 2 1155 4 discriminator 1 view .LVU2590 7598 .syntax unified 7599 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7600 012c 52E8003F ldrex r3, [r2] 7601 @ 0 "" 2 7602 .LVL686: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7603 .loc 2 1156 4 discriminator 1 view .LVU2591 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7604 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU2592 7605 .thumb 7606 .syntax unified 7607 .LBE858: 7608 .LBE857: 4398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7609 .loc 1 4398 11 discriminator 1 view .LVU2593 7610 0130 23F01003 bic r3, r3, #16 7611 .LVL687: 4398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7612 .loc 1 4398 11 is_stmt 1 discriminator 1 view .LVU2594 7613 .LBB859: 7614 .LBI859: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7615 .loc 2 1202 31 discriminator 1 view .LVU2595 7616 .LBB860: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 7617 .loc 2 1204 4 discriminator 1 view .LVU2596 ARM GAS /tmp/cceWHrnJ.s page 273 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7618 .loc 2 1206 4 discriminator 1 view .LVU2597 7619 .syntax unified 7620 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7621 0134 42E80031 strex r1, r3, [r2] 7622 @ 0 "" 2 7623 .LVL688: 7624 .loc 2 1207 4 discriminator 1 view .LVU2598 7625 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU2599 7626 .thumb 7627 .syntax unified 7628 .LBE860: 7629 .LBE859: 4398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7630 .loc 1 4398 11 discriminator 1 view .LVU2600 7631 0138 0029 cmp r1, #0 7632 013a F6D1 bne .L317 7633 .LBE856: 4398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7634 .loc 1 4398 11 is_stmt 1 discriminator 2 view .LVU2601 4400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7635 .loc 1 4400 11 discriminator 2 view .LVU2602 4400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7636 .loc 1 4400 15 is_stmt 0 discriminator 2 view .LVU2603 7637 013c 2368 ldr r3, [r4] 7638 .LVL689: 4400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7639 .loc 1 4400 15 discriminator 2 view .LVU2604 7640 013e DA69 ldr r2, [r3, #28] 4400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7641 .loc 1 4400 14 discriminator 2 view .LVU2605 7642 0140 12F0100F tst r2, #16 7643 0144 01D0 beq .L318 4403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7644 .loc 1 4403 13 is_stmt 1 view .LVU2606 7645 0146 1022 movs r2, #16 7646 0148 1A62 str r2, [r3, #32] 7647 .L318: 4410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 7648 .loc 1 4410 11 view .LVU2607 7649 014a B4F85C10 ldrh r1, [r4, #92] 7650 014e 2046 mov r0, r4 7651 0150 FFF7FEFF bl HAL_UARTEx_RxEventCallback 7652 .LVL690: 7653 0154 75E7 b .L308 7654 .LVL691: 7655 .L319: 4431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((rxdatacount != 0U) && (rxdatacount < huart->NbRxDataToProcess)) 7656 .loc 1 4431 5 view .LVU2608 4431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((rxdatacount != 0U) && (rxdatacount < huart->NbRxDataToProcess)) 7657 .loc 1 4431 17 is_stmt 0 view .LVU2609 7658 0156 B4F85E30 ldrh r3, [r4, #94] 7659 015a 9BB2 uxth r3, r3 7660 .LVL692: 4432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7661 .loc 1 4432 5 is_stmt 1 view .LVU2610 4432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cceWHrnJ.s page 274 7662 .loc 1 4432 8 is_stmt 0 view .LVU2611 7663 015c 002B cmp r3, #0 7664 015e 3FF461AF beq .L306 4432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7665 .loc 1 4432 52 discriminator 1 view .LVU2612 7666 0162 B4F86820 ldrh r2, [r4, #104] 4432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7667 .loc 1 4432 29 discriminator 1 view .LVU2613 7668 0166 9A42 cmp r2, r3 7669 0168 7FF65CAF bls .L306 7670 .LVL693: 7671 .L322: 4435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7672 .loc 1 4435 7 is_stmt 1 discriminator 1 view .LVU2614 7673 .LBB861: 4435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7674 .loc 1 4435 7 discriminator 1 view .LVU2615 4435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7675 .loc 1 4435 7 discriminator 1 view .LVU2616 4435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7676 .loc 1 4435 7 discriminator 1 view .LVU2617 7677 016c 2268 ldr r2, [r4] 7678 .LVL694: 7679 .LBB862: 7680 .LBI862: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7681 .loc 2 1151 31 discriminator 1 view .LVU2618 7682 .LBB863: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 7683 .loc 2 1153 5 discriminator 1 view .LVU2619 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7684 .loc 2 1155 4 discriminator 1 view .LVU2620 7685 016e 02F10803 add r3, r2, #8 7686 .LVL695: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7687 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU2621 7688 .syntax unified 7689 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7690 0172 53E8003F ldrex r3, [r3] 7691 @ 0 "" 2 7692 .LVL696: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7693 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU2622 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7694 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU2623 7695 .thumb 7696 .syntax unified 7697 .LBE863: 7698 .LBE862: 4435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7699 .loc 1 4435 7 discriminator 1 view .LVU2624 7700 0176 23F08053 bic r3, r3, #268435456 7701 .LVL697: 4435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7702 .loc 1 4435 7 is_stmt 1 discriminator 1 view .LVU2625 7703 .LBB864: 7704 .LBI864: ARM GAS /tmp/cceWHrnJ.s page 275 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7705 .loc 2 1202 31 discriminator 1 view .LVU2626 7706 .LBB865: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 7707 .loc 2 1204 4 discriminator 1 view .LVU2627 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7708 .loc 2 1206 4 discriminator 1 view .LVU2628 7709 017a 0832 adds r2, r2, #8 7710 .LVL698: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7711 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU2629 7712 .syntax unified 7713 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7714 017c 42E80031 strex r1, r3, [r2] 7715 @ 0 "" 2 7716 .LVL699: 7717 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU2630 7718 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU2631 7719 .thumb 7720 .syntax unified 7721 .LBE865: 7722 .LBE864: 4435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7723 .loc 1 4435 7 discriminator 1 view .LVU2632 7724 0180 0029 cmp r1, #0 7725 0182 F3D1 bne .L322 7726 .LBE861: 4435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7727 .loc 1 4435 7 is_stmt 1 discriminator 2 view .LVU2633 4438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7728 .loc 1 4438 7 discriminator 2 view .LVU2634 4438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7729 .loc 1 4438 20 is_stmt 0 discriminator 2 view .LVU2635 7730 0184 054B ldr r3, .L328 7731 .LVL700: 4438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7732 .loc 1 4438 20 discriminator 2 view .LVU2636 7733 0186 2367 str r3, [r4, #112] 7734 .L323: 4441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7735 .loc 1 4441 7 is_stmt 1 discriminator 1 view .LVU2637 7736 .LBB866: 4441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7737 .loc 1 4441 7 discriminator 1 view .LVU2638 4441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7738 .loc 1 4441 7 discriminator 1 view .LVU2639 4441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7739 .loc 1 4441 7 discriminator 1 view .LVU2640 7740 0188 2268 ldr r2, [r4] 7741 .LVL701: 7742 .LBB867: 7743 .LBI867: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7744 .loc 2 1151 31 discriminator 1 view .LVU2641 7745 .LBB868: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 7746 .loc 2 1153 5 discriminator 1 view .LVU2642 ARM GAS /tmp/cceWHrnJ.s page 276 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7747 .loc 2 1155 4 discriminator 1 view .LVU2643 7748 .syntax unified 7749 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7750 018a 52E8003F ldrex r3, [r2] 7751 @ 0 "" 2 7752 .LVL702: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7753 .loc 2 1156 4 discriminator 1 view .LVU2644 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7754 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU2645 7755 .thumb 7756 .syntax unified 7757 .LBE868: 7758 .LBE867: 4441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7759 .loc 1 4441 7 discriminator 1 view .LVU2646 7760 018e 43F02003 orr r3, r3, #32 7761 .LVL703: 4441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7762 .loc 1 4441 7 is_stmt 1 discriminator 1 view .LVU2647 7763 .LBB869: 7764 .LBI869: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7765 .loc 2 1202 31 discriminator 1 view .LVU2648 7766 .LBB870: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 7767 .loc 2 1204 4 discriminator 1 view .LVU2649 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7768 .loc 2 1206 4 discriminator 1 view .LVU2650 7769 .syntax unified 7770 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7771 0192 42E80031 strex r1, r3, [r2] 7772 @ 0 "" 2 7773 .LVL704: 7774 .loc 2 1207 4 discriminator 1 view .LVU2651 7775 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU2652 7776 .thumb 7777 .syntax unified 7778 .LBE870: 7779 .LBE869: 4441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7780 .loc 1 4441 7 discriminator 1 view .LVU2653 7781 0196 0029 cmp r1, #0 7782 0198 F6D1 bne .L323 7783 019a 43E7 b .L306 7784 .L329: 7785 .align 2 7786 .L328: 7787 019c 00000000 .word UART_RxISR_8BIT 7788 .LBE866: 7789 .cfi_endproc 7790 .LFE397: 7792 .section .text.UART_RxISR_16BIT_FIFOEN,"ax",%progbits 7793 .align 1 7794 .syntax unified 7795 .thumb ARM GAS /tmp/cceWHrnJ.s page 277 7796 .thumb_func 7798 UART_RxISR_16BIT_FIFOEN: 7799 .LVL705: 7800 .LFB398: 4450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 4452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief RX interrupt handler for 9 bits data word length and FIFO mode is enabled. 4453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note Function is called under interruption only, once 4454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Receive_IT() 4455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle. 4456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None 4457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 4458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_RxISR_16BIT_FIFOEN(UART_HandleTypeDef *huart) 4459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7801 .loc 1 4459 1 is_stmt 1 view -0 7802 .cfi_startproc 7803 @ args = 0, pretend = 0, frame = 0 7804 @ frame_needed = 0, uses_anonymous_args = 0 7805 .loc 1 4459 1 is_stmt 0 view .LVU2655 7806 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr} 7807 .LCFI28: 7808 .cfi_def_cfa_offset 32 7809 .cfi_offset 3, -32 7810 .cfi_offset 4, -28 7811 .cfi_offset 5, -24 7812 .cfi_offset 6, -20 7813 .cfi_offset 7, -16 7814 .cfi_offset 8, -12 7815 .cfi_offset 9, -8 7816 .cfi_offset 14, -4 4460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t *tmp; 7817 .loc 1 4460 3 is_stmt 1 view .LVU2656 4461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t uhMask = huart->Mask; 7818 .loc 1 4461 3 view .LVU2657 7819 .loc 1 4461 13 is_stmt 0 view .LVU2658 7820 0004 B0F86060 ldrh r6, [r0, #96] 7821 .LVL706: 4462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t uhdata; 7822 .loc 1 4462 3 is_stmt 1 view .LVU2659 4463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t nb_rx_data; 7823 .loc 1 4463 3 view .LVU2660 4464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t rxdatacount; 7824 .loc 1 4464 3 view .LVU2661 4465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR); 7825 .loc 1 4465 3 view .LVU2662 7826 .loc 1 4465 24 is_stmt 0 view .LVU2663 7827 0008 0368 ldr r3, [r0] 7828 .loc 1 4465 13 view .LVU2664 7829 000a DD69 ldr r5, [r3, #28] 7830 .LVL707: 4466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 7831 .loc 1 4466 3 is_stmt 1 view .LVU2665 7832 .loc 1 4466 13 is_stmt 0 view .LVU2666 7833 000c D3F80090 ldr r9, [r3] 7834 .LVL708: 4467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3); 7835 .loc 1 4467 3 is_stmt 1 view .LVU2667 ARM GAS /tmp/cceWHrnJ.s page 278 7836 .loc 1 4467 13 is_stmt 0 view .LVU2668 7837 0010 D3F80880 ldr r8, [r3, #8] 7838 .LVL709: 4468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Rx process is ongoing */ 4470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX) 7839 .loc 1 4470 3 is_stmt 1 view .LVU2669 7840 .loc 1 4470 12 is_stmt 0 view .LVU2670 7841 0014 D0F88820 ldr r2, [r0, #136] 7842 .loc 1 4470 6 view .LVU2671 7843 0018 222A cmp r2, #34 7844 001a 05D0 beq .L349 4471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** nb_rx_data = huart->NbRxDataToProcess; 4473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** while ((nb_rx_data > 0U) && ((isrflags & USART_ISR_RXNE_RXFNE) != 0U)) 4474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR); 4476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ; 4477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask); 4478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 4479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 4480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** isrflags = READ_REG(huart->Instance->ISR); 4481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If some non blocking errors occurred */ 4483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((isrflags & (USART_ISR_PE | USART_ISR_FE | USART_ISR_NE)) != 0U) 4484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART parity error interrupt occurred -------------------------------------*/ 4486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_PE) != 0U) && ((cr1its & USART_CR1_PEIE) != 0U)) 4487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_PEF); 4489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_PE; 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 **** /* UART frame error interrupt occurred --------------------------------------*/ 4494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_FE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U)) 4495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_FEF); 4497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_FE; 4499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART noise error interrupt occurred --------------------------------------*/ 4502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_NE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U)) 4503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_NEF); 4505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_NE; 4507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call UART Error Call back function if need be ----------------------------*/ 4510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ErrorCode != HAL_UART_ERROR_NONE) 4511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Non Blocking error : transfer could go on. 4513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Error is notified to user through user error callback */ 4514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 4515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered error callback*/ ARM GAS /tmp/cceWHrnJ.s page 279 4516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCallback(huart); 4517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 4518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak error callback*/ 4519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 4520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 4522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxXferCount == 0U) 4526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXFT interrupt*/ 4528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); 4529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) 4531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** and RX FIFO Threshold interrupt */ 4532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 4533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */ 4535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear RxISR function pointer */ 4538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL; 4539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check current reception Mode : 4541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** If Reception till IDLE event has been selected : */ 4542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 4543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set reception type to Standard */ 4545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable IDLE interrupt */ 4548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 4549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE) == SET) 4551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear IDLE Flag */ 4553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF); 4554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 4556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx Event callback*/ 4557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize); 4558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 4559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 4560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize); 4561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 4562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 4564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Standard reception API called */ 4566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 4567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx complete callback*/ 4568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxCpltCallback(huart); 4569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else 4570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/ 4571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart); 4572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ ARM GAS /tmp/cceWHrnJ.s page 280 4573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 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 **** 4577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* When remaining number of bytes to receive is less than the RX FIFO 4578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** threshold, next incoming frames are processed as if FIFO mode was 4579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** disabled (i.e. one interrupt per received frame). 4580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */ 4581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** rxdatacount = huart->RxXferCount; 4582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((rxdatacount != 0U) && (rxdatacount < huart->NbRxDataToProcess)) 4583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART RXFT interrupt*/ 4585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_RXFTIE); 4586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Update the RxISR function pointer */ 4588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = UART_RxISR_16BIT; 4589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 4590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Data Register Not Empty interrupt */ 4591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RXNEIE_RXFNEIE); 4592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else 4595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 4596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear RXNE interrupt flag */ 4597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 7845 .loc 1 4597 5 is_stmt 1 view .LVU2672 7846 001c 9A69 ldr r2, [r3, #24] 7847 001e 42F00802 orr r2, r2, #8 7848 0022 9A61 str r2, [r3, #24] 7849 .LVL710: 7850 .L330: 4598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 4599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7851 .loc 1 4599 1 is_stmt 0 view .LVU2673 7852 0024 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 7853 .LVL711: 7854 .L349: 7855 .loc 1 4599 1 view .LVU2674 7856 0028 0446 mov r4, r0 4472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** while ((nb_rx_data > 0U) && ((isrflags & USART_ISR_RXNE_RXFNE) != 0U)) 7857 .loc 1 4472 5 is_stmt 1 view .LVU2675 4472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** while ((nb_rx_data > 0U) && ((isrflags & USART_ISR_RXNE_RXFNE) != 0U)) 7858 .loc 1 4472 16 is_stmt 0 view .LVU2676 7859 002a B0F86870 ldrh r7, [r0, #104] 7860 .LVL712: 4473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7861 .loc 1 4473 5 is_stmt 1 view .LVU2677 4473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7862 .loc 1 4473 11 is_stmt 0 view .LVU2678 7863 002e 08E0 b .L332 7864 .LVL713: 7865 .L336: 4510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7866 .loc 1 4510 9 is_stmt 1 view .LVU2679 4510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7867 .loc 1 4510 18 is_stmt 0 view .LVU2680 7868 0030 D4F88C30 ldr r3, [r4, #140] ARM GAS /tmp/cceWHrnJ.s page 281 4510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7869 .loc 1 4510 12 view .LVU2681 7870 0034 002B cmp r3, #0 7871 0036 4BD1 bne .L350 7872 .L333: 4525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7873 .loc 1 4525 7 is_stmt 1 view .LVU2682 4525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7874 .loc 1 4525 16 is_stmt 0 view .LVU2683 7875 0038 B4F85E30 ldrh r3, [r4, #94] 7876 003c 9BB2 uxth r3, r3 4525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7877 .loc 1 4525 10 view .LVU2684 7878 003e 002B cmp r3, #0 7879 0040 4DD0 beq .L338 7880 .LVL714: 7881 .L332: 4473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7882 .loc 1 4473 30 is_stmt 1 view .LVU2685 7883 0042 002F cmp r7, #0 7884 0044 00F08680 beq .L343 4473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7885 .loc 1 4473 30 is_stmt 0 discriminator 1 view .LVU2686 7886 0048 15F0200F tst r5, #32 7887 004c 00F08280 beq .L343 4475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ; 7888 .loc 1 4475 7 is_stmt 1 view .LVU2687 4475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ; 7889 .loc 1 4475 27 is_stmt 0 view .LVU2688 7890 0050 2368 ldr r3, [r4] 7891 0052 5B6A ldr r3, [r3, #36] 7892 .LVL715: 4476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask); 7893 .loc 1 4476 7 is_stmt 1 view .LVU2689 4476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask); 7894 .loc 1 4476 11 is_stmt 0 view .LVU2690 7895 0054 A26D ldr r2, [r4, #88] 7896 .LVL716: 4477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 7897 .loc 1 4477 7 is_stmt 1 view .LVU2691 4477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 7898 .loc 1 4477 14 is_stmt 0 view .LVU2692 7899 0056 3340 ands r3, r3, r6 7900 .LVL717: 4477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 7901 .loc 1 4477 12 view .LVU2693 7902 0058 1380 strh r3, [r2] @ movhi 4478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 7903 .loc 1 4478 7 is_stmt 1 view .LVU2694 4478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 7904 .loc 1 4478 12 is_stmt 0 view .LVU2695 7905 005a A36D ldr r3, [r4, #88] 4478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--; 7906 .loc 1 4478 25 view .LVU2696 7907 005c 0233 adds r3, r3, #2 7908 005e A365 str r3, [r4, #88] 4479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** isrflags = READ_REG(huart->Instance->ISR); ARM GAS /tmp/cceWHrnJ.s page 282 7909 .loc 1 4479 7 is_stmt 1 view .LVU2697 4479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** isrflags = READ_REG(huart->Instance->ISR); 7910 .loc 1 4479 12 is_stmt 0 view .LVU2698 7911 0060 B4F85E30 ldrh r3, [r4, #94] 7912 0064 9BB2 uxth r3, r3 4479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** isrflags = READ_REG(huart->Instance->ISR); 7913 .loc 1 4479 25 view .LVU2699 7914 0066 013B subs r3, r3, #1 7915 0068 9BB2 uxth r3, r3 7916 006a A4F85E30 strh r3, [r4, #94] @ movhi 4480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7917 .loc 1 4480 7 is_stmt 1 view .LVU2700 4480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7918 .loc 1 4480 18 is_stmt 0 view .LVU2701 7919 006e 2368 ldr r3, [r4] 4480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7920 .loc 1 4480 16 view .LVU2702 7921 0070 DD69 ldr r5, [r3, #28] 7922 .LVL718: 4483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7923 .loc 1 4483 7 is_stmt 1 view .LVU2703 4483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7924 .loc 1 4483 10 is_stmt 0 view .LVU2704 7925 0072 15F0070F tst r5, #7 7926 0076 DFD0 beq .L333 4486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7927 .loc 1 4486 9 is_stmt 1 view .LVU2705 4486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7928 .loc 1 4486 12 is_stmt 0 view .LVU2706 7929 0078 15F0010F tst r5, #1 7930 007c 09D0 beq .L334 4486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7931 .loc 1 4486 47 discriminator 1 view .LVU2707 7932 007e 19F4807F tst r9, #256 7933 0082 06D0 beq .L334 4488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7934 .loc 1 4488 11 is_stmt 1 view .LVU2708 7935 0084 0122 movs r2, #1 7936 .LVL719: 4488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7937 .loc 1 4488 11 is_stmt 0 view .LVU2709 7938 0086 1A62 str r2, [r3, #32] 4490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7939 .loc 1 4490 11 is_stmt 1 view .LVU2710 4490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7940 .loc 1 4490 16 is_stmt 0 view .LVU2711 7941 0088 D4F88C30 ldr r3, [r4, #140] 4490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7942 .loc 1 4490 28 view .LVU2712 7943 008c 1343 orrs r3, r3, r2 7944 008e C4F88C30 str r3, [r4, #140] 7945 .L334: 4494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7946 .loc 1 4494 9 is_stmt 1 view .LVU2713 4494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7947 .loc 1 4494 12 is_stmt 0 view .LVU2714 7948 0092 15F0020F tst r5, #2 ARM GAS /tmp/cceWHrnJ.s page 283 7949 0096 0BD0 beq .L335 4494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7950 .loc 1 4494 47 discriminator 1 view .LVU2715 7951 0098 18F0010F tst r8, #1 7952 009c 08D0 beq .L335 4496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7953 .loc 1 4496 11 is_stmt 1 view .LVU2716 7954 009e 2368 ldr r3, [r4] 7955 00a0 0222 movs r2, #2 7956 00a2 1A62 str r2, [r3, #32] 4498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7957 .loc 1 4498 11 view .LVU2717 4498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7958 .loc 1 4498 16 is_stmt 0 view .LVU2718 7959 00a4 D4F88C30 ldr r3, [r4, #140] 4498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7960 .loc 1 4498 28 view .LVU2719 7961 00a8 43F00403 orr r3, r3, #4 7962 00ac C4F88C30 str r3, [r4, #140] 7963 .L335: 4502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7964 .loc 1 4502 9 is_stmt 1 view .LVU2720 4502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7965 .loc 1 4502 12 is_stmt 0 view .LVU2721 7966 00b0 15F0040F tst r5, #4 7967 00b4 BCD0 beq .L336 4502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 7968 .loc 1 4502 47 discriminator 1 view .LVU2722 7969 00b6 18F0010F tst r8, #1 7970 00ba B9D0 beq .L336 4504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7971 .loc 1 4504 11 is_stmt 1 view .LVU2723 7972 00bc 2368 ldr r3, [r4] 7973 00be 0422 movs r2, #4 7974 00c0 1A62 str r2, [r3, #32] 4506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7975 .loc 1 4506 11 view .LVU2724 4506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7976 .loc 1 4506 16 is_stmt 0 view .LVU2725 7977 00c2 D4F88C30 ldr r3, [r4, #140] 4506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7978 .loc 1 4506 28 view .LVU2726 7979 00c6 43F00203 orr r3, r3, #2 7980 00ca C4F88C30 str r3, [r4, #140] 7981 00ce AFE7 b .L336 7982 .L350: 4519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 7983 .loc 1 4519 11 is_stmt 1 view .LVU2727 7984 00d0 2046 mov r0, r4 7985 00d2 FFF7FEFF bl HAL_UART_ErrorCallback 7986 .LVL720: 4521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7987 .loc 1 4521 11 view .LVU2728 4521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 7988 .loc 1 4521 28 is_stmt 0 view .LVU2729 7989 00d6 0023 movs r3, #0 7990 00d8 C4F88C30 str r3, [r4, #140] ARM GAS /tmp/cceWHrnJ.s page 284 7991 00dc ACE7 b .L333 7992 .L338: 4528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7993 .loc 1 4528 9 is_stmt 1 discriminator 1 view .LVU2730 7994 .LBB871: 4528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7995 .loc 1 4528 9 discriminator 1 view .LVU2731 4528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7996 .loc 1 4528 9 discriminator 1 view .LVU2732 4528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 7997 .loc 1 4528 9 discriminator 1 view .LVU2733 7998 00de 2268 ldr r2, [r4] 7999 .LVL721: 8000 .LBB872: 8001 .LBI872: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8002 .loc 2 1151 31 discriminator 1 view .LVU2734 8003 .LBB873: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 8004 .loc 2 1153 5 discriminator 1 view .LVU2735 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8005 .loc 2 1155 4 discriminator 1 view .LVU2736 8006 .syntax unified 8007 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8008 00e0 52E8003F ldrex r3, [r2] 8009 @ 0 "" 2 8010 .LVL722: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8011 .loc 2 1156 4 discriminator 1 view .LVU2737 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8012 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU2738 8013 .thumb 8014 .syntax unified 8015 .LBE873: 8016 .LBE872: 4528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8017 .loc 1 4528 9 discriminator 1 view .LVU2739 8018 00e4 23F48073 bic r3, r3, #256 8019 .LVL723: 4528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8020 .loc 1 4528 9 is_stmt 1 discriminator 1 view .LVU2740 8021 .LBB874: 8022 .LBI874: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8023 .loc 2 1202 31 discriminator 1 view .LVU2741 8024 .LBB875: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 8025 .loc 2 1204 4 discriminator 1 view .LVU2742 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8026 .loc 2 1206 4 discriminator 1 view .LVU2743 8027 .syntax unified 8028 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8029 00e8 42E80031 strex r1, r3, [r2] 8030 @ 0 "" 2 8031 .LVL724: 8032 .loc 2 1207 4 discriminator 1 view .LVU2744 8033 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU2745 ARM GAS /tmp/cceWHrnJ.s page 285 8034 .thumb 8035 .syntax unified 8036 .LBE875: 8037 .LBE874: 4528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8038 .loc 1 4528 9 discriminator 1 view .LVU2746 8039 00ec 0029 cmp r1, #0 8040 00ee F6D1 bne .L338 8041 .LVL725: 8042 .L339: 4528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8043 .loc 1 4528 9 discriminator 1 view .LVU2747 8044 .LBE871: 4528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8045 .loc 1 4528 9 is_stmt 1 discriminator 1 view .LVU2748 4532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8046 .loc 1 4532 9 discriminator 1 view .LVU2749 8047 .LBB876: 4532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8048 .loc 1 4532 9 discriminator 1 view .LVU2750 4532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8049 .loc 1 4532 9 discriminator 1 view .LVU2751 4532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8050 .loc 1 4532 9 discriminator 1 view .LVU2752 8051 00f0 2268 ldr r2, [r4] 8052 .LVL726: 8053 .LBB877: 8054 .LBI877: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8055 .loc 2 1151 31 discriminator 1 view .LVU2753 8056 .LBB878: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 8057 .loc 2 1153 5 discriminator 1 view .LVU2754 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8058 .loc 2 1155 4 discriminator 1 view .LVU2755 8059 00f2 02F10803 add r3, r2, #8 8060 .LVL727: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8061 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU2756 8062 .syntax unified 8063 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8064 00f6 53E8003F ldrex r3, [r3] 8065 @ 0 "" 2 8066 .LVL728: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8067 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU2757 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8068 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU2758 8069 .thumb 8070 .syntax unified 8071 .LBE878: 8072 .LBE877: 4532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8073 .loc 1 4532 9 discriminator 1 view .LVU2759 8074 00fa 23F08053 bic r3, r3, #268435456 8075 00fe 23F00103 bic r3, r3, #1 8076 .LVL729: ARM GAS /tmp/cceWHrnJ.s page 286 4532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8077 .loc 1 4532 9 is_stmt 1 discriminator 1 view .LVU2760 8078 .LBB879: 8079 .LBI879: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8080 .loc 2 1202 31 discriminator 1 view .LVU2761 8081 .LBB880: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 8082 .loc 2 1204 4 discriminator 1 view .LVU2762 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8083 .loc 2 1206 4 discriminator 1 view .LVU2763 8084 0102 0832 adds r2, r2, #8 8085 .LVL730: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8086 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU2764 8087 .syntax unified 8088 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8089 0104 42E80031 strex r1, r3, [r2] 8090 @ 0 "" 2 8091 .LVL731: 8092 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU2765 8093 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU2766 8094 .thumb 8095 .syntax unified 8096 .LBE880: 8097 .LBE879: 4532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8098 .loc 1 4532 9 discriminator 1 view .LVU2767 8099 0108 0029 cmp r1, #0 8100 010a F1D1 bne .L339 8101 .LBE876: 4532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8102 .loc 1 4532 9 is_stmt 1 discriminator 2 view .LVU2768 4535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8103 .loc 1 4535 9 discriminator 2 view .LVU2769 4535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8104 .loc 1 4535 24 is_stmt 0 discriminator 2 view .LVU2770 8105 010c 2023 movs r3, #32 8106 .LVL732: 4535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8107 .loc 1 4535 24 discriminator 2 view .LVU2771 8108 010e C4F88830 str r3, [r4, #136] 4538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8109 .loc 1 4538 9 is_stmt 1 discriminator 2 view .LVU2772 4538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8110 .loc 1 4538 22 is_stmt 0 discriminator 2 view .LVU2773 8111 0112 0023 movs r3, #0 8112 0114 2367 str r3, [r4, #112] 4542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8113 .loc 1 4542 9 is_stmt 1 discriminator 2 view .LVU2774 4542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8114 .loc 1 4542 18 is_stmt 0 discriminator 2 view .LVU2775 8115 0116 E36E ldr r3, [r4, #108] 4542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8116 .loc 1 4542 12 discriminator 2 view .LVU2776 8117 0118 012B cmp r3, #1 8118 011a 03D0 beq .L351 ARM GAS /tmp/cceWHrnJ.s page 287 4571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 8119 .loc 1 4571 11 is_stmt 1 view .LVU2777 8120 011c 2046 mov r0, r4 8121 011e FFF7FEFF bl HAL_UART_RxCpltCallback 8122 .LVL733: 8123 0122 8EE7 b .L332 8124 .L351: 4545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8125 .loc 1 4545 11 view .LVU2778 4545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8126 .loc 1 4545 32 is_stmt 0 view .LVU2779 8127 0124 0023 movs r3, #0 8128 0126 E366 str r3, [r4, #108] 8129 .L341: 4548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8130 .loc 1 4548 11 is_stmt 1 discriminator 1 view .LVU2780 8131 .LBB881: 4548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8132 .loc 1 4548 11 discriminator 1 view .LVU2781 4548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8133 .loc 1 4548 11 discriminator 1 view .LVU2782 4548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8134 .loc 1 4548 11 discriminator 1 view .LVU2783 8135 0128 2268 ldr r2, [r4] 8136 .LVL734: 8137 .LBB882: 8138 .LBI882: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8139 .loc 2 1151 31 discriminator 1 view .LVU2784 8140 .LBB883: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 8141 .loc 2 1153 5 discriminator 1 view .LVU2785 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8142 .loc 2 1155 4 discriminator 1 view .LVU2786 8143 .syntax unified 8144 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8145 012a 52E8003F ldrex r3, [r2] 8146 @ 0 "" 2 8147 .LVL735: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8148 .loc 2 1156 4 discriminator 1 view .LVU2787 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8149 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU2788 8150 .thumb 8151 .syntax unified 8152 .LBE883: 8153 .LBE882: 4548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8154 .loc 1 4548 11 discriminator 1 view .LVU2789 8155 012e 23F01003 bic r3, r3, #16 8156 .LVL736: 4548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8157 .loc 1 4548 11 is_stmt 1 discriminator 1 view .LVU2790 8158 .LBB884: 8159 .LBI884: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8160 .loc 2 1202 31 discriminator 1 view .LVU2791 ARM GAS /tmp/cceWHrnJ.s page 288 8161 .LBB885: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 8162 .loc 2 1204 4 discriminator 1 view .LVU2792 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8163 .loc 2 1206 4 discriminator 1 view .LVU2793 8164 .syntax unified 8165 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8166 0132 42E80031 strex r1, r3, [r2] 8167 @ 0 "" 2 8168 .LVL737: 8169 .loc 2 1207 4 discriminator 1 view .LVU2794 8170 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU2795 8171 .thumb 8172 .syntax unified 8173 .LBE885: 8174 .LBE884: 4548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8175 .loc 1 4548 11 discriminator 1 view .LVU2796 8176 0136 0029 cmp r1, #0 8177 0138 F6D1 bne .L341 8178 .LBE881: 4548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8179 .loc 1 4548 11 is_stmt 1 discriminator 2 view .LVU2797 4550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8180 .loc 1 4550 11 discriminator 2 view .LVU2798 4550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8181 .loc 1 4550 15 is_stmt 0 discriminator 2 view .LVU2799 8182 013a 2368 ldr r3, [r4] 8183 .LVL738: 4550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8184 .loc 1 4550 15 discriminator 2 view .LVU2800 8185 013c DA69 ldr r2, [r3, #28] 4550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8186 .loc 1 4550 14 discriminator 2 view .LVU2801 8187 013e 12F0100F tst r2, #16 8188 0142 01D0 beq .L342 4553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8189 .loc 1 4553 13 is_stmt 1 view .LVU2802 8190 0144 1022 movs r2, #16 8191 0146 1A62 str r2, [r3, #32] 8192 .L342: 4560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 8193 .loc 1 4560 11 view .LVU2803 8194 0148 B4F85C10 ldrh r1, [r4, #92] 8195 014c 2046 mov r0, r4 8196 014e FFF7FEFF bl HAL_UARTEx_RxEventCallback 8197 .LVL739: 8198 0152 76E7 b .L332 8199 .LVL740: 8200 .L343: 4581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((rxdatacount != 0U) && (rxdatacount < huart->NbRxDataToProcess)) 8201 .loc 1 4581 5 view .LVU2804 4581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((rxdatacount != 0U) && (rxdatacount < huart->NbRxDataToProcess)) 8202 .loc 1 4581 17 is_stmt 0 view .LVU2805 8203 0154 B4F85E30 ldrh r3, [r4, #94] 8204 0158 9BB2 uxth r3, r3 8205 .LVL741: ARM GAS /tmp/cceWHrnJ.s page 289 4582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8206 .loc 1 4582 5 is_stmt 1 view .LVU2806 4582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8207 .loc 1 4582 8 is_stmt 0 view .LVU2807 8208 015a 002B cmp r3, #0 8209 015c 3FF462AF beq .L330 4582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8210 .loc 1 4582 52 discriminator 1 view .LVU2808 8211 0160 B4F86820 ldrh r2, [r4, #104] 4582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8212 .loc 1 4582 29 discriminator 1 view .LVU2809 8213 0164 9A42 cmp r2, r3 8214 0166 7FF65DAF bls .L330 8215 .LVL742: 8216 .L346: 4585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8217 .loc 1 4585 7 is_stmt 1 discriminator 1 view .LVU2810 8218 .LBB886: 4585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8219 .loc 1 4585 7 discriminator 1 view .LVU2811 4585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8220 .loc 1 4585 7 discriminator 1 view .LVU2812 4585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8221 .loc 1 4585 7 discriminator 1 view .LVU2813 8222 016a 2268 ldr r2, [r4] 8223 .LVL743: 8224 .LBB887: 8225 .LBI887: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8226 .loc 2 1151 31 discriminator 1 view .LVU2814 8227 .LBB888: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 8228 .loc 2 1153 5 discriminator 1 view .LVU2815 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8229 .loc 2 1155 4 discriminator 1 view .LVU2816 8230 016c 02F10803 add r3, r2, #8 8231 .LVL744: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8232 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU2817 8233 .syntax unified 8234 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8235 0170 53E8003F ldrex r3, [r3] 8236 @ 0 "" 2 8237 .LVL745: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8238 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU2818 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8239 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU2819 8240 .thumb 8241 .syntax unified 8242 .LBE888: 8243 .LBE887: 4585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8244 .loc 1 4585 7 discriminator 1 view .LVU2820 8245 0174 23F08053 bic r3, r3, #268435456 8246 .LVL746: 4585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 290 8247 .loc 1 4585 7 is_stmt 1 discriminator 1 view .LVU2821 8248 .LBB889: 8249 .LBI889: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8250 .loc 2 1202 31 discriminator 1 view .LVU2822 8251 .LBB890: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 8252 .loc 2 1204 4 discriminator 1 view .LVU2823 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8253 .loc 2 1206 4 discriminator 1 view .LVU2824 8254 0178 0832 adds r2, r2, #8 8255 .LVL747: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8256 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU2825 8257 .syntax unified 8258 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8259 017a 42E80031 strex r1, r3, [r2] 8260 @ 0 "" 2 8261 .LVL748: 8262 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU2826 8263 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU2827 8264 .thumb 8265 .syntax unified 8266 .LBE890: 8267 .LBE889: 4585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8268 .loc 1 4585 7 discriminator 1 view .LVU2828 8269 017e 0029 cmp r1, #0 8270 0180 F3D1 bne .L346 8271 .LBE886: 4585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8272 .loc 1 4585 7 is_stmt 1 discriminator 2 view .LVU2829 4588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8273 .loc 1 4588 7 discriminator 2 view .LVU2830 4588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8274 .loc 1 4588 20 is_stmt 0 discriminator 2 view .LVU2831 8275 0182 064B ldr r3, .L352 8276 .LVL749: 4588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8277 .loc 1 4588 20 discriminator 2 view .LVU2832 8278 0184 2367 str r3, [r4, #112] 8279 .L347: 4591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8280 .loc 1 4591 7 is_stmt 1 discriminator 1 view .LVU2833 8281 .LBB891: 4591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8282 .loc 1 4591 7 discriminator 1 view .LVU2834 4591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8283 .loc 1 4591 7 discriminator 1 view .LVU2835 4591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8284 .loc 1 4591 7 discriminator 1 view .LVU2836 8285 0186 2268 ldr r2, [r4] 8286 .LVL750: 8287 .LBB892: 8288 .LBI892: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8289 .loc 2 1151 31 discriminator 1 view .LVU2837 ARM GAS /tmp/cceWHrnJ.s page 291 8290 .LBB893: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 8291 .loc 2 1153 5 discriminator 1 view .LVU2838 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8292 .loc 2 1155 4 discriminator 1 view .LVU2839 8293 .syntax unified 8294 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8295 0188 52E8003F ldrex r3, [r2] 8296 @ 0 "" 2 8297 .LVL751: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8298 .loc 2 1156 4 discriminator 1 view .LVU2840 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8299 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU2841 8300 .thumb 8301 .syntax unified 8302 .LBE893: 8303 .LBE892: 4591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8304 .loc 1 4591 7 discriminator 1 view .LVU2842 8305 018c 43F02003 orr r3, r3, #32 8306 .LVL752: 4591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8307 .loc 1 4591 7 is_stmt 1 discriminator 1 view .LVU2843 8308 .LBB894: 8309 .LBI894: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8310 .loc 2 1202 31 discriminator 1 view .LVU2844 8311 .LBB895: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 8312 .loc 2 1204 4 discriminator 1 view .LVU2845 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8313 .loc 2 1206 4 discriminator 1 view .LVU2846 8314 .syntax unified 8315 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8316 0190 42E80031 strex r1, r3, [r2] 8317 @ 0 "" 2 8318 .LVL753: 8319 .loc 2 1207 4 discriminator 1 view .LVU2847 8320 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU2848 8321 .thumb 8322 .syntax unified 8323 .LBE895: 8324 .LBE894: 4591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8325 .loc 1 4591 7 discriminator 1 view .LVU2849 8326 0194 0029 cmp r1, #0 8327 0196 F6D1 bne .L347 8328 0198 44E7 b .L330 8329 .L353: 8330 019a 00BF .align 2 8331 .L352: 8332 019c 00000000 .word UART_RxISR_16BIT 8333 .LBE891: 8334 .cfi_endproc 8335 .LFE398: 8337 .section .text.UART_DMARxHalfCplt,"ax",%progbits ARM GAS /tmp/cceWHrnJ.s page 292 8338 .align 1 8339 .syntax unified 8340 .thumb 8341 .thumb_func 8343 UART_DMARxHalfCplt: 8344 .LVL754: 8345 .LFB383: 3718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 8346 .loc 1 3718 1 is_stmt 1 view -0 8347 .cfi_startproc 8348 @ args = 0, pretend = 0, frame = 0 8349 @ frame_needed = 0, uses_anonymous_args = 0 3718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 8350 .loc 1 3718 1 is_stmt 0 view .LVU2851 8351 0000 08B5 push {r3, lr} 8352 .LCFI29: 8353 .cfi_def_cfa_offset 8 8354 .cfi_offset 3, -8 8355 .cfi_offset 14, -4 3719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8356 .loc 1 3719 3 is_stmt 1 view .LVU2852 3719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8357 .loc 1 3719 23 is_stmt 0 view .LVU2853 8358 0002 806A ldr r0, [r0, #40] 8359 .LVL755: 3723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8360 .loc 1 3723 3 is_stmt 1 view .LVU2854 3723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8361 .loc 1 3723 12 is_stmt 0 view .LVU2855 8362 0004 C36E ldr r3, [r0, #108] 3723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8363 .loc 1 3723 6 view .LVU2856 8364 0006 012B cmp r3, #1 8365 0008 02D0 beq .L358 3741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 8366 .loc 1 3741 5 is_stmt 1 view .LVU2857 8367 000a FFF7FEFF bl HAL_UART_RxHalfCpltCallback 8368 .LVL756: 8369 .L354: 3744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8370 .loc 1 3744 1 is_stmt 0 view .LVU2858 8371 000e 08BD pop {r3, pc} 8372 .LVL757: 8373 .L358: 3730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 8374 .loc 1 3730 5 is_stmt 1 view .LVU2859 3730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 8375 .loc 1 3730 44 is_stmt 0 view .LVU2860 8376 0010 B0F85C10 ldrh r1, [r0, #92] 3730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 8377 .loc 1 3730 5 view .LVU2861 8378 0014 4908 lsrs r1, r1, #1 8379 0016 FFF7FEFF bl HAL_UARTEx_RxEventCallback 8380 .LVL758: 3730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 8381 .loc 1 3730 5 view .LVU2862 8382 001a F8E7 b .L354 ARM GAS /tmp/cceWHrnJ.s page 293 8383 .cfi_endproc 8384 .LFE383: 8386 .section .text.UART_DMAReceiveCplt,"ax",%progbits 8387 .align 1 8388 .syntax unified 8389 .thumb 8390 .thumb_func 8392 UART_DMAReceiveCplt: 8393 .LVL759: 8394 .LFB382: 3661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 8395 .loc 1 3661 1 is_stmt 1 view -0 8396 .cfi_startproc 8397 @ args = 0, pretend = 0, frame = 0 8398 @ frame_needed = 0, uses_anonymous_args = 0 3661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 8399 .loc 1 3661 1 is_stmt 0 view .LVU2864 8400 0000 08B5 push {r3, lr} 8401 .LCFI30: 8402 .cfi_def_cfa_offset 8 8403 .cfi_offset 3, -8 8404 .cfi_offset 14, -4 8405 0002 0346 mov r3, r0 3662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8406 .loc 1 3662 3 is_stmt 1 view .LVU2865 3662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8407 .loc 1 3662 23 is_stmt 0 view .LVU2866 8408 0004 806A ldr r0, [r0, #40] 8409 .LVL760: 3665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8410 .loc 1 3665 3 is_stmt 1 view .LVU2867 3665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8411 .loc 1 3665 7 is_stmt 0 view .LVU2868 8412 0006 1B68 ldr r3, [r3] 8413 .LVL761: 3665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8414 .loc 1 3665 7 view .LVU2869 8415 0008 1B68 ldr r3, [r3] 3665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8416 .loc 1 3665 6 view .LVU2870 8417 000a 13F0200F tst r3, #32 8418 000e 29D1 bne .L360 3667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8419 .loc 1 3667 5 is_stmt 1 view .LVU2871 3667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8420 .loc 1 3667 24 is_stmt 0 view .LVU2872 8421 0010 0023 movs r3, #0 8422 0012 A0F85E30 strh r3, [r0, #94] @ movhi 8423 .L361: 3670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8424 .loc 1 3670 5 is_stmt 1 discriminator 1 view .LVU2873 8425 .LBB896: 3670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8426 .loc 1 3670 5 discriminator 1 view .LVU2874 3670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8427 .loc 1 3670 5 discriminator 1 view .LVU2875 3670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); ARM GAS /tmp/cceWHrnJ.s page 294 8428 .loc 1 3670 5 discriminator 1 view .LVU2876 8429 0016 0268 ldr r2, [r0] 8430 .LVL762: 8431 .LBB897: 8432 .LBI897: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8433 .loc 2 1151 31 discriminator 1 view .LVU2877 8434 .LBB898: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 8435 .loc 2 1153 5 discriminator 1 view .LVU2878 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8436 .loc 2 1155 4 discriminator 1 view .LVU2879 8437 .syntax unified 8438 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8439 0018 52E8003F ldrex r3, [r2] 8440 @ 0 "" 2 8441 .LVL763: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8442 .loc 2 1156 4 discriminator 1 view .LVU2880 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8443 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU2881 8444 .thumb 8445 .syntax unified 8446 .LBE898: 8447 .LBE897: 3670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8448 .loc 1 3670 5 discriminator 1 view .LVU2882 8449 001c 23F48073 bic r3, r3, #256 8450 .LVL764: 3670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8451 .loc 1 3670 5 is_stmt 1 discriminator 1 view .LVU2883 8452 .LBB899: 8453 .LBI899: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8454 .loc 2 1202 31 discriminator 1 view .LVU2884 8455 .LBB900: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 8456 .loc 2 1204 4 discriminator 1 view .LVU2885 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8457 .loc 2 1206 4 discriminator 1 view .LVU2886 8458 .syntax unified 8459 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8460 0020 42E80031 strex r1, r3, [r2] 8461 @ 0 "" 2 8462 .LVL765: 8463 .loc 2 1207 4 discriminator 1 view .LVU2887 8464 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU2888 8465 .thumb 8466 .syntax unified 8467 .LBE900: 8468 .LBE899: 3670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8469 .loc 1 3670 5 discriminator 1 view .LVU2889 8470 0024 0029 cmp r1, #0 8471 0026 F6D1 bne .L361 8472 .LVL766: 8473 .L362: ARM GAS /tmp/cceWHrnJ.s page 295 3670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8474 .loc 1 3670 5 discriminator 1 view .LVU2890 8475 .LBE896: 3670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8476 .loc 1 3670 5 is_stmt 1 discriminator 1 view .LVU2891 3671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8477 .loc 1 3671 5 discriminator 1 view .LVU2892 8478 .LBB901: 3671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8479 .loc 1 3671 5 discriminator 1 view .LVU2893 3671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8480 .loc 1 3671 5 discriminator 1 view .LVU2894 3671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8481 .loc 1 3671 5 discriminator 1 view .LVU2895 8482 0028 0268 ldr r2, [r0] 8483 .LVL767: 8484 .LBB902: 8485 .LBI902: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8486 .loc 2 1151 31 discriminator 1 view .LVU2896 8487 .LBB903: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 8488 .loc 2 1153 5 discriminator 1 view .LVU2897 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8489 .loc 2 1155 4 discriminator 1 view .LVU2898 8490 002a 02F10803 add r3, r2, #8 8491 .LVL768: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8492 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU2899 8493 .syntax unified 8494 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8495 002e 53E8003F ldrex r3, [r3] 8496 @ 0 "" 2 8497 .LVL769: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8498 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU2900 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8499 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU2901 8500 .thumb 8501 .syntax unified 8502 .LBE903: 8503 .LBE902: 3671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8504 .loc 1 3671 5 discriminator 1 view .LVU2902 8505 0032 23F00103 bic r3, r3, #1 8506 .LVL770: 3671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8507 .loc 1 3671 5 is_stmt 1 discriminator 1 view .LVU2903 8508 .LBB904: 8509 .LBI904: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8510 .loc 2 1202 31 discriminator 1 view .LVU2904 8511 .LBB905: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 8512 .loc 2 1204 4 discriminator 1 view .LVU2905 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8513 .loc 2 1206 4 discriminator 1 view .LVU2906 ARM GAS /tmp/cceWHrnJ.s page 296 8514 0036 0832 adds r2, r2, #8 8515 .LVL771: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8516 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU2907 8517 .syntax unified 8518 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8519 0038 42E80031 strex r1, r3, [r2] 8520 @ 0 "" 2 8521 .LVL772: 8522 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU2908 8523 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU2909 8524 .thumb 8525 .syntax unified 8526 .LBE905: 8527 .LBE904: 3671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8528 .loc 1 3671 5 discriminator 1 view .LVU2910 8529 003c 0029 cmp r1, #0 8530 003e F3D1 bne .L362 8531 .LVL773: 8532 .L363: 3671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8533 .loc 1 3671 5 discriminator 1 view .LVU2911 8534 .LBE901: 3671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8535 .loc 1 3671 5 is_stmt 1 discriminator 1 view .LVU2912 3675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8536 .loc 1 3675 5 discriminator 1 view .LVU2913 8537 .LBB906: 3675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8538 .loc 1 3675 5 discriminator 1 view .LVU2914 3675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8539 .loc 1 3675 5 discriminator 1 view .LVU2915 3675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8540 .loc 1 3675 5 discriminator 1 view .LVU2916 8541 0040 0268 ldr r2, [r0] 8542 .LVL774: 8543 .LBB907: 8544 .LBI907: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8545 .loc 2 1151 31 discriminator 1 view .LVU2917 8546 .LBB908: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 8547 .loc 2 1153 5 discriminator 1 view .LVU2918 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8548 .loc 2 1155 4 discriminator 1 view .LVU2919 8549 0042 02F10803 add r3, r2, #8 8550 .LVL775: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8551 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU2920 8552 .syntax unified 8553 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8554 0046 53E8003F ldrex r3, [r3] 8555 @ 0 "" 2 8556 .LVL776: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8557 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU2921 ARM GAS /tmp/cceWHrnJ.s page 297 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8558 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU2922 8559 .thumb 8560 .syntax unified 8561 .LBE908: 8562 .LBE907: 3675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8563 .loc 1 3675 5 discriminator 1 view .LVU2923 8564 004a 23F04003 bic r3, r3, #64 8565 .LVL777: 3675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8566 .loc 1 3675 5 is_stmt 1 discriminator 1 view .LVU2924 8567 .LBB909: 8568 .LBI909: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8569 .loc 2 1202 31 discriminator 1 view .LVU2925 8570 .LBB910: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 8571 .loc 2 1204 4 discriminator 1 view .LVU2926 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8572 .loc 2 1206 4 discriminator 1 view .LVU2927 8573 004e 0832 adds r2, r2, #8 8574 .LVL778: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8575 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU2928 8576 .syntax unified 8577 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8578 0050 42E80031 strex r1, r3, [r2] 8579 @ 0 "" 2 8580 .LVL779: 8581 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU2929 8582 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU2930 8583 .thumb 8584 .syntax unified 8585 .LBE910: 8586 .LBE909: 3675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8587 .loc 1 3675 5 discriminator 1 view .LVU2931 8588 0054 0029 cmp r1, #0 8589 0056 F3D1 bne .L363 8590 .LBE906: 3675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8591 .loc 1 3675 5 is_stmt 1 discriminator 2 view .LVU2932 3678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8592 .loc 1 3678 5 discriminator 2 view .LVU2933 3678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8593 .loc 1 3678 20 is_stmt 0 discriminator 2 view .LVU2934 8594 0058 2023 movs r3, #32 8595 .LVL780: 3678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8596 .loc 1 3678 20 discriminator 2 view .LVU2935 8597 005a C0F88830 str r3, [r0, #136] 3681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8598 .loc 1 3681 5 is_stmt 1 discriminator 2 view .LVU2936 3681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8599 .loc 1 3681 14 is_stmt 0 discriminator 2 view .LVU2937 8600 005e C36E ldr r3, [r0, #108] ARM GAS /tmp/cceWHrnJ.s page 298 3681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8601 .loc 1 3681 8 discriminator 2 view .LVU2938 8602 0060 012B cmp r3, #1 8603 0062 05D0 beq .L364 8604 .LVL781: 8605 .L360: 3683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8606 .loc 1 3683 7 is_stmt 1 discriminator 2 view .LVU2939 3689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8607 .loc 1 3689 3 discriminator 2 view .LVU2940 3689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8608 .loc 1 3689 12 is_stmt 0 discriminator 2 view .LVU2941 8609 0064 C36E ldr r3, [r0, #108] 3689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8610 .loc 1 3689 6 discriminator 2 view .LVU2942 8611 0066 012B cmp r3, #1 8612 0068 0CD0 beq .L368 3707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 8613 .loc 1 3707 5 is_stmt 1 view .LVU2943 8614 006a FFF7FEFF bl HAL_UART_RxCpltCallback 8615 .LVL782: 8616 .L359: 3710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8617 .loc 1 3710 1 is_stmt 0 view .LVU2944 8618 006e 08BD pop {r3, pc} 8619 .LVL783: 8620 .L364: 3683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8621 .loc 1 3683 7 is_stmt 1 discriminator 1 view .LVU2945 8622 .LBB911: 3683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8623 .loc 1 3683 7 discriminator 1 view .LVU2946 3683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8624 .loc 1 3683 7 discriminator 1 view .LVU2947 3683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8625 .loc 1 3683 7 discriminator 1 view .LVU2948 8626 0070 0268 ldr r2, [r0] 8627 .LVL784: 8628 .LBB912: 8629 .LBI912: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8630 .loc 2 1151 31 discriminator 1 view .LVU2949 8631 .LBB913: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 8632 .loc 2 1153 5 discriminator 1 view .LVU2950 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8633 .loc 2 1155 4 discriminator 1 view .LVU2951 8634 .syntax unified 8635 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8636 0072 52E8003F ldrex r3, [r2] 8637 @ 0 "" 2 8638 .LVL785: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8639 .loc 2 1156 4 discriminator 1 view .LVU2952 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8640 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU2953 8641 .thumb ARM GAS /tmp/cceWHrnJ.s page 299 8642 .syntax unified 8643 .LBE913: 8644 .LBE912: 3683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8645 .loc 1 3683 7 discriminator 1 view .LVU2954 8646 0076 23F01003 bic r3, r3, #16 8647 .LVL786: 3683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8648 .loc 1 3683 7 is_stmt 1 discriminator 1 view .LVU2955 8649 .LBB914: 8650 .LBI914: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8651 .loc 2 1202 31 discriminator 1 view .LVU2956 8652 .LBB915: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 8653 .loc 2 1204 4 discriminator 1 view .LVU2957 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8654 .loc 2 1206 4 discriminator 1 view .LVU2958 8655 .syntax unified 8656 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8657 007a 42E80031 strex r1, r3, [r2] 8658 @ 0 "" 2 8659 .LVL787: 8660 .loc 2 1207 4 discriminator 1 view .LVU2959 8661 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU2960 8662 .thumb 8663 .syntax unified 8664 .LBE915: 8665 .LBE914: 3683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8666 .loc 1 3683 7 discriminator 1 view .LVU2961 8667 007e 0029 cmp r1, #0 8668 0080 F6D1 bne .L364 8669 0082 EFE7 b .L360 8670 .LVL788: 8671 .L368: 3683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8672 .loc 1 3683 7 discriminator 1 view .LVU2962 8673 .LBE911: 3696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 8674 .loc 1 3696 5 is_stmt 1 view .LVU2963 8675 0084 B0F85C10 ldrh r1, [r0, #92] 8676 0088 FFF7FEFF bl HAL_UARTEx_RxEventCallback 8677 .LVL789: 3696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 8678 .loc 1 3696 5 is_stmt 0 view .LVU2964 8679 008c EFE7 b .L359 8680 .cfi_endproc 8681 .LFE382: 8683 .section .text.HAL_UART_ReceiverTimeout_Config,"ax",%progbits 8684 .align 1 8685 .global HAL_UART_ReceiverTimeout_Config 8686 .syntax unified 8687 .thumb 8688 .thumb_func 8690 HAL_UART_ReceiverTimeout_Config: 8691 .LVL790: ARM GAS /tmp/cceWHrnJ.s page 300 8692 .LFB361: 2729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance))) 8693 .loc 1 2729 1 is_stmt 1 view -0 8694 .cfi_startproc 8695 @ args = 0, pretend = 0, frame = 0 8696 @ frame_needed = 0, uses_anonymous_args = 0 8697 @ link register save eliminated. 2730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8698 .loc 1 2730 3 view .LVU2966 2730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8699 .loc 1 2730 9 is_stmt 0 view .LVU2967 8700 0000 0268 ldr r2, [r0] 2730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8701 .loc 1 2730 6 view .LVU2968 8702 0002 044B ldr r3, .L371 8703 0004 9A42 cmp r2, r3 8704 0006 04D0 beq .L369 2732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->RTOR, USART_RTOR_RTO, TimeoutValue); 8705 .loc 1 2732 5 is_stmt 1 view .LVU2969 2733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8706 .loc 1 2733 5 view .LVU2970 8707 0008 5369 ldr r3, [r2, #20] 8708 000a 03F07F43 and r3, r3, #-16777216 8709 000e 1943 orrs r1, r1, r3 8710 .LVL791: 2733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8711 .loc 1 2733 5 is_stmt 0 view .LVU2971 8712 0010 5161 str r1, [r2, #20] 8713 .L369: 2735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8714 .loc 1 2735 1 view .LVU2972 8715 0012 7047 bx lr 8716 .L372: 8717 .align 2 8718 .L371: 8719 0014 00800040 .word 1073774592 8720 .cfi_endproc 8721 .LFE361: 8723 .section .text.HAL_UART_EnableReceiverTimeout,"ax",%progbits 8724 .align 1 8725 .global HAL_UART_EnableReceiverTimeout 8726 .syntax unified 8727 .thumb 8728 .thumb_func 8730 HAL_UART_EnableReceiverTimeout: 8731 .LVL792: 8732 .LFB362: 2744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance))) 8733 .loc 1 2744 1 is_stmt 1 view -0 8734 .cfi_startproc 8735 @ args = 0, pretend = 0, frame = 0 8736 @ frame_needed = 0, uses_anonymous_args = 0 8737 @ link register save eliminated. 2745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8738 .loc 1 2745 3 view .LVU2974 2745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8739 .loc 1 2745 9 is_stmt 0 view .LVU2975 ARM GAS /tmp/cceWHrnJ.s page 301 8740 0000 0368 ldr r3, [r0] 2745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8741 .loc 1 2745 6 view .LVU2976 8742 0002 114A ldr r2, .L378 8743 0004 9342 cmp r3, r2 8744 0006 19D0 beq .L375 2747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8745 .loc 1 2747 5 is_stmt 1 view .LVU2977 2747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8746 .loc 1 2747 14 is_stmt 0 view .LVU2978 8747 0008 D0F88420 ldr r2, [r0, #132] 2747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8748 .loc 1 2747 8 view .LVU2979 8749 000c 202A cmp r2, #32 8750 000e 17D1 bne .L376 2750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8751 .loc 1 2750 7 is_stmt 1 view .LVU2980 2750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8752 .loc 1 2750 7 view .LVU2981 8753 0010 90F88020 ldrb r2, [r0, #128] @ zero_extendqisi2 8754 0014 012A cmp r2, #1 8755 0016 15D0 beq .L377 2750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8756 .loc 1 2750 7 discriminator 2 view .LVU2982 8757 0018 0122 movs r2, #1 8758 001a 80F88020 strb r2, [r0, #128] 2750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8759 .loc 1 2750 7 discriminator 2 view .LVU2983 2752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8760 .loc 1 2752 7 discriminator 2 view .LVU2984 2752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8761 .loc 1 2752 21 is_stmt 0 discriminator 2 view .LVU2985 8762 001e 2422 movs r2, #36 8763 0020 C0F88420 str r2, [r0, #132] 2755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8764 .loc 1 2755 7 is_stmt 1 discriminator 2 view .LVU2986 8765 0024 5A68 ldr r2, [r3, #4] 8766 0026 42F40002 orr r2, r2, #8388608 8767 002a 5A60 str r2, [r3, #4] 2757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8768 .loc 1 2757 7 discriminator 2 view .LVU2987 2757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8769 .loc 1 2757 21 is_stmt 0 discriminator 2 view .LVU2988 8770 002c 2023 movs r3, #32 8771 002e C0F88430 str r3, [r0, #132] 2760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8772 .loc 1 2760 7 is_stmt 1 discriminator 2 view .LVU2989 2760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8773 .loc 1 2760 7 discriminator 2 view .LVU2990 8774 0032 0023 movs r3, #0 8775 0034 80F88030 strb r3, [r0, #128] 2760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8776 .loc 1 2760 7 discriminator 2 view .LVU2991 2762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8777 .loc 1 2762 7 discriminator 2 view .LVU2992 2762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8778 .loc 1 2762 14 is_stmt 0 discriminator 2 view .LVU2993 ARM GAS /tmp/cceWHrnJ.s page 302 8779 0038 1846 mov r0, r3 8780 .LVL793: 2762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8781 .loc 1 2762 14 discriminator 2 view .LVU2994 8782 003a 7047 bx lr 8783 .LVL794: 8784 .L375: 2771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8785 .loc 1 2771 12 view .LVU2995 8786 003c 0120 movs r0, #1 8787 .LVL795: 2771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8788 .loc 1 2771 12 view .LVU2996 8789 003e 7047 bx lr 8790 .LVL796: 8791 .L376: 2766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8792 .loc 1 2766 14 view .LVU2997 8793 0040 0220 movs r0, #2 8794 .LVL797: 2766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8795 .loc 1 2766 14 view .LVU2998 8796 0042 7047 bx lr 8797 .LVL798: 8798 .L377: 2750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8799 .loc 1 2750 7 view .LVU2999 8800 0044 0220 movs r0, #2 8801 .LVL799: 2773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8802 .loc 1 2773 1 view .LVU3000 8803 0046 7047 bx lr 8804 .L379: 8805 .align 2 8806 .L378: 8807 0048 00800040 .word 1073774592 8808 .cfi_endproc 8809 .LFE362: 8811 .section .text.HAL_UART_DisableReceiverTimeout,"ax",%progbits 8812 .align 1 8813 .global HAL_UART_DisableReceiverTimeout 8814 .syntax unified 8815 .thumb 8816 .thumb_func 8818 HAL_UART_DisableReceiverTimeout: 8819 .LVL800: 8820 .LFB363: 2782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance))) 8821 .loc 1 2782 1 is_stmt 1 view -0 8822 .cfi_startproc 8823 @ args = 0, pretend = 0, frame = 0 8824 @ frame_needed = 0, uses_anonymous_args = 0 8825 @ link register save eliminated. 2783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8826 .loc 1 2783 3 view .LVU3002 2783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8827 .loc 1 2783 9 is_stmt 0 view .LVU3003 ARM GAS /tmp/cceWHrnJ.s page 303 8828 0000 0368 ldr r3, [r0] 2783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8829 .loc 1 2783 6 view .LVU3004 8830 0002 114A ldr r2, .L385 8831 0004 9342 cmp r3, r2 8832 0006 19D0 beq .L382 2785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8833 .loc 1 2785 5 is_stmt 1 view .LVU3005 2785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8834 .loc 1 2785 14 is_stmt 0 view .LVU3006 8835 0008 D0F88420 ldr r2, [r0, #132] 2785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 8836 .loc 1 2785 8 view .LVU3007 8837 000c 202A cmp r2, #32 8838 000e 17D1 bne .L383 2788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8839 .loc 1 2788 7 is_stmt 1 view .LVU3008 2788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8840 .loc 1 2788 7 view .LVU3009 8841 0010 90F88020 ldrb r2, [r0, #128] @ zero_extendqisi2 8842 0014 012A cmp r2, #1 8843 0016 15D0 beq .L384 2788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8844 .loc 1 2788 7 discriminator 2 view .LVU3010 8845 0018 0122 movs r2, #1 8846 001a 80F88020 strb r2, [r0, #128] 2788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8847 .loc 1 2788 7 discriminator 2 view .LVU3011 2790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8848 .loc 1 2790 7 discriminator 2 view .LVU3012 2790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8849 .loc 1 2790 21 is_stmt 0 discriminator 2 view .LVU3013 8850 001e 2422 movs r2, #36 8851 0020 C0F88420 str r2, [r0, #132] 2793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8852 .loc 1 2793 7 is_stmt 1 discriminator 2 view .LVU3014 8853 0024 5A68 ldr r2, [r3, #4] 8854 0026 22F40002 bic r2, r2, #8388608 8855 002a 5A60 str r2, [r3, #4] 2795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8856 .loc 1 2795 7 discriminator 2 view .LVU3015 2795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8857 .loc 1 2795 21 is_stmt 0 discriminator 2 view .LVU3016 8858 002c 2023 movs r3, #32 8859 002e C0F88430 str r3, [r0, #132] 2798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8860 .loc 1 2798 7 is_stmt 1 discriminator 2 view .LVU3017 2798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8861 .loc 1 2798 7 discriminator 2 view .LVU3018 8862 0032 0023 movs r3, #0 8863 0034 80F88030 strb r3, [r0, #128] 2798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8864 .loc 1 2798 7 discriminator 2 view .LVU3019 2800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8865 .loc 1 2800 7 discriminator 2 view .LVU3020 2800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8866 .loc 1 2800 14 is_stmt 0 discriminator 2 view .LVU3021 ARM GAS /tmp/cceWHrnJ.s page 304 8867 0038 1846 mov r0, r3 8868 .LVL801: 2800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8869 .loc 1 2800 14 discriminator 2 view .LVU3022 8870 003a 7047 bx lr 8871 .LVL802: 8872 .L382: 2809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8873 .loc 1 2809 12 view .LVU3023 8874 003c 0120 movs r0, #1 8875 .LVL803: 2809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8876 .loc 1 2809 12 view .LVU3024 8877 003e 7047 bx lr 8878 .LVL804: 8879 .L383: 2804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8880 .loc 1 2804 14 view .LVU3025 8881 0040 0220 movs r0, #2 8882 .LVL805: 2804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8883 .loc 1 2804 14 view .LVU3026 8884 0042 7047 bx lr 8885 .LVL806: 8886 .L384: 2788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8887 .loc 1 2788 7 view .LVU3027 8888 0044 0220 movs r0, #2 8889 .LVL807: 2811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8890 .loc 1 2811 1 view .LVU3028 8891 0046 7047 bx lr 8892 .L386: 8893 .align 2 8894 .L385: 8895 0048 00800040 .word 1073774592 8896 .cfi_endproc 8897 .LFE363: 8899 .section .text.HAL_MultiProcessor_EnterMuteMode,"ax",%progbits 8900 .align 1 8901 .global HAL_MultiProcessor_EnterMuteMode 8902 .syntax unified 8903 .thumb 8904 .thumb_func 8906 HAL_MultiProcessor_EnterMuteMode: 8907 .LVL808: 8908 .LFB366: 2860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_MUTE_MODE_REQUEST); 8909 .loc 1 2860 1 is_stmt 1 view -0 8910 .cfi_startproc 8911 @ args = 0, pretend = 0, frame = 0 8912 @ frame_needed = 0, uses_anonymous_args = 0 8913 @ link register save eliminated. 2861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 8914 .loc 1 2861 3 view .LVU3030 8915 0000 0268 ldr r2, [r0] 8916 0002 9369 ldr r3, [r2, #24] ARM GAS /tmp/cceWHrnJ.s page 305 8917 0004 43F00403 orr r3, r3, #4 8918 0008 9361 str r3, [r2, #24] 2862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8919 .loc 1 2862 1 is_stmt 0 view .LVU3031 8920 000a 7047 bx lr 8921 .cfi_endproc 8922 .LFE366: 8924 .section .text.HAL_HalfDuplex_EnableTransmitter,"ax",%progbits 8925 .align 1 8926 .global HAL_HalfDuplex_EnableTransmitter 8927 .syntax unified 8928 .thumb 8929 .thumb_func 8931 HAL_HalfDuplex_EnableTransmitter: 8932 .LVL809: 8933 .LFB367: 2870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 8934 .loc 1 2870 1 is_stmt 1 view -0 8935 .cfi_startproc 8936 @ args = 0, pretend = 0, frame = 0 8937 @ frame_needed = 0, uses_anonymous_args = 0 8938 @ link register save eliminated. 2871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 8939 .loc 1 2871 3 view .LVU3033 2871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 8940 .loc 1 2871 3 view .LVU3034 8941 0000 90F88030 ldrb r3, [r0, #128] @ zero_extendqisi2 8942 0004 012B cmp r3, #1 8943 0006 1FD0 beq .L392 2871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 8944 .loc 1 2871 3 discriminator 2 view .LVU3035 8945 0008 0123 movs r3, #1 8946 000a 80F88030 strb r3, [r0, #128] 2871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 8947 .loc 1 2871 3 discriminator 2 view .LVU3036 2872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8948 .loc 1 2872 3 discriminator 2 view .LVU3037 2872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8949 .loc 1 2872 17 is_stmt 0 discriminator 2 view .LVU3038 8950 000e 2423 movs r3, #36 8951 0010 C0F88430 str r3, [r0, #132] 8952 .L390: 2875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8953 .loc 1 2875 3 is_stmt 1 discriminator 1 view .LVU3039 8954 .LBB916: 2875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8955 .loc 1 2875 3 discriminator 1 view .LVU3040 2875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8956 .loc 1 2875 3 discriminator 1 view .LVU3041 2875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8957 .loc 1 2875 3 discriminator 1 view .LVU3042 8958 0014 0268 ldr r2, [r0] 8959 .LVL810: 8960 .LBB917: 8961 .LBI917: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8962 .loc 2 1151 31 discriminator 1 view .LVU3043 ARM GAS /tmp/cceWHrnJ.s page 306 8963 .LBB918: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 8964 .loc 2 1153 5 discriminator 1 view .LVU3044 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8965 .loc 2 1155 4 discriminator 1 view .LVU3045 8966 .syntax unified 8967 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8968 0016 52E8003F ldrex r3, [r2] 8969 @ 0 "" 2 8970 .LVL811: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8971 .loc 2 1156 4 discriminator 1 view .LVU3046 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8972 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU3047 8973 .thumb 8974 .syntax unified 8975 .LBE918: 8976 .LBE917: 2875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8977 .loc 1 2875 3 discriminator 1 view .LVU3048 8978 001a 23F00C03 bic r3, r3, #12 8979 .LVL812: 2875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8980 .loc 1 2875 3 is_stmt 1 discriminator 1 view .LVU3049 8981 .LBB919: 8982 .LBI919: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8983 .loc 2 1202 31 discriminator 1 view .LVU3050 8984 .LBB920: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 8985 .loc 2 1204 4 discriminator 1 view .LVU3051 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8986 .loc 2 1206 4 discriminator 1 view .LVU3052 8987 .syntax unified 8988 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8989 001e 42E80031 strex r1, r3, [r2] 8990 @ 0 "" 2 8991 .LVL813: 8992 .loc 2 1207 4 discriminator 1 view .LVU3053 8993 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU3054 8994 .thumb 8995 .syntax unified 8996 .LBE920: 8997 .LBE919: 2875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8998 .loc 1 2875 3 discriminator 1 view .LVU3055 8999 0022 0029 cmp r1, #0 9000 0024 F6D1 bne .L390 9001 .LVL814: 9002 .L391: 2875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9003 .loc 1 2875 3 discriminator 1 view .LVU3056 9004 .LBE916: 2875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9005 .loc 1 2875 3 is_stmt 1 discriminator 1 view .LVU3057 2878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9006 .loc 1 2878 3 discriminator 1 view .LVU3058 ARM GAS /tmp/cceWHrnJ.s page 307 9007 .LBB921: 2878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9008 .loc 1 2878 3 discriminator 1 view .LVU3059 2878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9009 .loc 1 2878 3 discriminator 1 view .LVU3060 2878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9010 .loc 1 2878 3 discriminator 1 view .LVU3061 9011 0026 0268 ldr r2, [r0] 9012 .LVL815: 9013 .LBB922: 9014 .LBI922: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9015 .loc 2 1151 31 discriminator 1 view .LVU3062 9016 .LBB923: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 9017 .loc 2 1153 5 discriminator 1 view .LVU3063 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9018 .loc 2 1155 4 discriminator 1 view .LVU3064 9019 .syntax unified 9020 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9021 0028 52E8003F ldrex r3, [r2] 9022 @ 0 "" 2 9023 .LVL816: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9024 .loc 2 1156 4 discriminator 1 view .LVU3065 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9025 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU3066 9026 .thumb 9027 .syntax unified 9028 .LBE923: 9029 .LBE922: 2878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9030 .loc 1 2878 3 discriminator 1 view .LVU3067 9031 002c 43F00803 orr r3, r3, #8 9032 .LVL817: 2878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9033 .loc 1 2878 3 is_stmt 1 discriminator 1 view .LVU3068 9034 .LBB924: 9035 .LBI924: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9036 .loc 2 1202 31 discriminator 1 view .LVU3069 9037 .LBB925: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 9038 .loc 2 1204 4 discriminator 1 view .LVU3070 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9039 .loc 2 1206 4 discriminator 1 view .LVU3071 9040 .syntax unified 9041 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9042 0030 42E80031 strex r1, r3, [r2] 9043 @ 0 "" 2 9044 .LVL818: 9045 .loc 2 1207 4 discriminator 1 view .LVU3072 9046 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU3073 9047 .thumb 9048 .syntax unified 9049 .LBE925: 9050 .LBE924: ARM GAS /tmp/cceWHrnJ.s page 308 2878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9051 .loc 1 2878 3 discriminator 1 view .LVU3074 9052 0034 0029 cmp r1, #0 9053 0036 F6D1 bne .L391 9054 .LBE921: 2878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9055 .loc 1 2878 3 is_stmt 1 discriminator 2 view .LVU3075 2880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9056 .loc 1 2880 3 discriminator 2 view .LVU3076 2880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9057 .loc 1 2880 17 is_stmt 0 discriminator 2 view .LVU3077 9058 0038 2023 movs r3, #32 9059 .LVL819: 2880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9060 .loc 1 2880 17 discriminator 2 view .LVU3078 9061 003a C0F88430 str r3, [r0, #132] 2882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9062 .loc 1 2882 3 is_stmt 1 discriminator 2 view .LVU3079 2882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9063 .loc 1 2882 3 discriminator 2 view .LVU3080 9064 003e 0023 movs r3, #0 9065 0040 80F88030 strb r3, [r0, #128] 2882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9066 .loc 1 2882 3 discriminator 2 view .LVU3081 2884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9067 .loc 1 2884 3 discriminator 2 view .LVU3082 2884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9068 .loc 1 2884 10 is_stmt 0 discriminator 2 view .LVU3083 9069 0044 1846 mov r0, r3 9070 .LVL820: 2884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9071 .loc 1 2884 10 discriminator 2 view .LVU3084 9072 0046 7047 bx lr 9073 .LVL821: 9074 .L392: 2871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 9075 .loc 1 2871 3 view .LVU3085 9076 0048 0220 movs r0, #2 9077 .LVL822: 2885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9078 .loc 1 2885 1 view .LVU3086 9079 004a 7047 bx lr 9080 .cfi_endproc 9081 .LFE367: 9083 .section .text.HAL_HalfDuplex_EnableReceiver,"ax",%progbits 9084 .align 1 9085 .global HAL_HalfDuplex_EnableReceiver 9086 .syntax unified 9087 .thumb 9088 .thumb_func 9090 HAL_HalfDuplex_EnableReceiver: 9091 .LVL823: 9092 .LFB368: 2893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 9093 .loc 1 2893 1 is_stmt 1 view -0 9094 .cfi_startproc 9095 @ args = 0, pretend = 0, frame = 0 ARM GAS /tmp/cceWHrnJ.s page 309 9096 @ frame_needed = 0, uses_anonymous_args = 0 9097 @ link register save eliminated. 2894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 9098 .loc 1 2894 3 view .LVU3088 2894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 9099 .loc 1 2894 3 view .LVU3089 9100 0000 90F88030 ldrb r3, [r0, #128] @ zero_extendqisi2 9101 0004 012B cmp r3, #1 9102 0006 1FD0 beq .L397 2894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 9103 .loc 1 2894 3 discriminator 2 view .LVU3090 9104 0008 0123 movs r3, #1 9105 000a 80F88030 strb r3, [r0, #128] 2894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 9106 .loc 1 2894 3 discriminator 2 view .LVU3091 2895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9107 .loc 1 2895 3 discriminator 2 view .LVU3092 2895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9108 .loc 1 2895 17 is_stmt 0 discriminator 2 view .LVU3093 9109 000e 2423 movs r3, #36 9110 0010 C0F88430 str r3, [r0, #132] 9111 .L395: 2898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9112 .loc 1 2898 3 is_stmt 1 discriminator 1 view .LVU3094 9113 .LBB926: 2898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9114 .loc 1 2898 3 discriminator 1 view .LVU3095 2898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9115 .loc 1 2898 3 discriminator 1 view .LVU3096 2898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9116 .loc 1 2898 3 discriminator 1 view .LVU3097 9117 0014 0268 ldr r2, [r0] 9118 .LVL824: 9119 .LBB927: 9120 .LBI927: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9121 .loc 2 1151 31 discriminator 1 view .LVU3098 9122 .LBB928: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 9123 .loc 2 1153 5 discriminator 1 view .LVU3099 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9124 .loc 2 1155 4 discriminator 1 view .LVU3100 9125 .syntax unified 9126 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9127 0016 52E8003F ldrex r3, [r2] 9128 @ 0 "" 2 9129 .LVL825: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9130 .loc 2 1156 4 discriminator 1 view .LVU3101 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9131 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU3102 9132 .thumb 9133 .syntax unified 9134 .LBE928: 9135 .LBE927: 2898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9136 .loc 1 2898 3 discriminator 1 view .LVU3103 ARM GAS /tmp/cceWHrnJ.s page 310 9137 001a 23F00C03 bic r3, r3, #12 9138 .LVL826: 2898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9139 .loc 1 2898 3 is_stmt 1 discriminator 1 view .LVU3104 9140 .LBB929: 9141 .LBI929: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9142 .loc 2 1202 31 discriminator 1 view .LVU3105 9143 .LBB930: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 9144 .loc 2 1204 4 discriminator 1 view .LVU3106 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9145 .loc 2 1206 4 discriminator 1 view .LVU3107 9146 .syntax unified 9147 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9148 001e 42E80031 strex r1, r3, [r2] 9149 @ 0 "" 2 9150 .LVL827: 9151 .loc 2 1207 4 discriminator 1 view .LVU3108 9152 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU3109 9153 .thumb 9154 .syntax unified 9155 .LBE930: 9156 .LBE929: 2898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9157 .loc 1 2898 3 discriminator 1 view .LVU3110 9158 0022 0029 cmp r1, #0 9159 0024 F6D1 bne .L395 9160 .LVL828: 9161 .L396: 2898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9162 .loc 1 2898 3 discriminator 1 view .LVU3111 9163 .LBE926: 2898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9164 .loc 1 2898 3 is_stmt 1 discriminator 1 view .LVU3112 2901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9165 .loc 1 2901 3 discriminator 1 view .LVU3113 9166 .LBB931: 2901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9167 .loc 1 2901 3 discriminator 1 view .LVU3114 2901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9168 .loc 1 2901 3 discriminator 1 view .LVU3115 2901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9169 .loc 1 2901 3 discriminator 1 view .LVU3116 9170 0026 0268 ldr r2, [r0] 9171 .LVL829: 9172 .LBB932: 9173 .LBI932: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9174 .loc 2 1151 31 discriminator 1 view .LVU3117 9175 .LBB933: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 9176 .loc 2 1153 5 discriminator 1 view .LVU3118 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9177 .loc 2 1155 4 discriminator 1 view .LVU3119 9178 .syntax unified 9179 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 ARM GAS /tmp/cceWHrnJ.s page 311 9180 0028 52E8003F ldrex r3, [r2] 9181 @ 0 "" 2 9182 .LVL830: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9183 .loc 2 1156 4 discriminator 1 view .LVU3120 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9184 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU3121 9185 .thumb 9186 .syntax unified 9187 .LBE933: 9188 .LBE932: 2901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9189 .loc 1 2901 3 discriminator 1 view .LVU3122 9190 002c 43F00403 orr r3, r3, #4 9191 .LVL831: 2901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9192 .loc 1 2901 3 is_stmt 1 discriminator 1 view .LVU3123 9193 .LBB934: 9194 .LBI934: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9195 .loc 2 1202 31 discriminator 1 view .LVU3124 9196 .LBB935: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 9197 .loc 2 1204 4 discriminator 1 view .LVU3125 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9198 .loc 2 1206 4 discriminator 1 view .LVU3126 9199 .syntax unified 9200 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9201 0030 42E80031 strex r1, r3, [r2] 9202 @ 0 "" 2 9203 .LVL832: 9204 .loc 2 1207 4 discriminator 1 view .LVU3127 9205 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU3128 9206 .thumb 9207 .syntax unified 9208 .LBE935: 9209 .LBE934: 2901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9210 .loc 1 2901 3 discriminator 1 view .LVU3129 9211 0034 0029 cmp r1, #0 9212 0036 F6D1 bne .L396 9213 .LBE931: 2901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9214 .loc 1 2901 3 is_stmt 1 discriminator 2 view .LVU3130 2903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9215 .loc 1 2903 3 discriminator 2 view .LVU3131 2903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9216 .loc 1 2903 17 is_stmt 0 discriminator 2 view .LVU3132 9217 0038 2023 movs r3, #32 9218 .LVL833: 2903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9219 .loc 1 2903 17 discriminator 2 view .LVU3133 9220 003a C0F88430 str r3, [r0, #132] 2905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9221 .loc 1 2905 3 is_stmt 1 discriminator 2 view .LVU3134 2905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9222 .loc 1 2905 3 discriminator 2 view .LVU3135 ARM GAS /tmp/cceWHrnJ.s page 312 9223 003e 0023 movs r3, #0 9224 0040 80F88030 strb r3, [r0, #128] 2905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9225 .loc 1 2905 3 discriminator 2 view .LVU3136 2907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9226 .loc 1 2907 3 discriminator 2 view .LVU3137 2907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9227 .loc 1 2907 10 is_stmt 0 discriminator 2 view .LVU3138 9228 0044 1846 mov r0, r3 9229 .LVL834: 2907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9230 .loc 1 2907 10 discriminator 2 view .LVU3139 9231 0046 7047 bx lr 9232 .LVL835: 9233 .L397: 2894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 9234 .loc 1 2894 3 view .LVU3140 9235 0048 0220 movs r0, #2 9236 .LVL836: 2908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9237 .loc 1 2908 1 view .LVU3141 9238 004a 7047 bx lr 9239 .cfi_endproc 9240 .LFE368: 9242 .section .text.HAL_LIN_SendBreak,"ax",%progbits 9243 .align 1 9244 .global HAL_LIN_SendBreak 9245 .syntax unified 9246 .thumb 9247 .thumb_func 9249 HAL_LIN_SendBreak: 9250 .LVL837: 9251 .LFB369: 2917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the parameters */ 9252 .loc 1 2917 1 is_stmt 1 view -0 9253 .cfi_startproc 9254 @ args = 0, pretend = 0, frame = 0 9255 @ frame_needed = 0, uses_anonymous_args = 0 9256 @ link register save eliminated. 2919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9257 .loc 1 2919 3 view .LVU3143 2921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9258 .loc 1 2921 3 view .LVU3144 2921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9259 .loc 1 2921 3 view .LVU3145 9260 0000 90F88030 ldrb r3, [r0, #128] @ zero_extendqisi2 9261 0004 012B cmp r3, #1 9262 0006 12D0 beq .L400 2921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9263 .loc 1 2921 3 discriminator 2 view .LVU3146 9264 0008 0123 movs r3, #1 9265 000a 80F88030 strb r3, [r0, #128] 2921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9266 .loc 1 2921 3 discriminator 2 view .LVU3147 2923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9267 .loc 1 2923 3 discriminator 2 view .LVU3148 2923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 313 9268 .loc 1 2923 17 is_stmt 0 discriminator 2 view .LVU3149 9269 000e 2423 movs r3, #36 9270 0010 C0F88430 str r3, [r0, #132] 2926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9271 .loc 1 2926 3 is_stmt 1 discriminator 2 view .LVU3150 9272 0014 0268 ldr r2, [r0] 9273 0016 9369 ldr r3, [r2, #24] 9274 0018 43F00203 orr r3, r3, #2 9275 001c 9361 str r3, [r2, #24] 2928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9276 .loc 1 2928 3 discriminator 2 view .LVU3151 2928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9277 .loc 1 2928 17 is_stmt 0 discriminator 2 view .LVU3152 9278 001e 2023 movs r3, #32 9279 0020 C0F88430 str r3, [r0, #132] 2930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9280 .loc 1 2930 3 is_stmt 1 discriminator 2 view .LVU3153 2930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9281 .loc 1 2930 3 discriminator 2 view .LVU3154 9282 0024 0023 movs r3, #0 9283 0026 80F88030 strb r3, [r0, #128] 2930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9284 .loc 1 2930 3 discriminator 2 view .LVU3155 2932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9285 .loc 1 2932 3 discriminator 2 view .LVU3156 2932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9286 .loc 1 2932 10 is_stmt 0 discriminator 2 view .LVU3157 9287 002a 1846 mov r0, r3 9288 .LVL838: 2932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9289 .loc 1 2932 10 discriminator 2 view .LVU3158 9290 002c 7047 bx lr 9291 .LVL839: 9292 .L400: 2921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9293 .loc 1 2921 3 view .LVU3159 9294 002e 0220 movs r0, #2 9295 .LVL840: 2933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9296 .loc 1 2933 1 view .LVU3160 9297 0030 7047 bx lr 9298 .cfi_endproc 9299 .LFE369: 9301 .section .text.HAL_UART_GetState,"ax",%progbits 9302 .align 1 9303 .global HAL_UART_GetState 9304 .syntax unified 9305 .thumb 9306 .thumb_func 9308 HAL_UART_GetState: 9309 .LVL841: 9310 .LFB370: 2962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t temp1; 9311 .loc 1 2962 1 is_stmt 1 view -0 9312 .cfi_startproc 9313 @ args = 0, pretend = 0, frame = 0 9314 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS /tmp/cceWHrnJ.s page 314 9315 @ link register save eliminated. 2963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t temp2; 9316 .loc 1 2963 3 view .LVU3162 2964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** temp1 = huart->gState; 9317 .loc 1 2964 3 view .LVU3163 2965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** temp2 = huart->RxState; 9318 .loc 1 2965 3 view .LVU3164 2965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** temp2 = huart->RxState; 9319 .loc 1 2965 9 is_stmt 0 view .LVU3165 9320 0000 D0F88420 ldr r2, [r0, #132] 9321 .LVL842: 2966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9322 .loc 1 2966 3 is_stmt 1 view .LVU3166 2966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9323 .loc 1 2966 9 is_stmt 0 view .LVU3167 9324 0004 D0F88800 ldr r0, [r0, #136] 9325 .LVL843: 2968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9326 .loc 1 2968 3 is_stmt 1 view .LVU3168 2969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9327 .loc 1 2969 1 is_stmt 0 view .LVU3169 9328 0008 1043 orrs r0, r0, r2 9329 .LVL844: 2969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9330 .loc 1 2969 1 view .LVU3170 9331 000a 7047 bx lr 9332 .cfi_endproc 9333 .LFE370: 9335 .section .text.HAL_UART_GetError,"ax",%progbits 9336 .align 1 9337 .global HAL_UART_GetError 9338 .syntax unified 9339 .thumb 9340 .thumb_func 9342 HAL_UART_GetError: 9343 .LVL845: 9344 .LFB371: 2978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return huart->ErrorCode; 9345 .loc 1 2978 1 is_stmt 1 view -0 9346 .cfi_startproc 9347 @ args = 0, pretend = 0, frame = 0 9348 @ frame_needed = 0, uses_anonymous_args = 0 9349 @ link register save eliminated. 2979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9350 .loc 1 2979 3 view .LVU3172 2979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9351 .loc 1 2979 15 is_stmt 0 view .LVU3173 9352 0000 D0F88C00 ldr r0, [r0, #140] 9353 .LVL846: 2980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** 9354 .loc 1 2980 1 view .LVU3174 9355 0004 7047 bx lr 9356 .cfi_endproc 9357 .LFE371: 9359 .global __aeabi_uldivmod 9360 .section .text.UART_SetConfig,"ax",%progbits 9361 .align 1 ARM GAS /tmp/cceWHrnJ.s page 315 9362 .global UART_SetConfig 9363 .syntax unified 9364 .thumb 9365 .thumb_func 9367 UART_SetConfig: 9368 .LVL847: 9369 .LFB372: 3024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t tmpreg; 9370 .loc 1 3024 1 is_stmt 1 view -0 9371 .cfi_startproc 9372 @ args = 0, pretend = 0, frame = 0 9373 @ frame_needed = 0, uses_anonymous_args = 0 3024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t tmpreg; 9374 .loc 1 3024 1 is_stmt 0 view .LVU3176 9375 0000 70B5 push {r4, r5, r6, lr} 9376 .LCFI31: 9377 .cfi_def_cfa_offset 16 9378 .cfi_offset 4, -16 9379 .cfi_offset 5, -12 9380 .cfi_offset 6, -8 9381 .cfi_offset 14, -4 9382 0002 0446 mov r4, r0 3025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t brrtemp; 9383 .loc 1 3025 3 is_stmt 1 view .LVU3177 3026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_ClockSourceTypeDef clocksource; 9384 .loc 1 3026 3 view .LVU3178 3027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t usartdiv; 9385 .loc 1 3027 3 view .LVU3179 3028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef ret = HAL_OK; 9386 .loc 1 3028 3 view .LVU3180 3029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t lpuart_ker_ck_pres; 9387 .loc 1 3029 3 view .LVU3181 9388 .LVL848: 3030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t pclk; 9389 .loc 1 3030 3 view .LVU3182 3031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9390 .loc 1 3031 3 view .LVU3183 3034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength)); 9391 .loc 1 3034 3 view .LVU3184 3035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_INSTANCE_LOWPOWER(huart)) 9392 .loc 1 3035 3 view .LVU3185 3036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9393 .loc 1 3036 3 view .LVU3186 3036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9394 .loc 1 3036 7 is_stmt 0 view .LVU3187 9395 0004 0168 ldr r1, [r0] 3042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_ONE_BIT_SAMPLE(huart->Init.OneBitSampling)); 9396 .loc 1 3042 5 is_stmt 1 view .LVU3188 3043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9397 .loc 1 3043 5 view .LVU3189 3046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode)); 9398 .loc 1 3046 3 view .LVU3190 3047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl)); 9399 .loc 1 3047 3 view .LVU3191 3048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling)); 9400 .loc 1 3048 3 view .LVU3192 3049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_PRESCALER(huart->Init.ClockPrescaler)); ARM GAS /tmp/cceWHrnJ.s page 316 9401 .loc 1 3049 3 view .LVU3193 3050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9402 .loc 1 3050 3 view .LVU3194 3059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 9403 .loc 1 3059 3 view .LVU3195 3059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 9404 .loc 1 3059 33 is_stmt 0 view .LVU3196 9405 0006 8368 ldr r3, [r0, #8] 3059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 9406 .loc 1 3059 58 view .LVU3197 9407 0008 0269 ldr r2, [r0, #16] 3059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 9408 .loc 1 3059 45 view .LVU3198 9409 000a 1343 orrs r3, r3, r2 3059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 9410 .loc 1 3059 79 view .LVU3199 9411 000c 4269 ldr r2, [r0, #20] 3059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 9412 .loc 1 3059 66 view .LVU3200 9413 000e 1343 orrs r3, r3, r2 3059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 9414 .loc 1 3059 98 view .LVU3201 9415 0010 C269 ldr r2, [r0, #28] 3059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 9416 .loc 1 3059 10 view .LVU3202 9417 0012 1343 orrs r3, r3, r2 9418 .LVL849: 3060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9419 .loc 1 3060 3 is_stmt 1 view .LVU3203 9420 0014 0868 ldr r0, [r1] 9421 .LVL850: 3060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9422 .loc 1 3060 3 is_stmt 0 view .LVU3204 9423 0016 8B4A ldr r2, .L483 9424 0018 0240 ands r2, r2, r0 9425 001a 1A43 orrs r2, r2, r3 9426 001c 0A60 str r2, [r1] 3065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9427 .loc 1 3065 3 is_stmt 1 view .LVU3205 9428 001e 2268 ldr r2, [r4] 9429 0020 5368 ldr r3, [r2, #4] 9430 .LVL851: 3065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9431 .loc 1 3065 3 is_stmt 0 view .LVU3206 9432 0022 23F44053 bic r3, r3, #12288 9433 0026 E168 ldr r1, [r4, #12] 9434 0028 0B43 orrs r3, r3, r1 9435 002a 5360 str r3, [r2, #4] 3073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9436 .loc 1 3073 3 is_stmt 1 view .LVU3207 3073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9437 .loc 1 3073 10 is_stmt 0 view .LVU3208 9438 002c A169 ldr r1, [r4, #24] 9439 .LVL852: 3075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9440 .loc 1 3075 3 is_stmt 1 view .LVU3209 3075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cceWHrnJ.s page 317 9441 .loc 1 3075 9 is_stmt 0 view .LVU3210 9442 002e 2268 ldr r2, [r4] 3075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9443 .loc 1 3075 6 view .LVU3211 9444 0030 854B ldr r3, .L483+4 9445 0032 9A42 cmp r2, r3 9446 0034 01D0 beq .L404 3077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9447 .loc 1 3077 5 is_stmt 1 view .LVU3212 3077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9448 .loc 1 3077 26 is_stmt 0 view .LVU3213 9449 0036 236A ldr r3, [r4, #32] 3077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9450 .loc 1 3077 12 view .LVU3214 9451 0038 1943 orrs r1, r1, r3 9452 .LVL853: 9453 .L404: 3079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9454 .loc 1 3079 3 is_stmt 1 view .LVU3215 9455 003a 9368 ldr r3, [r2, #8] 9456 003c 23F06E43 bic r3, r3, #-301989888 9457 0040 23F43063 bic r3, r3, #2816 9458 0044 0B43 orrs r3, r3, r1 9459 0046 9360 str r3, [r2, #8] 3084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9460 .loc 1 3084 3 view .LVU3216 9461 0048 2268 ldr r2, [r4] 9462 004a D36A ldr r3, [r2, #44] 9463 004c 23F00F03 bic r3, r3, #15 9464 0050 616A ldr r1, [r4, #36] 9465 .LVL854: 3084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9466 .loc 1 3084 3 is_stmt 0 view .LVU3217 9467 0052 0B43 orrs r3, r3, r1 9468 0054 D362 str r3, [r2, #44] 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9469 .loc 1 3087 3 is_stmt 1 view .LVU3218 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9470 .loc 1 3087 3 view .LVU3219 9471 0056 2368 ldr r3, [r4] 9472 0058 7C4A ldr r2, .L483+8 9473 005a 9342 cmp r3, r2 9474 005c 23D0 beq .L476 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9475 .loc 1 3087 3 discriminator 2 view .LVU3220 9476 005e 7C4A ldr r2, .L483+12 9477 0060 9342 cmp r3, r2 9478 0062 34D0 beq .L477 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9479 .loc 1 3087 3 discriminator 9 view .LVU3221 9480 0064 7B4A ldr r2, .L483+16 9481 0066 9342 cmp r3, r2 9482 0068 4AD0 beq .L478 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9483 .loc 1 3087 3 discriminator 16 view .LVU3222 9484 006a 7B4A ldr r2, .L483+20 9485 006c 9342 cmp r3, r2 ARM GAS /tmp/cceWHrnJ.s page 318 9486 006e 59D0 beq .L479 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9487 .loc 1 3087 3 discriminator 23 view .LVU3223 9488 0070 754A ldr r2, .L483+4 9489 0072 9342 cmp r3, r2 9490 0074 68D0 beq .L480 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9491 .loc 1 3087 3 is_stmt 0 view .LVU3224 9492 0076 1022 movs r2, #16 9493 .L409: 9494 .LVL855: 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9495 .loc 1 3087 3 is_stmt 1 discriminator 36 view .LVU3225 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9496 .loc 1 3090 3 discriminator 36 view .LVU3226 3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9497 .loc 1 3090 6 is_stmt 0 discriminator 36 view .LVU3227 9498 0078 7349 ldr r1, .L483+4 9499 007a 8B42 cmp r3, r1 9500 007c 00F09580 beq .L481 3143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9501 .loc 1 3143 8 is_stmt 1 view .LVU3228 3143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9502 .loc 1 3143 23 is_stmt 0 view .LVU3229 9503 0080 E069 ldr r0, [r4, #28] 3143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9504 .loc 1 3143 11 view .LVU3230 9505 0082 B0F5004F cmp r0, #32768 9506 0086 00F0D280 beq .L482 3186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9507 .loc 1 3186 5 is_stmt 1 view .LVU3231 9508 008a 082A cmp r2, #8 9509 008c 00F24F81 bhi .L470 9510 0090 DFE812F0 tbh [pc, r2, lsl #1] 9511 .L440: 9512 0094 1201 .2byte (.L444-.L440)/2 9513 0096 3401 .2byte (.L443-.L440)/2 9514 0098 1001 .2byte (.L442-.L440)/2 9515 009a 4D01 .2byte (.L470-.L440)/2 9516 009c 3701 .2byte (.L441-.L440)/2 9517 009e 4D01 .2byte (.L470-.L440)/2 9518 00a0 4D01 .2byte (.L470-.L440)/2 9519 00a2 4D01 .2byte (.L470-.L440)/2 9520 00a4 3A01 .2byte (.L471-.L440)/2 9521 .LVL856: 9522 .p2align 1 9523 .L476: 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9524 .loc 1 3087 3 discriminator 1 view .LVU3232 9525 00a6 02F55842 add r2, r2, #55296 9526 00aa D2F88820 ldr r2, [r2, #136] 9527 00ae 02F00302 and r2, r2, #3 9528 00b2 032A cmp r2, #3 9529 00b4 09D8 bhi .L406 9530 00b6 DFE802F0 tbb [pc, r2] 9531 .L408: 9532 00ba 02 .byte (.L411-.L408)/2 ARM GAS /tmp/cceWHrnJ.s page 319 9533 00bb 04 .byte (.L410-.L408)/2 9534 00bc 5C .byte (.L446-.L408)/2 9535 00bd 06 .byte (.L407-.L408)/2 9536 .p2align 1 9537 .L411: 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9538 .loc 1 3087 3 is_stmt 0 view .LVU3233 9539 00be 0122 movs r2, #1 9540 00c0 DAE7 b .L409 9541 .L410: 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9542 .loc 1 3087 3 is_stmt 1 discriminator 5 view .LVU3234 9543 .LVL857: 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9544 .loc 1 3087 3 discriminator 5 view .LVU3235 9545 00c2 0422 movs r2, #4 9546 00c4 D8E7 b .L409 9547 .LVL858: 9548 .L407: 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9549 .loc 1 3087 3 discriminator 7 view .LVU3236 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9550 .loc 1 3087 3 discriminator 7 view .LVU3237 9551 00c6 0822 movs r2, #8 9552 00c8 D6E7 b .L409 9553 .LVL859: 9554 .L406: 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9555 .loc 1 3087 3 discriminator 3 view .LVU3238 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9556 .loc 1 3087 3 discriminator 3 view .LVU3239 9557 00ca 1022 movs r2, #16 9558 00cc D4E7 b .L409 9559 .LVL860: 9560 .L477: 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9561 .loc 1 3087 3 discriminator 8 view .LVU3240 9562 00ce 02F5E632 add r2, r2, #117760 9563 00d2 D2F88820 ldr r2, [r2, #136] 9564 00d6 02F00C02 and r2, r2, #12 9565 00da 0C2A cmp r2, #12 9566 00dc 0ED8 bhi .L413 9567 00de DFE802F0 tbb [pc, r2] 9568 .L415: 9569 00e2 07 .byte (.L417-.L415)/2 9570 00e3 0D .byte (.L413-.L415)/2 9571 00e4 0D .byte (.L413-.L415)/2 9572 00e5 0D .byte (.L413-.L415)/2 9573 00e6 09 .byte (.L416-.L415)/2 9574 00e7 0D .byte (.L413-.L415)/2 9575 00e8 0D .byte (.L413-.L415)/2 9576 00e9 0D .byte (.L413-.L415)/2 9577 00ea 4A .byte (.L447-.L415)/2 9578 00eb 0D .byte (.L413-.L415)/2 9579 00ec 0D .byte (.L413-.L415)/2 9580 00ed 0D .byte (.L413-.L415)/2 9581 00ee 0B .byte (.L414-.L415)/2 ARM GAS /tmp/cceWHrnJ.s page 320 9582 00ef 00 .p2align 1 9583 .L417: 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9584 .loc 1 3087 3 is_stmt 0 view .LVU3241 9585 00f0 0022 movs r2, #0 9586 00f2 C1E7 b .L409 9587 .L416: 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9588 .loc 1 3087 3 is_stmt 1 discriminator 12 view .LVU3242 9589 .LVL861: 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9590 .loc 1 3087 3 discriminator 12 view .LVU3243 9591 00f4 0422 movs r2, #4 9592 00f6 BFE7 b .L409 9593 .LVL862: 9594 .L414: 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9595 .loc 1 3087 3 discriminator 14 view .LVU3244 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9596 .loc 1 3087 3 discriminator 14 view .LVU3245 9597 00f8 0822 movs r2, #8 9598 00fa BDE7 b .L409 9599 .LVL863: 9600 .L413: 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9601 .loc 1 3087 3 discriminator 10 view .LVU3246 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9602 .loc 1 3087 3 discriminator 10 view .LVU3247 9603 00fc 1022 movs r2, #16 9604 00fe BBE7 b .L409 9605 .LVL864: 9606 .L478: 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9607 .loc 1 3087 3 discriminator 15 view .LVU3248 9608 0100 02F5E432 add r2, r2, #116736 9609 0104 D2F88820 ldr r2, [r2, #136] 9610 0108 02F03002 and r2, r2, #48 9611 010c 202A cmp r2, #32 9612 010e 34D0 beq .L448 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9613 .loc 1 3087 3 is_stmt 0 view .LVU3249 9614 0110 04D8 bhi .L419 9615 0112 A2B3 cbz r2, .L449 9616 0114 102A cmp r2, #16 9617 0116 34D1 bne .L450 9618 0118 0422 movs r2, #4 9619 011a ADE7 b .L409 9620 .L419: 9621 011c 302A cmp r2, #48 9622 011e 32D1 bne .L451 9623 0120 0822 movs r2, #8 9624 0122 A9E7 b .L409 9625 .L479: 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9626 .loc 1 3087 3 is_stmt 1 discriminator 22 view .LVU3250 9627 0124 02F5E232 add r2, r2, #115712 9628 0128 D2F88820 ldr r2, [r2, #136] ARM GAS /tmp/cceWHrnJ.s page 321 9629 012c 02F0C002 and r2, r2, #192 9630 0130 802A cmp r2, #128 9631 0132 2AD0 beq .L452 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9632 .loc 1 3087 3 is_stmt 0 view .LVU3251 9633 0134 04D8 bhi .L421 9634 0136 52B3 cbz r2, .L453 9635 0138 402A cmp r2, #64 9636 013a 2AD1 bne .L454 9637 013c 0422 movs r2, #4 9638 013e 9BE7 b .L409 9639 .L421: 9640 0140 C02A cmp r2, #192 9641 0142 28D1 bne .L455 9642 0144 0822 movs r2, #8 9643 0146 97E7 b .L409 9644 .L480: 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9645 .loc 1 3087 3 is_stmt 1 discriminator 29 view .LVU3252 9646 0148 02F5C832 add r2, r2, #102400 9647 014c D2F88820 ldr r2, [r2, #136] 9648 0150 02F44062 and r2, r2, #3072 9649 0154 B2F5006F cmp r2, #2048 9650 0158 1FD0 beq .L457 3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9651 .loc 1 3087 3 is_stmt 0 view .LVU3253 9652 015a 05D8 bhi .L422 9653 015c FAB1 cbz r2, .L458 9654 015e B2F5806F cmp r2, #1024 9655 0162 1ED1 bne .L459 9656 0164 0422 movs r2, #4 9657 0166 87E7 b .L409 9658 .L422: 9659 0168 B2F5406F cmp r2, #3072 9660 016c 1BD1 bne .L460 9661 016e 0822 movs r2, #8 9662 0170 82E7 b .L409 9663 .L446: 9664 0172 0222 movs r2, #2 9665 0174 80E7 b .L409 9666 .L447: 9667 0176 0222 movs r2, #2 9668 0178 7EE7 b .L409 9669 .L448: 9670 017a 0222 movs r2, #2 9671 017c 7CE7 b .L409 9672 .L449: 9673 017e 0022 movs r2, #0 9674 0180 7AE7 b .L409 9675 .L450: 9676 0182 1022 movs r2, #16 9677 0184 78E7 b .L409 9678 .L451: 9679 0186 1022 movs r2, #16 9680 0188 76E7 b .L409 9681 .L452: 9682 018a 0222 movs r2, #2 ARM GAS /tmp/cceWHrnJ.s page 322 9683 018c 74E7 b .L409 9684 .L453: 9685 018e 0022 movs r2, #0 9686 0190 72E7 b .L409 9687 .L454: 9688 0192 1022 movs r2, #16 9689 0194 70E7 b .L409 9690 .L455: 9691 0196 1022 movs r2, #16 9692 0198 6EE7 b .L409 9693 .L457: 9694 019a 0222 movs r2, #2 9695 019c 6CE7 b .L409 9696 .L458: 9697 019e 0022 movs r2, #0 9698 01a0 6AE7 b .L409 9699 .L459: 9700 01a2 1022 movs r2, #16 9701 01a4 68E7 b .L409 9702 .L460: 9703 01a6 1022 movs r2, #16 9704 01a8 66E7 b .L409 9705 .LVL865: 9706 .L481: 3093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9707 .loc 1 3093 5 is_stmt 1 view .LVU3254 9708 01aa 082A cmp r2, #8 9709 01ac 00F2AF80 bhi .L461 9710 01b0 DFE802F0 tbb [pc, r2] 9711 .L426: 9712 01b4 08 .byte (.L429-.L426)/2 9713 01b5 AD .byte (.L461-.L426)/2 9714 01b6 3B .byte (.L462-.L426)/2 9715 01b7 AD .byte (.L461-.L426)/2 9716 01b8 38 .byte (.L427-.L426)/2 9717 01b9 AD .byte (.L461-.L426)/2 9718 01ba AD .byte (.L461-.L426)/2 9719 01bb AD .byte (.L461-.L426)/2 9720 01bc 05 .byte (.L425-.L426)/2 9721 01bd 00 .p2align 1 9722 .L425: 9723 01be 4FF40040 mov r0, #32768 9724 01c2 04E0 b .L428 9725 .L429: 3096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 9726 .loc 1 3096 9 view .LVU3255 3096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 9727 .loc 1 3096 16 is_stmt 0 view .LVU3256 9728 01c4 FFF7FEFF bl HAL_RCC_GetPCLK1Freq 9729 .LVL866: 3097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 9730 .loc 1 3097 9 is_stmt 1 view .LVU3257 9731 .L430: 3114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9732 .loc 1 3114 5 view .LVU3258 3114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9733 .loc 1 3114 8 is_stmt 0 view .LVU3259 ARM GAS /tmp/cceWHrnJ.s page 323 9734 01c8 0028 cmp r0, #0 9735 01ca 00F0A280 beq .L463 9736 .LVL867: 9737 .L428: 3117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9738 .loc 1 3117 7 is_stmt 1 view .LVU3260 3117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9739 .loc 1 3117 62 is_stmt 0 view .LVU3261 9740 01ce 626A ldr r2, [r4, #36] 3117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9741 .loc 1 3117 50 view .LVU3262 9742 01d0 224B ldr r3, .L483+24 9743 01d2 33F81220 ldrh r2, [r3, r2, lsl #1] 3117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9744 .loc 1 3117 26 view .LVU3263 9745 01d6 B0FBF2F3 udiv r3, r0, r2 9746 .LVL868: 3120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate))) 9747 .loc 1 3120 7 is_stmt 1 view .LVU3264 3120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate))) 9748 .loc 1 3120 50 is_stmt 0 view .LVU3265 9749 01da 6568 ldr r5, [r4, #4] 3120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate))) 9750 .loc 1 3120 37 view .LVU3266 9751 01dc 05EB4501 add r1, r5, r5, lsl #1 3120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate))) 9752 .loc 1 3120 10 view .LVU3267 9753 01e0 9942 cmp r1, r3 9754 01e2 00F29880 bhi .L464 3120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate))) 9755 .loc 1 3120 62 discriminator 1 view .LVU3268 9756 01e6 B3EB053F cmp r3, r5, lsl #12 9757 01ea 00F29680 bhi .L465 3129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= LPUART_BRR_MIN) && (usartdiv <= LPUART_BRR_MAX)) 9758 .loc 1 3129 9 is_stmt 1 view .LVU3269 3129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= LPUART_BRR_MIN) && (usartdiv <= LPUART_BRR_MAX)) 9759 .loc 1 3129 31 is_stmt 0 view .LVU3270 9760 01ee 0026 movs r6, #0 9761 01f0 3346 mov r3, r6 9762 .LVL869: 3129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= LPUART_BRR_MIN) && (usartdiv <= LPUART_BRR_MAX)) 9763 .loc 1 3129 31 view .LVU3271 9764 01f2 3146 mov r1, r6 9765 01f4 FFF7FEFF bl __aeabi_uldivmod 9766 .LVL870: 3129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= LPUART_BRR_MIN) && (usartdiv <= LPUART_BRR_MAX)) 9767 .loc 1 3129 31 view .LVU3272 9768 01f8 0902 lsls r1, r1, #8 9769 01fa 41EA1061 orr r1, r1, r0, lsr #24 9770 01fe 0002 lsls r0, r0, #8 9771 0200 6B08 lsrs r3, r5, #1 9772 0202 C018 adds r0, r0, r3 9773 0204 2A46 mov r2, r5 9774 0206 3346 mov r3, r6 9775 0208 41F10001 adc r1, r1, #0 9776 020c FFF7FEFF bl __aeabi_uldivmod 9777 .LVL871: ARM GAS /tmp/cceWHrnJ.s page 324 3130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9778 .loc 1 3130 9 is_stmt 1 view .LVU3273 3130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9779 .loc 1 3130 42 is_stmt 0 view .LVU3274 9780 0210 A0F54072 sub r2, r0, #768 3130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9781 .loc 1 3130 12 view .LVU3275 9782 0214 124B ldr r3, .L483+28 9783 0216 9A42 cmp r2, r3 9784 0218 00F28180 bhi .L466 3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9785 .loc 1 3132 11 is_stmt 1 view .LVU3276 3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9786 .loc 1 3132 16 is_stmt 0 view .LVU3277 9787 021c 2368 ldr r3, [r4] 3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9788 .loc 1 3132 32 view .LVU3278 9789 021e D860 str r0, [r3, #12] 9790 0220 3046 mov r0, r6 9791 .LVL872: 3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9792 .loc 1 3132 32 view .LVU3279 9793 0222 62E0 b .L424 9794 .LVL873: 9795 .L427: 3102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 9796 .loc 1 3102 9 is_stmt 1 view .LVU3280 3102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 9797 .loc 1 3102 16 is_stmt 0 view .LVU3281 9798 0224 FFF7FEFF bl HAL_RCC_GetSysClockFreq 9799 .LVL874: 3103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE: 9800 .loc 1 3103 9 is_stmt 1 view .LVU3282 9801 0228 CEE7 b .L430 9802 .LVL875: 9803 .L462: 3099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 9804 .loc 1 3099 14 is_stmt 0 view .LVU3283 9805 022a 0E48 ldr r0, .L483+32 9806 022c CFE7 b .L428 9807 .L482: 3145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9808 .loc 1 3145 5 is_stmt 1 view .LVU3284 9809 022e 082A cmp r2, #8 9810 0230 77D8 bhi .L467 9811 0232 DFE802F0 tbb [pc, r2] 9812 .L433: 9813 0236 19 .byte (.L437-.L433)/2 9814 0237 39 .byte (.L436-.L433)/2 9815 0238 05 .byte (.L435-.L433)/2 9816 0239 76 .byte (.L467-.L433)/2 9817 023a 3C .byte (.L434-.L433)/2 9818 023b 76 .byte (.L467-.L433)/2 9819 023c 76 .byte (.L467-.L433)/2 9820 023d 76 .byte (.L467-.L433)/2 9821 023e 1D .byte (.L432-.L433)/2 9822 023f 00 .p2align 1 ARM GAS /tmp/cceWHrnJ.s page 325 9823 .L435: 9824 0240 0848 ldr r0, .L483+32 9825 0242 15E0 b .L432 9826 .L484: 9827 .align 2 9828 .L483: 9829 0244 F369FFCF .word -805344781 9830 0248 00800040 .word 1073774592 9831 024c 00380140 .word 1073821696 9832 0250 00440040 .word 1073759232 9833 0254 00480040 .word 1073760256 9834 0258 004C0040 .word 1073761280 9835 025c 00000000 .word UARTPrescTable 9836 0260 FFFC0F00 .word 1047807 9837 0264 0024F400 .word 16000000 9838 .L437: 3148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 9839 .loc 1 3148 9 view .LVU3285 3148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 9840 .loc 1 3148 16 is_stmt 0 view .LVU3286 9841 0268 FFF7FEFF bl HAL_RCC_GetPCLK1Freq 9842 .LVL876: 3149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2: 9843 .loc 1 3149 9 is_stmt 1 view .LVU3287 9844 .L438: 3169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9845 .loc 1 3169 5 view .LVU3288 3169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9846 .loc 1 3169 8 is_stmt 0 view .LVU3289 9847 026c 0028 cmp r0, #0 9848 026e 5AD0 beq .L468 9849 .LVL877: 9850 .L432: 3171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 9851 .loc 1 3171 7 is_stmt 1 view .LVU3290 3171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 9852 .loc 1 3171 29 is_stmt 0 view .LVU3291 9853 0270 626A ldr r2, [r4, #36] 9854 0272 324B ldr r3, .L485 9855 0274 33F81230 ldrh r3, [r3, r2, lsl #1] 9856 0278 B0FBF3F0 udiv r0, r0, r3 9857 027c 6268 ldr r2, [r4, #4] 9858 027e 5308 lsrs r3, r2, #1 9859 0280 03EB4003 add r3, r3, r0, lsl #1 3171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 9860 .loc 1 3171 16 view .LVU3292 9861 0284 B3FBF2F3 udiv r3, r3, r2 9862 .LVL878: 3172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9863 .loc 1 3172 7 is_stmt 1 view .LVU3293 3172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9864 .loc 1 3172 38 is_stmt 0 view .LVU3294 9865 0288 A3F11001 sub r1, r3, #16 3172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9866 .loc 1 3172 10 view .LVU3295 9867 028c 4FF6EF72 movw r2, #65519 9868 0290 9142 cmp r1, r2 ARM GAS /tmp/cceWHrnJ.s page 326 9869 0292 4AD8 bhi .L469 3174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U); 9870 .loc 1 3174 9 is_stmt 1 view .LVU3296 3174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U); 9871 .loc 1 3174 19 is_stmt 0 view .LVU3297 9872 0294 9AB2 uxth r2, r3 3174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U); 9873 .loc 1 3174 17 view .LVU3298 9874 0296 22F00F02 bic r2, r2, #15 9875 .LVL879: 3175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->BRR = brrtemp; 9876 .loc 1 3175 9 is_stmt 1 view .LVU3299 3175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->BRR = brrtemp; 9877 .loc 1 3175 20 is_stmt 0 view .LVU3300 9878 029a C3F34203 ubfx r3, r3, #1, #3 9879 .LVL880: 3175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->BRR = brrtemp; 9880 .loc 1 3175 17 view .LVU3301 9881 029e 1343 orrs r3, r3, r2 9882 .LVL881: 3176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9883 .loc 1 3176 9 is_stmt 1 view .LVU3302 3176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9884 .loc 1 3176 14 is_stmt 0 view .LVU3303 9885 02a0 2268 ldr r2, [r4] 3176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9886 .loc 1 3176 30 view .LVU3304 9887 02a2 D360 str r3, [r2, #12] 9888 02a4 0020 movs r0, #0 9889 02a6 20E0 b .L424 9890 .LVL882: 9891 .L436: 3151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 9892 .loc 1 3151 9 is_stmt 1 view .LVU3305 3151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 9893 .loc 1 3151 16 is_stmt 0 view .LVU3306 9894 02a8 FFF7FEFF bl HAL_RCC_GetPCLK2Freq 9895 .LVL883: 3152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 9896 .loc 1 3152 9 is_stmt 1 view .LVU3307 9897 02ac DEE7 b .L438 9898 .LVL884: 9899 .L434: 3157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 9900 .loc 1 3157 9 view .LVU3308 3157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 9901 .loc 1 3157 16 is_stmt 0 view .LVU3309 9902 02ae FFF7FEFF bl HAL_RCC_GetSysClockFreq 9903 .LVL885: 3158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE: 9904 .loc 1 3158 9 is_stmt 1 view .LVU3310 9905 02b2 DBE7 b .L438 9906 .LVL886: 9907 .L442: 3186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9908 .loc 1 3186 5 is_stmt 0 view .LVU3311 9909 02b4 2248 ldr r0, .L485+4 ARM GAS /tmp/cceWHrnJ.s page 327 9910 02b6 03E0 b .L439 9911 .L444: 3189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 9912 .loc 1 3189 9 is_stmt 1 view .LVU3312 3189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 9913 .loc 1 3189 16 is_stmt 0 view .LVU3313 9914 02b8 FFF7FEFF bl HAL_RCC_GetPCLK1Freq 9915 .LVL887: 3190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2: 9916 .loc 1 3190 9 is_stmt 1 view .LVU3314 9917 .L445: 3209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9918 .loc 1 3209 5 view .LVU3315 3209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9919 .loc 1 3209 8 is_stmt 0 view .LVU3316 9920 02bc 0028 cmp r0, #0 9921 02be 38D0 beq .L472 9922 .LVL888: 9923 .L439: 3212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 9924 .loc 1 3212 7 is_stmt 1 view .LVU3317 3212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 9925 .loc 1 3212 29 is_stmt 0 view .LVU3318 9926 02c0 626A ldr r2, [r4, #36] 9927 02c2 1E4B ldr r3, .L485 9928 02c4 33F81230 ldrh r3, [r3, r2, lsl #1] 9929 02c8 B0FBF3F0 udiv r0, r0, r3 9930 02cc 6368 ldr r3, [r4, #4] 9931 02ce 00EB5300 add r0, r0, r3, lsr #1 3212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 9932 .loc 1 3212 16 view .LVU3319 9933 02d2 B0FBF3F0 udiv r0, r0, r3 9934 .LVL889: 3213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9935 .loc 1 3213 7 is_stmt 1 view .LVU3320 3213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9936 .loc 1 3213 38 is_stmt 0 view .LVU3321 9937 02d6 A0F11002 sub r2, r0, #16 3213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9938 .loc 1 3213 10 view .LVU3322 9939 02da 4FF6EF73 movw r3, #65519 9940 02de 9A42 cmp r2, r3 9941 02e0 29D8 bhi .L473 3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9942 .loc 1 3215 9 is_stmt 1 view .LVU3323 3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9943 .loc 1 3215 14 is_stmt 0 view .LVU3324 9944 02e2 2368 ldr r3, [r4] 9945 02e4 80B2 uxth r0, r0 9946 .LVL890: 3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9947 .loc 1 3215 30 view .LVU3325 9948 02e6 D860 str r0, [r3, #12] 9949 02e8 0020 movs r0, #0 9950 .LVL891: 9951 .L424: 3225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->NbRxDataToProcess = 1; ARM GAS /tmp/cceWHrnJ.s page 328 9952 .loc 1 3225 3 is_stmt 1 view .LVU3326 3225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->NbRxDataToProcess = 1; 9953 .loc 1 3225 28 is_stmt 0 view .LVU3327 9954 02ea 0123 movs r3, #1 9955 02ec A4F86A30 strh r3, [r4, #106] @ movhi 3226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9956 .loc 1 3226 3 is_stmt 1 view .LVU3328 3226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9957 .loc 1 3226 28 is_stmt 0 view .LVU3329 9958 02f0 A4F86830 strh r3, [r4, #104] @ movhi 3229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL; 9959 .loc 1 3229 3 is_stmt 1 view .LVU3330 3229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL; 9960 .loc 1 3229 16 is_stmt 0 view .LVU3331 9961 02f4 0023 movs r3, #0 9962 02f6 2367 str r3, [r4, #112] 3230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9963 .loc 1 3230 3 is_stmt 1 view .LVU3332 3230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9964 .loc 1 3230 16 is_stmt 0 view .LVU3333 9965 02f8 6367 str r3, [r4, #116] 3232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 9966 .loc 1 3232 3 is_stmt 1 view .LVU3334 3233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 9967 .loc 1 3233 1 is_stmt 0 view .LVU3335 9968 02fa 70BD pop {r4, r5, r6, pc} 9969 .LVL892: 9970 .L443: 3192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 9971 .loc 1 3192 9 is_stmt 1 view .LVU3336 3192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 9972 .loc 1 3192 16 is_stmt 0 view .LVU3337 9973 02fc FFF7FEFF bl HAL_RCC_GetPCLK2Freq 9974 .LVL893: 3193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 9975 .loc 1 3193 9 is_stmt 1 view .LVU3338 9976 0300 DCE7 b .L445 9977 .LVL894: 9978 .L441: 3198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 9979 .loc 1 3198 9 view .LVU3339 3198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 9980 .loc 1 3198 16 is_stmt 0 view .LVU3340 9981 0302 FFF7FEFF bl HAL_RCC_GetSysClockFreq 9982 .LVL895: 3199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE: 9983 .loc 1 3199 9 is_stmt 1 view .LVU3341 9984 0306 D9E7 b .L445 9985 .LVL896: 9986 .L471: 3201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; 9987 .loc 1 3201 14 is_stmt 0 view .LVU3342 9988 0308 4FF40040 mov r0, #32768 9989 030c D8E7 b .L439 9990 .L461: 3093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9991 .loc 1 3093 5 view .LVU3343 ARM GAS /tmp/cceWHrnJ.s page 329 9992 030e 0120 movs r0, #1 9993 0310 EBE7 b .L424 9994 .LVL897: 9995 .L463: 3093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9996 .loc 1 3093 5 view .LVU3344 9997 0312 0020 movs r0, #0 9998 .LVL898: 3093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 9999 .loc 1 3093 5 view .LVU3345 10000 0314 E9E7 b .L424 10001 .LVL899: 10002 .L464: 3123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10003 .loc 1 3123 13 view .LVU3346 10004 0316 0120 movs r0, #1 10005 0318 E7E7 b .L424 10006 .L465: 10007 031a 0120 movs r0, #1 10008 031c E5E7 b .L424 10009 .LVL900: 10010 .L466: 3136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10011 .loc 1 3136 15 view .LVU3347 10012 031e 0120 movs r0, #1 10013 .LVL901: 3136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10014 .loc 1 3136 15 view .LVU3348 10015 0320 E3E7 b .L424 10016 .LVL902: 10017 .L467: 3145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10018 .loc 1 3145 5 view .LVU3349 10019 0322 0120 movs r0, #1 10020 0324 E1E7 b .L424 10021 .LVL903: 10022 .L468: 3145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10023 .loc 1 3145 5 view .LVU3350 10024 0326 0020 movs r0, #0 10025 .LVL904: 3145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10026 .loc 1 3145 5 view .LVU3351 10027 0328 DFE7 b .L424 10028 .LVL905: 10029 .L469: 3180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10030 .loc 1 3180 13 view .LVU3352 10031 032a 0120 movs r0, #1 10032 032c DDE7 b .L424 10033 .LVL906: 10034 .L470: 3186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10035 .loc 1 3186 5 view .LVU3353 10036 032e 0120 movs r0, #1 10037 0330 DBE7 b .L424 10038 .LVL907: ARM GAS /tmp/cceWHrnJ.s page 330 10039 .L472: 3186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10040 .loc 1 3186 5 view .LVU3354 10041 0332 0020 movs r0, #0 10042 .LVL908: 3186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10043 .loc 1 3186 5 view .LVU3355 10044 0334 D9E7 b .L424 10045 .LVL909: 10046 .L473: 3219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10047 .loc 1 3219 13 view .LVU3356 10048 0336 0120 movs r0, #1 10049 .LVL910: 3219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10050 .loc 1 3219 13 view .LVU3357 10051 0338 D7E7 b .L424 10052 .L486: 10053 033a 00BF .align 2 10054 .L485: 10055 033c 00000000 .word UARTPrescTable 10056 0340 0024F400 .word 16000000 10057 .cfi_endproc 10058 .LFE372: 10060 .section .text.UART_AdvFeatureConfig,"ax",%progbits 10061 .align 1 10062 .global UART_AdvFeatureConfig 10063 .syntax unified 10064 .thumb 10065 .thumb_func 10067 UART_AdvFeatureConfig: 10068 .LVL911: 10069 .LFB373: 3241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check whether the set of advanced features to configure is properly set */ 10070 .loc 1 3241 1 is_stmt 1 view -0 10071 .cfi_startproc 10072 @ args = 0, pretend = 0, frame = 0 10073 @ frame_needed = 0, uses_anonymous_args = 0 10074 @ link register save eliminated. 3243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10075 .loc 1 3243 3 view .LVU3359 3246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10076 .loc 1 3246 3 view .LVU3360 3246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10077 .loc 1 3246 7 is_stmt 0 view .LVU3361 10078 0000 836A ldr r3, [r0, #40] 3246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10079 .loc 1 3246 6 view .LVU3362 10080 0002 13F0010F tst r3, #1 10081 0006 06D0 beq .L488 3248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_TXINV, huart->AdvancedInit.TxPinLevelInvert); 10082 .loc 1 3248 5 is_stmt 1 view .LVU3363 3249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10083 .loc 1 3249 5 view .LVU3364 10084 0008 0268 ldr r2, [r0] 10085 000a 5368 ldr r3, [r2, #4] 10086 000c 23F40033 bic r3, r3, #131072 ARM GAS /tmp/cceWHrnJ.s page 331 10087 0010 C16A ldr r1, [r0, #44] 10088 0012 0B43 orrs r3, r3, r1 10089 0014 5360 str r3, [r2, #4] 10090 .L488: 3253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10091 .loc 1 3253 3 view .LVU3365 3253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10092 .loc 1 3253 7 is_stmt 0 view .LVU3366 10093 0016 836A ldr r3, [r0, #40] 3253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10094 .loc 1 3253 6 view .LVU3367 10095 0018 13F0020F tst r3, #2 10096 001c 06D0 beq .L489 3255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_RXINV, huart->AdvancedInit.RxPinLevelInvert); 10097 .loc 1 3255 5 is_stmt 1 view .LVU3368 3256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10098 .loc 1 3256 5 view .LVU3369 10099 001e 0268 ldr r2, [r0] 10100 0020 5368 ldr r3, [r2, #4] 10101 0022 23F48033 bic r3, r3, #65536 10102 0026 016B ldr r1, [r0, #48] 10103 0028 0B43 orrs r3, r3, r1 10104 002a 5360 str r3, [r2, #4] 10105 .L489: 3260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10106 .loc 1 3260 3 view .LVU3370 3260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10107 .loc 1 3260 7 is_stmt 0 view .LVU3371 10108 002c 836A ldr r3, [r0, #40] 3260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10109 .loc 1 3260 6 view .LVU3372 10110 002e 13F0040F tst r3, #4 10111 0032 06D0 beq .L490 3262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_DATAINV, huart->AdvancedInit.DataInvert); 10112 .loc 1 3262 5 is_stmt 1 view .LVU3373 3263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10113 .loc 1 3263 5 view .LVU3374 10114 0034 0268 ldr r2, [r0] 10115 0036 5368 ldr r3, [r2, #4] 10116 0038 23F48023 bic r3, r3, #262144 10117 003c 416B ldr r1, [r0, #52] 10118 003e 0B43 orrs r3, r3, r1 10119 0040 5360 str r3, [r2, #4] 10120 .L490: 3267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10121 .loc 1 3267 3 view .LVU3375 3267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10122 .loc 1 3267 7 is_stmt 0 view .LVU3376 10123 0042 836A ldr r3, [r0, #40] 3267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10124 .loc 1 3267 6 view .LVU3377 10125 0044 13F0080F tst r3, #8 10126 0048 06D0 beq .L491 3269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_SWAP, huart->AdvancedInit.Swap); 10127 .loc 1 3269 5 is_stmt 1 view .LVU3378 3270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10128 .loc 1 3270 5 view .LVU3379 ARM GAS /tmp/cceWHrnJ.s page 332 10129 004a 0268 ldr r2, [r0] 10130 004c 5368 ldr r3, [r2, #4] 10131 004e 23F40043 bic r3, r3, #32768 10132 0052 816B ldr r1, [r0, #56] 10133 0054 0B43 orrs r3, r3, r1 10134 0056 5360 str r3, [r2, #4] 10135 .L491: 3274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10136 .loc 1 3274 3 view .LVU3380 3274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10137 .loc 1 3274 7 is_stmt 0 view .LVU3381 10138 0058 836A ldr r3, [r0, #40] 3274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10139 .loc 1 3274 6 view .LVU3382 10140 005a 13F0100F tst r3, #16 10141 005e 06D0 beq .L492 3276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_OVRDIS, huart->AdvancedInit.OverrunDisable); 10142 .loc 1 3276 5 is_stmt 1 view .LVU3383 3277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10143 .loc 1 3277 5 view .LVU3384 10144 0060 0268 ldr r2, [r0] 10145 0062 9368 ldr r3, [r2, #8] 10146 0064 23F48053 bic r3, r3, #4096 10147 0068 C16B ldr r1, [r0, #60] 10148 006a 0B43 orrs r3, r3, r1 10149 006c 9360 str r3, [r2, #8] 10150 .L492: 3281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10151 .loc 1 3281 3 view .LVU3385 3281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10152 .loc 1 3281 7 is_stmt 0 view .LVU3386 10153 006e 836A ldr r3, [r0, #40] 3281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10154 .loc 1 3281 6 view .LVU3387 10155 0070 13F0200F tst r3, #32 10156 0074 06D0 beq .L493 3283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_DDRE, huart->AdvancedInit.DMADisableonRxError); 10157 .loc 1 3283 5 is_stmt 1 view .LVU3388 3284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10158 .loc 1 3284 5 view .LVU3389 10159 0076 0268 ldr r2, [r0] 10160 0078 9368 ldr r3, [r2, #8] 10161 007a 23F40053 bic r3, r3, #8192 10162 007e 016C ldr r1, [r0, #64] 10163 0080 0B43 orrs r3, r3, r1 10164 0082 9360 str r3, [r2, #8] 10165 .L493: 3288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10166 .loc 1 3288 3 view .LVU3390 3288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10167 .loc 1 3288 7 is_stmt 0 view .LVU3391 10168 0084 836A ldr r3, [r0, #40] 3288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10169 .loc 1 3288 6 view .LVU3392 10170 0086 13F0400F tst r3, #64 10171 008a 0AD0 beq .L494 3290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATE(huart->AdvancedInit.AutoBaudRateEnable)); ARM GAS /tmp/cceWHrnJ.s page 333 10172 .loc 1 3290 5 is_stmt 1 view .LVU3393 3291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABREN, huart->AdvancedInit.AutoBaudRateEnable); 10173 .loc 1 3291 5 view .LVU3394 3292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* set auto Baudrate detection parameters if detection is enabled */ 10174 .loc 1 3292 5 view .LVU3395 10175 008c 0268 ldr r2, [r0] 10176 008e 5368 ldr r3, [r2, #4] 10177 0090 23F48013 bic r3, r3, #1048576 10178 0094 416C ldr r1, [r0, #68] 10179 0096 0B43 orrs r3, r3, r1 10180 0098 5360 str r3, [r2, #4] 3294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10181 .loc 1 3294 5 view .LVU3396 3294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10182 .loc 1 3294 28 is_stmt 0 view .LVU3397 10183 009a 436C ldr r3, [r0, #68] 3294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10184 .loc 1 3294 8 view .LVU3398 10185 009c B3F5801F cmp r3, #1048576 10186 00a0 0BD0 beq .L496 10187 .L494: 3302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10188 .loc 1 3302 3 is_stmt 1 view .LVU3399 3302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10189 .loc 1 3302 7 is_stmt 0 view .LVU3400 10190 00a2 836A ldr r3, [r0, #40] 3302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10191 .loc 1 3302 6 view .LVU3401 10192 00a4 13F0800F tst r3, #128 10193 00a8 06D0 beq .L487 3304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_MSBFIRST, huart->AdvancedInit.MSBFirst); 10194 .loc 1 3304 5 is_stmt 1 view .LVU3402 3305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10195 .loc 1 3305 5 view .LVU3403 10196 00aa 0268 ldr r2, [r0] 10197 00ac 5368 ldr r3, [r2, #4] 10198 00ae 23F40023 bic r3, r3, #524288 10199 00b2 C16C ldr r1, [r0, #76] 10200 00b4 0B43 orrs r3, r3, r1 10201 00b6 5360 str r3, [r2, #4] 10202 .L487: 3307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10203 .loc 1 3307 1 is_stmt 0 view .LVU3404 10204 00b8 7047 bx lr 10205 .L496: 3296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABRMODE, huart->AdvancedInit.AutoBaudRateMode); 10206 .loc 1 3296 7 is_stmt 1 view .LVU3405 3297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10207 .loc 1 3297 7 view .LVU3406 10208 00ba 0268 ldr r2, [r0] 10209 00bc 5368 ldr r3, [r2, #4] 10210 00be 23F4C003 bic r3, r3, #6291456 10211 00c2 816C ldr r1, [r0, #72] 10212 00c4 0B43 orrs r3, r3, r1 10213 00c6 5360 str r3, [r2, #4] 10214 00c8 EBE7 b .L494 10215 .cfi_endproc ARM GAS /tmp/cceWHrnJ.s page 334 10216 .LFE373: 10218 .section .text.UART_WaitOnFlagUntilTimeout,"ax",%progbits 10219 .align 1 10220 .global UART_WaitOnFlagUntilTimeout 10221 .syntax unified 10222 .thumb 10223 .thumb_func 10225 UART_WaitOnFlagUntilTimeout: 10226 .LVL912: 10227 .LFB375: 3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Wait until flag is set */ 10228 .loc 1 3368 1 view -0 10229 .cfi_startproc 10230 @ args = 4, pretend = 0, frame = 0 10231 @ frame_needed = 0, uses_anonymous_args = 0 3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Wait until flag is set */ 10232 .loc 1 3368 1 is_stmt 0 view .LVU3408 10233 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr} 10234 .LCFI32: 10235 .cfi_def_cfa_offset 32 10236 .cfi_offset 3, -32 10237 .cfi_offset 4, -28 10238 .cfi_offset 5, -24 10239 .cfi_offset 6, -20 10240 .cfi_offset 7, -16 10241 .cfi_offset 8, -12 10242 .cfi_offset 9, -8 10243 .cfi_offset 14, -4 10244 0004 0546 mov r5, r0 10245 0006 0F46 mov r7, r1 10246 0008 1646 mov r6, r2 10247 000a 9946 mov r9, r3 10248 000c DDF82080 ldr r8, [sp, #32] 3370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10249 .loc 1 3370 3 is_stmt 1 view .LVU3409 10250 .LVL913: 10251 .L499: 3370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10252 .loc 1 3370 59 view .LVU3410 3370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10253 .loc 1 3370 11 is_stmt 0 view .LVU3411 10254 0010 2B68 ldr r3, [r5] 10255 0012 DC69 ldr r4, [r3, #28] 3370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10256 .loc 1 3370 50 view .LVU3412 10257 0014 37EA0404 bics r4, r7, r4 10258 0018 0CBF ite eq 10259 001a 0124 moveq r4, #1 10260 001c 0024 movne r4, #0 3370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10261 .loc 1 3370 59 view .LVU3413 10262 001e B442 cmp r4, r6 10263 0020 57D1 bne .L509 3373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10264 .loc 1 3373 5 is_stmt 1 view .LVU3414 3373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10265 .loc 1 3373 8 is_stmt 0 view .LVU3415 ARM GAS /tmp/cceWHrnJ.s page 335 10266 0022 B8F1FF3F cmp r8, #-1 10267 0026 F3D0 beq .L499 3375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10268 .loc 1 3375 7 is_stmt 1 view .LVU3416 3375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10269 .loc 1 3375 13 is_stmt 0 view .LVU3417 10270 0028 FFF7FEFF bl HAL_GetTick 10271 .LVL914: 3375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10272 .loc 1 3375 27 view .LVU3418 10273 002c A0EB0900 sub r0, r0, r9 3375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10274 .loc 1 3375 10 view .LVU3419 10275 0030 4045 cmp r0, r8 10276 0032 2FD8 bhi .L502 3375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10277 .loc 1 3375 51 discriminator 1 view .LVU3420 10278 0034 B8F1000F cmp r8, #0 10279 0038 2CD0 beq .L502 3391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10280 .loc 1 3391 7 is_stmt 1 view .LVU3421 3391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10281 .loc 1 3391 11 is_stmt 0 view .LVU3422 10282 003a 2B68 ldr r3, [r5] 10283 003c 1A68 ldr r2, [r3] 3391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10284 .loc 1 3391 10 view .LVU3423 10285 003e 12F0040F tst r2, #4 10286 0042 E5D0 beq .L499 3393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10287 .loc 1 3393 9 is_stmt 1 view .LVU3424 3393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10288 .loc 1 3393 13 is_stmt 0 view .LVU3425 10289 0044 DA69 ldr r2, [r3, #28] 3393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10290 .loc 1 3393 12 view .LVU3426 10291 0046 12F4006F tst r2, #2048 10292 004a E1D0 beq .L499 3396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10293 .loc 1 3396 11 is_stmt 1 view .LVU3427 10294 004c 4FF40062 mov r2, #2048 10295 0050 1A62 str r2, [r3, #32] 10296 .L505: 3400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 10297 .loc 1 3400 11 discriminator 1 view .LVU3428 10298 .LBB936: 3400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 10299 .loc 1 3400 11 discriminator 1 view .LVU3429 3400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 10300 .loc 1 3400 11 discriminator 1 view .LVU3430 3400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 10301 .loc 1 3400 11 discriminator 1 view .LVU3431 10302 0052 2A68 ldr r2, [r5] 10303 .LVL915: 10304 .LBB937: 10305 .LBI937: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { ARM GAS /tmp/cceWHrnJ.s page 336 10306 .loc 2 1151 31 discriminator 1 view .LVU3432 10307 .LBB938: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 10308 .loc 2 1153 5 discriminator 1 view .LVU3433 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10309 .loc 2 1155 4 discriminator 1 view .LVU3434 10310 .syntax unified 10311 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10312 0054 52E8003F ldrex r3, [r2] 10313 @ 0 "" 2 10314 .LVL916: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10315 .loc 2 1156 4 discriminator 1 view .LVU3435 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10316 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU3436 10317 .thumb 10318 .syntax unified 10319 .LBE938: 10320 .LBE937: 3400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 10321 .loc 1 3400 11 discriminator 1 view .LVU3437 10322 0058 23F4D073 bic r3, r3, #416 10323 .LVL917: 3400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 10324 .loc 1 3400 11 is_stmt 1 discriminator 1 view .LVU3438 10325 .LBB939: 10326 .LBI939: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10327 .loc 2 1202 31 discriminator 1 view .LVU3439 10328 .LBB940: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 10329 .loc 2 1204 4 discriminator 1 view .LVU3440 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10330 .loc 2 1206 4 discriminator 1 view .LVU3441 10331 .syntax unified 10332 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10333 005c 42E80031 strex r1, r3, [r2] 10334 @ 0 "" 2 10335 .LVL918: 10336 .loc 2 1207 4 discriminator 1 view .LVU3442 10337 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU3443 10338 .thumb 10339 .syntax unified 10340 .LBE940: 10341 .LBE939: 3400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 10342 .loc 1 3400 11 discriminator 1 view .LVU3444 10343 0060 0029 cmp r1, #0 10344 0062 F6D1 bne .L505 10345 .LVL919: 10346 .L506: 3400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 10347 .loc 1 3400 11 discriminator 1 view .LVU3445 10348 .LBE936: 3400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 10349 .loc 1 3400 11 is_stmt 1 discriminator 1 view .LVU3446 3402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 337 10350 .loc 1 3402 11 discriminator 1 view .LVU3447 10351 .LBB941: 3402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10352 .loc 1 3402 11 discriminator 1 view .LVU3448 3402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10353 .loc 1 3402 11 discriminator 1 view .LVU3449 3402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10354 .loc 1 3402 11 discriminator 1 view .LVU3450 10355 0064 2A68 ldr r2, [r5] 10356 .LVL920: 10357 .LBB942: 10358 .LBI942: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10359 .loc 2 1151 31 discriminator 1 view .LVU3451 10360 .LBB943: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 10361 .loc 2 1153 5 discriminator 1 view .LVU3452 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10362 .loc 2 1155 4 discriminator 1 view .LVU3453 10363 0066 02F10803 add r3, r2, #8 10364 .LVL921: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10365 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU3454 10366 .syntax unified 10367 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10368 006a 53E8003F ldrex r3, [r3] 10369 @ 0 "" 2 10370 .LVL922: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10371 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU3455 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10372 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU3456 10373 .thumb 10374 .syntax unified 10375 .LBE943: 10376 .LBE942: 3402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10377 .loc 1 3402 11 discriminator 1 view .LVU3457 10378 006e 23F00103 bic r3, r3, #1 10379 .LVL923: 3402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10380 .loc 1 3402 11 is_stmt 1 discriminator 1 view .LVU3458 10381 .LBB944: 10382 .LBI944: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10383 .loc 2 1202 31 discriminator 1 view .LVU3459 10384 .LBB945: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 10385 .loc 2 1204 4 discriminator 1 view .LVU3460 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10386 .loc 2 1206 4 discriminator 1 view .LVU3461 10387 0072 0832 adds r2, r2, #8 10388 .LVL924: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10389 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU3462 10390 .syntax unified 10391 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 ARM GAS /tmp/cceWHrnJ.s page 338 10392 0074 42E80031 strex r1, r3, [r2] 10393 @ 0 "" 2 10394 .LVL925: 10395 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU3463 10396 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU3464 10397 .thumb 10398 .syntax unified 10399 .LBE945: 10400 .LBE944: 3402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10401 .loc 1 3402 11 discriminator 1 view .LVU3465 10402 0078 0029 cmp r1, #0 10403 007a F3D1 bne .L506 10404 .LBE941: 3402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10405 .loc 1 3402 11 is_stmt 1 discriminator 2 view .LVU3466 3404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 10406 .loc 1 3404 11 discriminator 2 view .LVU3467 3404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 10407 .loc 1 3404 25 is_stmt 0 discriminator 2 view .LVU3468 10408 007c 2023 movs r3, #32 10409 .LVL926: 3404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 10410 .loc 1 3404 25 discriminator 2 view .LVU3469 10411 007e C5F88430 str r3, [r5, #132] 3405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_RTO; 10412 .loc 1 3405 11 is_stmt 1 discriminator 2 view .LVU3470 3405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_RTO; 10413 .loc 1 3405 26 is_stmt 0 discriminator 2 view .LVU3471 10414 0082 C5F88830 str r3, [r5, #136] 3406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10415 .loc 1 3406 11 is_stmt 1 discriminator 2 view .LVU3472 3406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10416 .loc 1 3406 28 is_stmt 0 discriminator 2 view .LVU3473 10417 0086 C5F88C30 str r3, [r5, #140] 3409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10418 .loc 1 3409 11 is_stmt 1 discriminator 2 view .LVU3474 3409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10419 .loc 1 3409 11 discriminator 2 view .LVU3475 10420 008a 0023 movs r3, #0 10421 008c 85F88030 strb r3, [r5, #128] 3409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10422 .loc 1 3409 11 discriminator 2 view .LVU3476 3411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10423 .loc 1 3411 11 discriminator 2 view .LVU3477 3411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10424 .loc 1 3411 18 is_stmt 0 discriminator 2 view .LVU3478 10425 0090 0320 movs r0, #3 10426 0092 1FE0 b .L504 10427 .LVL927: 10428 .L502: 3379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 10429 .loc 1 3379 9 is_stmt 1 discriminator 1 view .LVU3479 10430 .LBB946: 3379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 10431 .loc 1 3379 9 discriminator 1 view .LVU3480 3379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); ARM GAS /tmp/cceWHrnJ.s page 339 10432 .loc 1 3379 9 discriminator 1 view .LVU3481 3379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 10433 .loc 1 3379 9 discriminator 1 view .LVU3482 10434 0094 2A68 ldr r2, [r5] 10435 .LVL928: 10436 .LBB947: 10437 .LBI947: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10438 .loc 2 1151 31 discriminator 1 view .LVU3483 10439 .LBB948: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 10440 .loc 2 1153 5 discriminator 1 view .LVU3484 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10441 .loc 2 1155 4 discriminator 1 view .LVU3485 10442 .syntax unified 10443 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10444 0096 52E8003F ldrex r3, [r2] 10445 @ 0 "" 2 10446 .LVL929: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10447 .loc 2 1156 4 discriminator 1 view .LVU3486 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10448 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU3487 10449 .thumb 10450 .syntax unified 10451 .LBE948: 10452 .LBE947: 3379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 10453 .loc 1 3379 9 discriminator 1 view .LVU3488 10454 009a 23F4D073 bic r3, r3, #416 10455 .LVL930: 3379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 10456 .loc 1 3379 9 is_stmt 1 discriminator 1 view .LVU3489 10457 .LBB949: 10458 .LBI949: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10459 .loc 2 1202 31 discriminator 1 view .LVU3490 10460 .LBB950: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 10461 .loc 2 1204 4 discriminator 1 view .LVU3491 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10462 .loc 2 1206 4 discriminator 1 view .LVU3492 10463 .syntax unified 10464 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10465 009e 42E80031 strex r1, r3, [r2] 10466 @ 0 "" 2 10467 .LVL931: 10468 .loc 2 1207 4 discriminator 1 view .LVU3493 10469 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU3494 10470 .thumb 10471 .syntax unified 10472 .LBE950: 10473 .LBE949: 3379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 10474 .loc 1 3379 9 discriminator 1 view .LVU3495 10475 00a2 0029 cmp r1, #0 10476 00a4 F6D1 bne .L502 ARM GAS /tmp/cceWHrnJ.s page 340 10477 .LVL932: 10478 .L503: 3379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 10479 .loc 1 3379 9 discriminator 1 view .LVU3496 10480 .LBE946: 3379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE)); 10481 .loc 1 3379 9 is_stmt 1 discriminator 1 view .LVU3497 3381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10482 .loc 1 3381 9 discriminator 1 view .LVU3498 10483 .LBB951: 3381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10484 .loc 1 3381 9 discriminator 1 view .LVU3499 3381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10485 .loc 1 3381 9 discriminator 1 view .LVU3500 3381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10486 .loc 1 3381 9 discriminator 1 view .LVU3501 10487 00a6 2A68 ldr r2, [r5] 10488 .LVL933: 10489 .LBB952: 10490 .LBI952: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10491 .loc 2 1151 31 discriminator 1 view .LVU3502 10492 .LBB953: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 10493 .loc 2 1153 5 discriminator 1 view .LVU3503 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10494 .loc 2 1155 4 discriminator 1 view .LVU3504 10495 00a8 02F10803 add r3, r2, #8 10496 .LVL934: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10497 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU3505 10498 .syntax unified 10499 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10500 00ac 53E8003F ldrex r3, [r3] 10501 @ 0 "" 2 10502 .LVL935: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10503 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU3506 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10504 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU3507 10505 .thumb 10506 .syntax unified 10507 .LBE953: 10508 .LBE952: 3381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10509 .loc 1 3381 9 discriminator 1 view .LVU3508 10510 00b0 23F00103 bic r3, r3, #1 10511 .LVL936: 3381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10512 .loc 1 3381 9 is_stmt 1 discriminator 1 view .LVU3509 10513 .LBB954: 10514 .LBI954: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10515 .loc 2 1202 31 discriminator 1 view .LVU3510 10516 .LBB955: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 10517 .loc 2 1204 4 discriminator 1 view .LVU3511 ARM GAS /tmp/cceWHrnJ.s page 341 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10518 .loc 2 1206 4 discriminator 1 view .LVU3512 10519 00b4 0832 adds r2, r2, #8 10520 .LVL937: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10521 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU3513 10522 .syntax unified 10523 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10524 00b6 42E80031 strex r1, r3, [r2] 10525 @ 0 "" 2 10526 .LVL938: 10527 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU3514 10528 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU3515 10529 .thumb 10530 .syntax unified 10531 .LBE955: 10532 .LBE954: 3381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10533 .loc 1 3381 9 discriminator 1 view .LVU3516 10534 00ba 0029 cmp r1, #0 10535 00bc F3D1 bne .L503 10536 .LBE951: 3381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10537 .loc 1 3381 9 is_stmt 1 discriminator 2 view .LVU3517 3383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 10538 .loc 1 3383 9 discriminator 2 view .LVU3518 3383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 10539 .loc 1 3383 23 is_stmt 0 discriminator 2 view .LVU3519 10540 00be 2023 movs r3, #32 10541 .LVL939: 3383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 10542 .loc 1 3383 23 discriminator 2 view .LVU3520 10543 00c0 C5F88430 str r3, [r5, #132] 3384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10544 .loc 1 3384 9 is_stmt 1 discriminator 2 view .LVU3521 3384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10545 .loc 1 3384 24 is_stmt 0 discriminator 2 view .LVU3522 10546 00c4 C5F88830 str r3, [r5, #136] 3386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10547 .loc 1 3386 9 is_stmt 1 discriminator 2 view .LVU3523 3386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10548 .loc 1 3386 9 discriminator 2 view .LVU3524 10549 00c8 0023 movs r3, #0 10550 00ca 85F88030 strb r3, [r5, #128] 3386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10551 .loc 1 3386 9 discriminator 2 view .LVU3525 3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10552 .loc 1 3388 9 discriminator 2 view .LVU3526 3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10553 .loc 1 3388 16 is_stmt 0 discriminator 2 view .LVU3527 10554 00ce 0320 movs r0, #3 10555 00d0 00E0 b .L504 10556 .LVL940: 10557 .L509: 3416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10558 .loc 1 3416 10 view .LVU3528 10559 00d2 0020 movs r0, #0 ARM GAS /tmp/cceWHrnJ.s page 342 10560 .L504: 3417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10561 .loc 1 3417 1 view .LVU3529 10562 00d4 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 3417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10563 .loc 1 3417 1 view .LVU3530 10564 .cfi_endproc 10565 .LFE375: 10567 .section .text.HAL_UART_Transmit,"ax",%progbits 10568 .align 1 10569 .global HAL_UART_Transmit 10570 .syntax unified 10571 .thumb 10572 .thumb_func 10574 HAL_UART_Transmit: 10575 .LVL941: 10576 .LFB336: 1122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const uint8_t *pdata8bits; 10577 .loc 1 1122 1 is_stmt 1 view -0 10578 .cfi_startproc 10579 @ args = 0, pretend = 0, frame = 0 10580 @ frame_needed = 0, uses_anonymous_args = 0 1122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const uint8_t *pdata8bits; 10581 .loc 1 1122 1 is_stmt 0 view .LVU3532 10582 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} 10583 .LCFI33: 10584 .cfi_def_cfa_offset 24 10585 .cfi_offset 4, -24 10586 .cfi_offset 5, -20 10587 .cfi_offset 6, -16 10588 .cfi_offset 7, -12 10589 .cfi_offset 8, -8 10590 .cfi_offset 14, -4 10591 0004 82B0 sub sp, sp, #8 10592 .LCFI34: 10593 .cfi_def_cfa_offset 32 10594 0006 1E46 mov r6, r3 1123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const uint16_t *pdata16bits; 10595 .loc 1 1123 3 is_stmt 1 view .LVU3533 1124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t tickstart; 10596 .loc 1 1124 3 view .LVU3534 1125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10597 .loc 1 1125 3 view .LVU3535 1128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10598 .loc 1 1128 3 view .LVU3536 1128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10599 .loc 1 1128 12 is_stmt 0 view .LVU3537 10600 0008 D0F88430 ldr r3, [r0, #132] 10601 .LVL942: 1128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10602 .loc 1 1128 6 view .LVU3538 10603 000c 202B cmp r3, #32 10604 000e 58D1 bne .L517 10605 0010 0446 mov r4, r0 10606 0012 0D46 mov r5, r1 10607 0014 9046 mov r8, r2 1130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cceWHrnJ.s page 343 10608 .loc 1 1130 5 is_stmt 1 view .LVU3539 1130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10609 .loc 1 1130 8 is_stmt 0 view .LVU3540 10610 0016 0029 cmp r1, #0 10611 0018 57D0 beq .L518 1130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10612 .loc 1 1130 25 discriminator 1 view .LVU3541 10613 001a 002A cmp r2, #0 10614 001c 57D0 beq .L519 1135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10615 .loc 1 1135 5 is_stmt 1 view .LVU3542 1135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10616 .loc 1 1135 5 view .LVU3543 10617 001e 90F88030 ldrb r3, [r0, #128] @ zero_extendqisi2 10618 0022 012B cmp r3, #1 10619 0024 55D0 beq .L520 1135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10620 .loc 1 1135 5 discriminator 2 view .LVU3544 10621 0026 0123 movs r3, #1 10622 0028 80F88030 strb r3, [r0, #128] 1135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10623 .loc 1 1135 5 discriminator 2 view .LVU3545 1137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 10624 .loc 1 1137 5 discriminator 2 view .LVU3546 1137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 10625 .loc 1 1137 22 is_stmt 0 discriminator 2 view .LVU3547 10626 002c 0023 movs r3, #0 10627 002e C0F88C30 str r3, [r0, #140] 1138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10628 .loc 1 1138 5 is_stmt 1 discriminator 2 view .LVU3548 1138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10629 .loc 1 1138 19 is_stmt 0 discriminator 2 view .LVU3549 10630 0032 2123 movs r3, #33 10631 0034 C0F88430 str r3, [r0, #132] 1141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10632 .loc 1 1141 5 is_stmt 1 discriminator 2 view .LVU3550 1141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10633 .loc 1 1141 17 is_stmt 0 discriminator 2 view .LVU3551 10634 0038 FFF7FEFF bl HAL_GetTick 10635 .LVL943: 1141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10636 .loc 1 1141 17 discriminator 2 view .LVU3552 10637 003c 0746 mov r7, r0 10638 .LVL944: 1143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = Size; 10639 .loc 1 1143 5 is_stmt 1 discriminator 2 view .LVU3553 1143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = Size; 10640 .loc 1 1143 24 is_stmt 0 discriminator 2 view .LVU3554 10641 003e A4F85480 strh r8, [r4, #84] @ movhi 1144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10642 .loc 1 1144 5 is_stmt 1 discriminator 2 view .LVU3555 1144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10643 .loc 1 1144 24 is_stmt 0 discriminator 2 view .LVU3556 10644 0042 A4F85680 strh r8, [r4, #86] @ movhi 1147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10645 .loc 1 1147 5 is_stmt 1 discriminator 2 view .LVU3557 1147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cceWHrnJ.s page 344 10646 .loc 1 1147 21 is_stmt 0 discriminator 2 view .LVU3558 10647 0046 A368 ldr r3, [r4, #8] 1147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10648 .loc 1 1147 8 discriminator 2 view .LVU3559 10649 0048 B3F5805F cmp r3, #4096 10650 004c 05D0 beq .L526 1155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10651 .loc 1 1155 19 view .LVU3560 10652 004e 4FF00008 mov r8, #0 10653 .LVL945: 10654 .L512: 1158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10655 .loc 1 1158 5 is_stmt 1 view .LVU3561 1158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10656 .loc 1 1158 5 view .LVU3562 10657 0052 0023 movs r3, #0 10658 0054 84F88030 strb r3, [r4, #128] 1158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10659 .loc 1 1158 5 view .LVU3563 1160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10660 .loc 1 1160 5 view .LVU3564 1160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10661 .loc 1 1160 11 is_stmt 0 view .LVU3565 10662 0058 14E0 b .L513 10663 .LVL946: 10664 .L526: 1147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10665 .loc 1 1147 71 discriminator 1 view .LVU3566 10666 005a 2369 ldr r3, [r4, #16] 1147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10667 .loc 1 1147 56 discriminator 1 view .LVU3567 10668 005c 13B1 cbz r3, .L522 1155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10669 .loc 1 1155 19 view .LVU3568 10670 005e 4FF00008 mov r8, #0 10671 0062 F6E7 b .L512 10672 .L522: 1150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10673 .loc 1 1150 19 view .LVU3569 10674 0064 A846 mov r8, r5 1149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits = (const uint16_t *) pData; 10675 .loc 1 1149 19 view .LVU3570 10676 0066 0025 movs r5, #0 10677 .LVL947: 1149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits = (const uint16_t *) pData; 10678 .loc 1 1149 19 view .LVU3571 10679 0068 F3E7 b .L512 10680 .LVL948: 10681 .L528: 1168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits++; 10682 .loc 1 1168 9 is_stmt 1 view .LVU3572 1168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits++; 10683 .loc 1 1168 43 is_stmt 0 view .LVU3573 10684 006a 38F8023B ldrh r3, [r8], #2 10685 .LVL949: 1168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits++; 10686 .loc 1 1168 14 view .LVU3574 ARM GAS /tmp/cceWHrnJ.s page 345 10687 006e 2268 ldr r2, [r4] 1168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits++; 10688 .loc 1 1168 32 view .LVU3575 10689 0070 C3F30803 ubfx r3, r3, #0, #9 1168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits++; 10690 .loc 1 1168 30 view .LVU3576 10691 0074 9362 str r3, [r2, #40] 1169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10692 .loc 1 1169 9 is_stmt 1 view .LVU3577 10693 .LVL950: 10694 .L515: 1176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10695 .loc 1 1176 7 view .LVU3578 1176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10696 .loc 1 1176 12 is_stmt 0 view .LVU3579 10697 0076 B4F85620 ldrh r2, [r4, #86] 10698 007a 92B2 uxth r2, r2 1176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10699 .loc 1 1176 25 view .LVU3580 10700 007c 013A subs r2, r2, #1 10701 007e 92B2 uxth r2, r2 10702 0080 A4F85620 strh r2, [r4, #86] @ movhi 10703 .L513: 1160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10704 .loc 1 1160 31 is_stmt 1 view .LVU3581 1160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10705 .loc 1 1160 17 is_stmt 0 view .LVU3582 10706 0084 B4F85630 ldrh r3, [r4, #86] 10707 0088 9BB2 uxth r3, r3 1160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10708 .loc 1 1160 31 view .LVU3583 10709 008a 73B1 cbz r3, .L527 1162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10710 .loc 1 1162 7 is_stmt 1 view .LVU3584 1162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10711 .loc 1 1162 11 is_stmt 0 view .LVU3585 10712 008c 0096 str r6, [sp] 10713 008e 3B46 mov r3, r7 10714 0090 0022 movs r2, #0 10715 0092 8021 movs r1, #128 10716 0094 2046 mov r0, r4 10717 0096 FFF7FEFF bl UART_WaitOnFlagUntilTimeout 10718 .LVL951: 1162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10719 .loc 1 1162 10 view .LVU3586 10720 009a E0B9 cbnz r0, .L523 1166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10721 .loc 1 1166 7 is_stmt 1 view .LVU3587 1166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10722 .loc 1 1166 10 is_stmt 0 view .LVU3588 10723 009c 002D cmp r5, #0 10724 009e E4D0 beq .L528 1173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits++; 10725 .loc 1 1173 9 is_stmt 1 view .LVU3589 1173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits++; 10726 .loc 1 1173 42 is_stmt 0 view .LVU3590 10727 00a0 15F8012B ldrb r2, [r5], #1 @ zero_extendqisi2 ARM GAS /tmp/cceWHrnJ.s page 346 10728 .LVL952: 1173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits++; 10729 .loc 1 1173 14 view .LVU3591 10730 00a4 2368 ldr r3, [r4] 1173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits++; 10731 .loc 1 1173 30 view .LVU3592 10732 00a6 9A62 str r2, [r3, #40] 1174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10733 .loc 1 1174 9 is_stmt 1 view .LVU3593 10734 .LVL953: 1174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10735 .loc 1 1174 9 is_stmt 0 view .LVU3594 10736 00a8 E5E7 b .L515 10737 .L527: 1179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10738 .loc 1 1179 5 is_stmt 1 view .LVU3595 1179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10739 .loc 1 1179 9 is_stmt 0 view .LVU3596 10740 00aa 0096 str r6, [sp] 10741 00ac 3B46 mov r3, r7 10742 00ae 0022 movs r2, #0 10743 00b0 4021 movs r1, #64 10744 00b2 2046 mov r0, r4 10745 00b4 FFF7FEFF bl UART_WaitOnFlagUntilTimeout 10746 .LVL954: 1179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10747 .loc 1 1179 8 view .LVU3597 10748 00b8 78B9 cbnz r0, .L524 1185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10749 .loc 1 1185 5 is_stmt 1 view .LVU3598 1185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10750 .loc 1 1185 19 is_stmt 0 view .LVU3599 10751 00ba 2023 movs r3, #32 10752 00bc C4F88430 str r3, [r4, #132] 1187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10753 .loc 1 1187 5 is_stmt 1 view .LVU3600 1187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10754 .loc 1 1187 12 is_stmt 0 view .LVU3601 10755 00c0 00E0 b .L511 10756 .LVL955: 10757 .L517: 1191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10758 .loc 1 1191 12 view .LVU3602 10759 00c2 0220 movs r0, #2 10760 .LVL956: 10761 .L511: 1193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10762 .loc 1 1193 1 view .LVU3603 10763 00c4 02B0 add sp, sp, #8 10764 .LCFI35: 10765 .cfi_remember_state 10766 .cfi_def_cfa_offset 24 10767 @ sp needed 10768 00c6 BDE8F081 pop {r4, r5, r6, r7, r8, pc} 10769 .LVL957: 10770 .L518: 10771 .LCFI36: ARM GAS /tmp/cceWHrnJ.s page 347 10772 .cfi_restore_state 1132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10773 .loc 1 1132 15 view .LVU3604 10774 00ca 0120 movs r0, #1 10775 .LVL958: 1132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10776 .loc 1 1132 15 view .LVU3605 10777 00cc FAE7 b .L511 10778 .LVL959: 10779 .L519: 1132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10780 .loc 1 1132 15 view .LVU3606 10781 00ce 0120 movs r0, #1 10782 .LVL960: 1132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10783 .loc 1 1132 15 view .LVU3607 10784 00d0 F8E7 b .L511 10785 .LVL961: 10786 .L520: 1135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10787 .loc 1 1135 5 view .LVU3608 10788 00d2 0220 movs r0, #2 10789 .LVL962: 1135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10790 .loc 1 1135 5 view .LVU3609 10791 00d4 F6E7 b .L511 10792 .LVL963: 10793 .L523: 1164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10794 .loc 1 1164 16 view .LVU3610 10795 00d6 0320 movs r0, #3 10796 00d8 F4E7 b .L511 10797 .L524: 1181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10798 .loc 1 1181 14 view .LVU3611 10799 00da 0320 movs r0, #3 10800 00dc F2E7 b .L511 10801 .cfi_endproc 10802 .LFE336: 10804 .section .text.HAL_UART_Receive,"ax",%progbits 10805 .align 1 10806 .global HAL_UART_Receive 10807 .syntax unified 10808 .thumb 10809 .thumb_func 10811 HAL_UART_Receive: 10812 .LVL964: 10813 .LFB337: 1211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint8_t *pdata8bits; 10814 .loc 1 1211 1 is_stmt 1 view -0 10815 .cfi_startproc 10816 @ args = 0, pretend = 0, frame = 0 10817 @ frame_needed = 0, uses_anonymous_args = 0 1211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint8_t *pdata8bits; 10818 .loc 1 1211 1 is_stmt 0 view .LVU3613 10819 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr} 10820 .LCFI37: ARM GAS /tmp/cceWHrnJ.s page 348 10821 .cfi_def_cfa_offset 28 10822 .cfi_offset 4, -28 10823 .cfi_offset 5, -24 10824 .cfi_offset 6, -20 10825 .cfi_offset 7, -16 10826 .cfi_offset 8, -12 10827 .cfi_offset 9, -8 10828 .cfi_offset 14, -4 10829 0004 83B0 sub sp, sp, #12 10830 .LCFI38: 10831 .cfi_def_cfa_offset 40 10832 0006 1E46 mov r6, r3 1212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t *pdata16bits; 10833 .loc 1 1212 3 is_stmt 1 view .LVU3614 1213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t uhMask; 10834 .loc 1 1213 3 view .LVU3615 1214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t tickstart; 10835 .loc 1 1214 3 view .LVU3616 1215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10836 .loc 1 1215 3 view .LVU3617 1218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10837 .loc 1 1218 3 view .LVU3618 1218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10838 .loc 1 1218 12 is_stmt 0 view .LVU3619 10839 0008 D0F88830 ldr r3, [r0, #136] 10840 .LVL965: 1218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10841 .loc 1 1218 6 view .LVU3620 10842 000c 202B cmp r3, #32 10843 000e 40F08180 bne .L543 10844 0012 0446 mov r4, r0 10845 0014 0D46 mov r5, r1 10846 0016 9046 mov r8, r2 1220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10847 .loc 1 1220 5 is_stmt 1 view .LVU3621 1220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10848 .loc 1 1220 8 is_stmt 0 view .LVU3622 10849 0018 0029 cmp r1, #0 10850 001a 7FD0 beq .L544 1220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10851 .loc 1 1220 25 discriminator 1 view .LVU3623 10852 001c 002A cmp r2, #0 10853 001e 7FD0 beq .L545 1225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10854 .loc 1 1225 5 is_stmt 1 view .LVU3624 1225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10855 .loc 1 1225 5 view .LVU3625 10856 0020 90F88030 ldrb r3, [r0, #128] @ zero_extendqisi2 10857 0024 012B cmp r3, #1 10858 0026 7DD0 beq .L546 1225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10859 .loc 1 1225 5 discriminator 2 view .LVU3626 10860 0028 0123 movs r3, #1 10861 002a 80F88030 strb r3, [r0, #128] 1225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10862 .loc 1 1225 5 discriminator 2 view .LVU3627 1227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; ARM GAS /tmp/cceWHrnJ.s page 349 10863 .loc 1 1227 5 discriminator 2 view .LVU3628 1227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 10864 .loc 1 1227 22 is_stmt 0 discriminator 2 view .LVU3629 10865 002e 0023 movs r3, #0 10866 0030 C0F88C30 str r3, [r0, #140] 1228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 10867 .loc 1 1228 5 is_stmt 1 discriminator 2 view .LVU3630 1228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 10868 .loc 1 1228 20 is_stmt 0 discriminator 2 view .LVU3631 10869 0034 2222 movs r2, #34 10870 .LVL966: 1228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 10871 .loc 1 1228 20 discriminator 2 view .LVU3632 10872 0036 C0F88820 str r2, [r0, #136] 1229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10873 .loc 1 1229 5 is_stmt 1 discriminator 2 view .LVU3633 1229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10874 .loc 1 1229 26 is_stmt 0 discriminator 2 view .LVU3634 10875 003a C366 str r3, [r0, #108] 1232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10876 .loc 1 1232 5 is_stmt 1 discriminator 2 view .LVU3635 1232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10877 .loc 1 1232 17 is_stmt 0 discriminator 2 view .LVU3636 10878 003c FFF7FEFF bl HAL_GetTick 10879 .LVL967: 1232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10880 .loc 1 1232 17 discriminator 2 view .LVU3637 10881 0040 0746 mov r7, r0 10882 .LVL968: 1234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = Size; 10883 .loc 1 1234 5 is_stmt 1 discriminator 2 view .LVU3638 1234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = Size; 10884 .loc 1 1234 24 is_stmt 0 discriminator 2 view .LVU3639 10885 0042 A4F85C80 strh r8, [r4, #92] @ movhi 1235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10886 .loc 1 1235 5 is_stmt 1 discriminator 2 view .LVU3640 1235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10887 .loc 1 1235 24 is_stmt 0 discriminator 2 view .LVU3641 10888 0046 A4F85E80 strh r8, [r4, #94] @ movhi 1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask; 10889 .loc 1 1238 5 is_stmt 1 discriminator 2 view .LVU3642 1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask; 10890 .loc 1 1238 5 discriminator 2 view .LVU3643 10891 004a A368 ldr r3, [r4, #8] 10892 004c B3F5805F cmp r3, #4096 10893 0050 06D0 beq .L551 1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask; 10894 .loc 1 1238 5 discriminator 2 view .LVU3644 10895 0052 A3B9 cbnz r3, .L534 1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask; 10896 .loc 1 1238 5 discriminator 5 view .LVU3645 10897 0054 2269 ldr r2, [r4, #16] 10898 0056 72B9 cbnz r2, .L535 1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask; 10899 .loc 1 1238 5 discriminator 7 view .LVU3646 10900 0058 FF22 movs r2, #255 10901 005a A4F86020 strh r2, [r4, #96] @ movhi ARM GAS /tmp/cceWHrnJ.s page 350 10902 005e 14E0 b .L533 10903 .L551: 1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask; 10904 .loc 1 1238 5 discriminator 1 view .LVU3647 10905 0060 2269 ldr r2, [r4, #16] 10906 0062 22B9 cbnz r2, .L532 1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask; 10907 .loc 1 1238 5 discriminator 3 view .LVU3648 10908 0064 40F2FF12 movw r2, #511 10909 0068 A4F86020 strh r2, [r4, #96] @ movhi 10910 006c 0DE0 b .L533 10911 .L532: 1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask; 10912 .loc 1 1238 5 discriminator 4 view .LVU3649 10913 006e FF22 movs r2, #255 10914 0070 A4F86020 strh r2, [r4, #96] @ movhi 10915 0074 09E0 b .L533 10916 .L535: 1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask; 10917 .loc 1 1238 5 discriminator 8 view .LVU3650 10918 0076 7F22 movs r2, #127 10919 0078 A4F86020 strh r2, [r4, #96] @ movhi 10920 007c 05E0 b .L533 10921 .L534: 1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask; 10922 .loc 1 1238 5 discriminator 6 view .LVU3651 10923 007e B3F1805F cmp r3, #268435456 10924 0082 0DD0 beq .L552 1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask; 10925 .loc 1 1238 5 discriminator 10 view .LVU3652 10926 0084 0022 movs r2, #0 10927 0086 A4F86020 strh r2, [r4, #96] @ movhi 10928 .L533: 1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask; 10929 .loc 1 1238 5 discriminator 13 view .LVU3653 1239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10930 .loc 1 1239 5 discriminator 13 view .LVU3654 1239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10931 .loc 1 1239 12 is_stmt 0 discriminator 13 view .LVU3655 10932 008a B4F86080 ldrh r8, [r4, #96] 10933 .LVL969: 1242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10934 .loc 1 1242 5 is_stmt 1 discriminator 13 view .LVU3656 1242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10935 .loc 1 1242 8 is_stmt 0 discriminator 13 view .LVU3657 10936 008e B3F5805F cmp r3, #4096 10937 0092 0FD0 beq .L553 1250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10938 .loc 1 1250 19 view .LVU3658 10939 0094 4FF00009 mov r9, #0 10940 .LVL970: 10941 .L538: 1253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10942 .loc 1 1253 5 is_stmt 1 view .LVU3659 1253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10943 .loc 1 1253 5 view .LVU3660 10944 0098 0023 movs r3, #0 ARM GAS /tmp/cceWHrnJ.s page 351 10945 009a 84F88030 strb r3, [r4, #128] 1253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 10946 .loc 1 1253 5 view .LVU3661 1256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10947 .loc 1 1256 5 view .LVU3662 1256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10948 .loc 1 1256 11 is_stmt 0 view .LVU3663 10949 009e 1EE0 b .L539 10950 .LVL971: 10951 .L552: 1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask; 10952 .loc 1 1238 5 is_stmt 1 discriminator 9 view .LVU3664 10953 00a0 2269 ldr r2, [r4, #16] 10954 00a2 1AB9 cbnz r2, .L537 1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask; 10955 .loc 1 1238 5 discriminator 11 view .LVU3665 10956 00a4 7F22 movs r2, #127 10957 00a6 A4F86020 strh r2, [r4, #96] @ movhi 10958 00aa EEE7 b .L533 10959 .L537: 1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask; 10960 .loc 1 1238 5 discriminator 12 view .LVU3666 10961 00ac 3F22 movs r2, #63 10962 00ae A4F86020 strh r2, [r4, #96] @ movhi 10963 00b2 EAE7 b .L533 10964 .LVL972: 10965 .L553: 1242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10966 .loc 1 1242 71 is_stmt 0 discriminator 1 view .LVU3667 10967 00b4 2369 ldr r3, [r4, #16] 1242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 10968 .loc 1 1242 56 discriminator 1 view .LVU3668 10969 00b6 13B1 cbz r3, .L548 1250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10970 .loc 1 1250 19 view .LVU3669 10971 00b8 4FF00009 mov r9, #0 10972 00bc ECE7 b .L538 10973 .L548: 1245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10974 .loc 1 1245 19 view .LVU3670 10975 00be A946 mov r9, r5 1244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 10976 .loc 1 1244 19 view .LVU3671 10977 00c0 0025 movs r5, #0 10978 .LVL973: 1244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 10979 .loc 1 1244 19 view .LVU3672 10980 00c2 E9E7 b .L538 10981 .LVL974: 10982 .L555: 1264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits++; 10983 .loc 1 1264 9 is_stmt 1 view .LVU3673 1264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits++; 10984 .loc 1 1264 40 is_stmt 0 view .LVU3674 10985 00c4 2368 ldr r3, [r4] 1264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits++; 10986 .loc 1 1264 50 view .LVU3675 ARM GAS /tmp/cceWHrnJ.s page 352 10987 00c6 5B6A ldr r3, [r3, #36] 1264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits++; 10988 .loc 1 1264 24 view .LVU3676 10989 00c8 08EA0303 and r3, r8, r3 1264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits++; 10990 .loc 1 1264 22 view .LVU3677 10991 00cc 29F8023B strh r3, [r9], #2 @ movhi 10992 .LVL975: 1265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10993 .loc 1 1265 9 is_stmt 1 view .LVU3678 10994 .L541: 1272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10995 .loc 1 1272 7 view .LVU3679 1272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10996 .loc 1 1272 12 is_stmt 0 view .LVU3680 10997 00d0 B4F85E20 ldrh r2, [r4, #94] 10998 00d4 92B2 uxth r2, r2 1272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 10999 .loc 1 1272 25 view .LVU3681 11000 00d6 013A subs r2, r2, #1 11001 00d8 92B2 uxth r2, r2 11002 00da A4F85E20 strh r2, [r4, #94] @ movhi 11003 .L539: 1256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11004 .loc 1 1256 31 is_stmt 1 view .LVU3682 1256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11005 .loc 1 1256 17 is_stmt 0 view .LVU3683 11006 00de B4F85E30 ldrh r3, [r4, #94] 11007 00e2 9BB2 uxth r3, r3 1256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11008 .loc 1 1256 31 view .LVU3684 11009 00e4 8BB1 cbz r3, .L554 1258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11010 .loc 1 1258 7 is_stmt 1 view .LVU3685 1258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11011 .loc 1 1258 11 is_stmt 0 view .LVU3686 11012 00e6 0096 str r6, [sp] 11013 00e8 3B46 mov r3, r7 11014 00ea 0022 movs r2, #0 11015 00ec 2021 movs r1, #32 11016 00ee 2046 mov r0, r4 11017 00f0 FFF7FEFF bl UART_WaitOnFlagUntilTimeout 11018 .LVL976: 1258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11019 .loc 1 1258 10 view .LVU3687 11020 00f4 C0B9 cbnz r0, .L549 1262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11021 .loc 1 1262 7 is_stmt 1 view .LVU3688 1262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11022 .loc 1 1262 10 is_stmt 0 view .LVU3689 11023 00f6 002D cmp r5, #0 11024 00f8 E4D0 beq .L555 1269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits++; 11025 .loc 1 1269 9 is_stmt 1 view .LVU3690 1269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits++; 11026 .loc 1 1269 38 is_stmt 0 view .LVU3691 11027 00fa 2368 ldr r3, [r4] ARM GAS /tmp/cceWHrnJ.s page 353 1269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits++; 11028 .loc 1 1269 48 view .LVU3692 11029 00fc 5A6A ldr r2, [r3, #36] 1269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits++; 11030 .loc 1 1269 56 view .LVU3693 11031 00fe 5FFA88F3 uxtb r3, r8 1269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits++; 11032 .loc 1 1269 23 view .LVU3694 11033 0102 1340 ands r3, r3, r2 1269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits++; 11034 .loc 1 1269 21 view .LVU3695 11035 0104 05F8013B strb r3, [r5], #1 11036 .LVL977: 1270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11037 .loc 1 1270 9 is_stmt 1 view .LVU3696 1270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11038 .loc 1 1270 9 is_stmt 0 view .LVU3697 11039 0108 E2E7 b .L541 11040 .L554: 1276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11041 .loc 1 1276 5 is_stmt 1 view .LVU3698 1276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11042 .loc 1 1276 20 is_stmt 0 view .LVU3699 11043 010a 2023 movs r3, #32 11044 010c C4F88830 str r3, [r4, #136] 1278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11045 .loc 1 1278 5 is_stmt 1 view .LVU3700 1278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11046 .loc 1 1278 12 is_stmt 0 view .LVU3701 11047 0110 0020 movs r0, #0 11048 0112 00E0 b .L530 11049 .LVL978: 11050 .L543: 1282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11051 .loc 1 1282 12 view .LVU3702 11052 0114 0220 movs r0, #2 11053 .LVL979: 11054 .L530: 1284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11055 .loc 1 1284 1 view .LVU3703 11056 0116 03B0 add sp, sp, #12 11057 .LCFI39: 11058 .cfi_remember_state 11059 .cfi_def_cfa_offset 28 11060 @ sp needed 11061 0118 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} 11062 .LVL980: 11063 .L544: 11064 .LCFI40: 11065 .cfi_restore_state 1222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11066 .loc 1 1222 15 view .LVU3704 11067 011c 0120 movs r0, #1 11068 .LVL981: 1222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11069 .loc 1 1222 15 view .LVU3705 11070 011e FAE7 b .L530 ARM GAS /tmp/cceWHrnJ.s page 354 11071 .LVL982: 11072 .L545: 1222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11073 .loc 1 1222 15 view .LVU3706 11074 0120 0120 movs r0, #1 11075 .LVL983: 1222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11076 .loc 1 1222 15 view .LVU3707 11077 0122 F8E7 b .L530 11078 .LVL984: 11079 .L546: 1225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11080 .loc 1 1225 5 view .LVU3708 11081 0124 0220 movs r0, #2 11082 .LVL985: 1225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11083 .loc 1 1225 5 view .LVU3709 11084 0126 F6E7 b .L530 11085 .LVL986: 11086 .L549: 1260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11087 .loc 1 1260 16 view .LVU3710 11088 0128 0320 movs r0, #3 11089 012a F4E7 b .L530 11090 .cfi_endproc 11091 .LFE337: 11093 .section .text.UART_CheckIdleState,"ax",%progbits 11094 .align 1 11095 .global UART_CheckIdleState 11096 .syntax unified 11097 .thumb 11098 .thumb_func 11100 UART_CheckIdleState: 11101 .LVL987: 11102 .LFB374: 3315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t tickstart; 11103 .loc 1 3315 1 is_stmt 1 view -0 11104 .cfi_startproc 11105 @ args = 0, pretend = 0, frame = 0 11106 @ frame_needed = 0, uses_anonymous_args = 0 3315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t tickstart; 11107 .loc 1 3315 1 is_stmt 0 view .LVU3712 11108 0000 30B5 push {r4, r5, lr} 11109 .LCFI41: 11110 .cfi_def_cfa_offset 12 11111 .cfi_offset 4, -12 11112 .cfi_offset 5, -8 11113 .cfi_offset 14, -4 11114 0002 83B0 sub sp, sp, #12 11115 .LCFI42: 11116 .cfi_def_cfa_offset 24 11117 0004 0446 mov r4, r0 3316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11118 .loc 1 3316 3 is_stmt 1 view .LVU3713 3319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11119 .loc 1 3319 3 view .LVU3714 3319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 355 11120 .loc 1 3319 20 is_stmt 0 view .LVU3715 11121 0006 0023 movs r3, #0 11122 0008 C0F88C30 str r3, [r0, #140] 3322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11123 .loc 1 3322 3 is_stmt 1 view .LVU3716 3322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11124 .loc 1 3322 15 is_stmt 0 view .LVU3717 11125 000c FFF7FEFF bl HAL_GetTick 11126 .LVL988: 3322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11127 .loc 1 3322 15 view .LVU3718 11128 0010 0546 mov r5, r0 11129 .LVL989: 3325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11130 .loc 1 3325 3 is_stmt 1 view .LVU3719 3325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11131 .loc 1 3325 13 is_stmt 0 view .LVU3720 11132 0012 2268 ldr r2, [r4] 3325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11133 .loc 1 3325 23 view .LVU3721 11134 0014 1268 ldr r2, [r2] 3325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11135 .loc 1 3325 6 view .LVU3722 11136 0016 12F0080F tst r2, #8 11137 001a 0FD1 bne .L563 11138 .LVL990: 11139 .L557: 3336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11140 .loc 1 3336 3 is_stmt 1 view .LVU3723 3336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11141 .loc 1 3336 13 is_stmt 0 view .LVU3724 11142 001c 2368 ldr r3, [r4] 3336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11143 .loc 1 3336 23 view .LVU3725 11144 001e 1B68 ldr r3, [r3] 3336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11145 .loc 1 3336 6 view .LVU3726 11146 0020 13F0040F tst r3, #4 11147 0024 18D1 bne .L564 11148 .L559: 3347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 11149 .loc 1 3347 3 is_stmt 1 view .LVU3727 3347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 11150 .loc 1 3347 17 is_stmt 0 view .LVU3728 11151 0026 2023 movs r3, #32 11152 0028 C4F88430 str r3, [r4, #132] 3348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 11153 .loc 1 3348 3 is_stmt 1 view .LVU3729 3348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 11154 .loc 1 3348 18 is_stmt 0 view .LVU3730 11155 002c C4F88830 str r3, [r4, #136] 3349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11156 .loc 1 3349 3 is_stmt 1 view .LVU3731 3349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11157 .loc 1 3349 24 is_stmt 0 view .LVU3732 11158 0030 0020 movs r0, #0 11159 0032 E066 str r0, [r4, #108] ARM GAS /tmp/cceWHrnJ.s page 356 3351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11160 .loc 1 3351 3 is_stmt 1 view .LVU3733 3351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11161 .loc 1 3351 3 view .LVU3734 11162 0034 84F88000 strb r0, [r4, #128] 3351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11163 .loc 1 3351 3 view .LVU3735 3353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11164 .loc 1 3353 3 view .LVU3736 11165 .L558: 3354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11166 .loc 1 3354 1 is_stmt 0 view .LVU3737 11167 0038 03B0 add sp, sp, #12 11168 .LCFI43: 11169 .cfi_remember_state 11170 .cfi_def_cfa_offset 12 11171 @ sp needed 11172 003a 30BD pop {r4, r5, pc} 11173 .LVL991: 11174 .L563: 11175 .LCFI44: 11176 .cfi_restore_state 3328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11177 .loc 1 3328 5 is_stmt 1 view .LVU3738 3328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11178 .loc 1 3328 9 is_stmt 0 view .LVU3739 11179 003c 6FF07E43 mvn r3, #-33554432 11180 0040 0093 str r3, [sp] 11181 0042 0346 mov r3, r0 11182 0044 0022 movs r2, #0 11183 0046 4FF40011 mov r1, #2097152 11184 004a 2046 mov r0, r4 11185 .LVL992: 3328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11186 .loc 1 3328 9 view .LVU3740 11187 004c FFF7FEFF bl UART_WaitOnFlagUntilTimeout 11188 .LVL993: 3328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11189 .loc 1 3328 8 view .LVU3741 11190 0050 0028 cmp r0, #0 11191 0052 E3D0 beq .L557 3331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11192 .loc 1 3331 14 view .LVU3742 11193 0054 0320 movs r0, #3 11194 0056 EFE7 b .L558 11195 .L564: 3339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11196 .loc 1 3339 5 is_stmt 1 view .LVU3743 3339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11197 .loc 1 3339 9 is_stmt 0 view .LVU3744 11198 0058 6FF07E43 mvn r3, #-33554432 11199 005c 0093 str r3, [sp] 11200 005e 2B46 mov r3, r5 11201 0060 0022 movs r2, #0 11202 0062 4FF48001 mov r1, #4194304 11203 0066 2046 mov r0, r4 11204 0068 FFF7FEFF bl UART_WaitOnFlagUntilTimeout ARM GAS /tmp/cceWHrnJ.s page 357 11205 .LVL994: 3339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11206 .loc 1 3339 8 view .LVU3745 11207 006c 0028 cmp r0, #0 11208 006e DAD0 beq .L559 3342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11209 .loc 1 3342 14 view .LVU3746 11210 0070 0320 movs r0, #3 11211 0072 E1E7 b .L558 11212 .cfi_endproc 11213 .LFE374: 11215 .section .text.HAL_UART_Init,"ax",%progbits 11216 .align 1 11217 .global HAL_UART_Init 11218 .syntax unified 11219 .thumb 11220 .thumb_func 11222 HAL_UART_Init: 11223 .LVL995: 11224 .LFB329: 308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */ 11225 .loc 1 308 1 is_stmt 1 view -0 11226 .cfi_startproc 11227 @ args = 0, pretend = 0, frame = 0 11228 @ frame_needed = 0, uses_anonymous_args = 0 310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11229 .loc 1 310 3 view .LVU3748 310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11230 .loc 1 310 6 is_stmt 0 view .LVU3749 11231 0000 78B3 cbz r0, .L569 308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */ 11232 .loc 1 308 1 view .LVU3750 11233 0002 10B5 push {r4, lr} 11234 .LCFI45: 11235 .cfi_def_cfa_offset 8 11236 .cfi_offset 4, -8 11237 .cfi_offset 14, -4 11238 0004 0446 mov r4, r0 315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11239 .loc 1 315 3 is_stmt 1 view .LVU3751 323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11240 .loc 1 323 5 view .LVU3752 326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11241 .loc 1 326 3 view .LVU3753 326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11242 .loc 1 326 12 is_stmt 0 view .LVU3754 11243 0006 D0F88430 ldr r3, [r0, #132] 326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11244 .loc 1 326 6 view .LVU3755 11245 000a 0BB3 cbz r3, .L574 11246 .LVL996: 11247 .L567: 347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11248 .loc 1 347 3 is_stmt 1 view .LVU3756 347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11249 .loc 1 347 17 is_stmt 0 view .LVU3757 11250 000c 2423 movs r3, #36 ARM GAS /tmp/cceWHrnJ.s page 358 11251 000e C4F88430 str r3, [r4, #132] 349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11252 .loc 1 349 3 is_stmt 1 view .LVU3758 11253 0012 2268 ldr r2, [r4] 11254 0014 1368 ldr r3, [r2] 11255 0016 23F00103 bic r3, r3, #1 11256 001a 1360 str r3, [r2] 352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11257 .loc 1 352 3 view .LVU3759 352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11258 .loc 1 352 7 is_stmt 0 view .LVU3760 11259 001c 2046 mov r0, r4 11260 001e FFF7FEFF bl UART_SetConfig 11261 .LVL997: 352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11262 .loc 1 352 6 view .LVU3761 11263 0022 0128 cmp r0, #1 11264 0024 13D0 beq .L566 357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11265 .loc 1 357 3 is_stmt 1 view .LVU3762 357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11266 .loc 1 357 26 is_stmt 0 view .LVU3763 11267 0026 A36A ldr r3, [r4, #40] 357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11268 .loc 1 357 6 view .LVU3764 11269 0028 BBB9 cbnz r3, .L575 11270 .L568: 365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); 11271 .loc 1 365 3 is_stmt 1 view .LVU3765 11272 002a 2268 ldr r2, [r4] 11273 002c 5368 ldr r3, [r2, #4] 11274 002e 23F49043 bic r3, r3, #18432 11275 0032 5360 str r3, [r2, #4] 366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11276 .loc 1 366 3 view .LVU3766 11277 0034 2268 ldr r2, [r4] 11278 0036 9368 ldr r3, [r2, #8] 11279 0038 23F02A03 bic r3, r3, #42 11280 003c 9360 str r3, [r2, #8] 368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11281 .loc 1 368 3 view .LVU3767 11282 003e 2268 ldr r2, [r4] 11283 0040 1368 ldr r3, [r2] 11284 0042 43F00103 orr r3, r3, #1 11285 0046 1360 str r3, [r2] 371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11286 .loc 1 371 3 view .LVU3768 371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11287 .loc 1 371 11 is_stmt 0 view .LVU3769 11288 0048 2046 mov r0, r4 11289 004a FFF7FEFF bl UART_CheckIdleState 11290 .LVL998: 11291 .L566: 372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11292 .loc 1 372 1 view .LVU3770 11293 004e 10BD pop {r4, pc} 11294 .LVL999: ARM GAS /tmp/cceWHrnJ.s page 359 11295 .L574: 329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11296 .loc 1 329 5 is_stmt 1 view .LVU3771 329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11297 .loc 1 329 17 is_stmt 0 view .LVU3772 11298 0050 80F88030 strb r3, [r0, #128] 343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 11299 .loc 1 343 5 is_stmt 1 view .LVU3773 11300 0054 FFF7FEFF bl HAL_UART_MspInit 11301 .LVL1000: 343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 11302 .loc 1 343 5 is_stmt 0 view .LVU3774 11303 0058 D8E7 b .L567 11304 .L575: 359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11305 .loc 1 359 5 is_stmt 1 view .LVU3775 11306 005a 2046 mov r0, r4 11307 005c FFF7FEFF bl UART_AdvFeatureConfig 11308 .LVL1001: 11309 0060 E3E7 b .L568 11310 .LVL1002: 11311 .L569: 11312 .LCFI46: 11313 .cfi_def_cfa_offset 0 11314 .cfi_restore 4 11315 .cfi_restore 14 312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11316 .loc 1 312 12 is_stmt 0 view .LVU3776 11317 0062 0120 movs r0, #1 11318 .LVL1003: 372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11319 .loc 1 372 1 view .LVU3777 11320 0064 7047 bx lr 11321 .cfi_endproc 11322 .LFE329: 11324 .section .text.HAL_HalfDuplex_Init,"ax",%progbits 11325 .align 1 11326 .global HAL_HalfDuplex_Init 11327 .syntax unified 11328 .thumb 11329 .thumb_func 11331 HAL_HalfDuplex_Init: 11332 .LVL1004: 11333 .LFB330: 381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */ 11334 .loc 1 381 1 is_stmt 1 view -0 11335 .cfi_startproc 11336 @ args = 0, pretend = 0, frame = 0 11337 @ frame_needed = 0, uses_anonymous_args = 0 383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11338 .loc 1 383 3 view .LVU3779 383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11339 .loc 1 383 6 is_stmt 0 view .LVU3780 11340 0000 0028 cmp r0, #0 11341 0002 34D0 beq .L580 381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */ 11342 .loc 1 381 1 view .LVU3781 ARM GAS /tmp/cceWHrnJ.s page 360 11343 0004 10B5 push {r4, lr} 11344 .LCFI47: 11345 .cfi_def_cfa_offset 8 11346 .cfi_offset 4, -8 11347 .cfi_offset 14, -4 11348 0006 0446 mov r4, r0 389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11349 .loc 1 389 3 is_stmt 1 view .LVU3782 391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11350 .loc 1 391 3 view .LVU3783 391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11351 .loc 1 391 12 is_stmt 0 view .LVU3784 11352 0008 D0F88430 ldr r3, [r0, #132] 391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11353 .loc 1 391 6 view .LVU3785 11354 000c 33B3 cbz r3, .L585 11355 .LVL1005: 11356 .L578: 412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11357 .loc 1 412 3 is_stmt 1 view .LVU3786 412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11358 .loc 1 412 17 is_stmt 0 view .LVU3787 11359 000e 2423 movs r3, #36 11360 0010 C4F88430 str r3, [r4, #132] 414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11361 .loc 1 414 3 is_stmt 1 view .LVU3788 11362 0014 2268 ldr r2, [r4] 11363 0016 1368 ldr r3, [r2] 11364 0018 23F00103 bic r3, r3, #1 11365 001c 1360 str r3, [r2] 417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11366 .loc 1 417 3 view .LVU3789 417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11367 .loc 1 417 7 is_stmt 0 view .LVU3790 11368 001e 2046 mov r0, r4 11369 0020 FFF7FEFF bl UART_SetConfig 11370 .LVL1006: 417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11371 .loc 1 417 6 view .LVU3791 11372 0024 0128 cmp r0, #1 11373 0026 18D0 beq .L577 422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11374 .loc 1 422 3 is_stmt 1 view .LVU3792 422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11375 .loc 1 422 26 is_stmt 0 view .LVU3793 11376 0028 A36A ldr r3, [r4, #40] 422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11377 .loc 1 422 6 view .LVU3794 11378 002a E3B9 cbnz r3, .L586 11379 .L579: 430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN)); 11380 .loc 1 430 3 is_stmt 1 view .LVU3795 11381 002c 2268 ldr r2, [r4] 11382 002e 5368 ldr r3, [r2, #4] 11383 0030 23F49043 bic r3, r3, #18432 11384 0034 5360 str r3, [r2, #4] 431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 361 11385 .loc 1 431 3 view .LVU3796 11386 0036 2268 ldr r2, [r4] 11387 0038 9368 ldr r3, [r2, #8] 11388 003a 23F02203 bic r3, r3, #34 11389 003e 9360 str r3, [r2, #8] 434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11390 .loc 1 434 3 view .LVU3797 11391 0040 2268 ldr r2, [r4] 11392 0042 9368 ldr r3, [r2, #8] 11393 0044 43F00803 orr r3, r3, #8 11394 0048 9360 str r3, [r2, #8] 436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11395 .loc 1 436 3 view .LVU3798 11396 004a 2268 ldr r2, [r4] 11397 004c 1368 ldr r3, [r2] 11398 004e 43F00103 orr r3, r3, #1 11399 0052 1360 str r3, [r2] 439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11400 .loc 1 439 3 view .LVU3799 439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11401 .loc 1 439 11 is_stmt 0 view .LVU3800 11402 0054 2046 mov r0, r4 11403 0056 FFF7FEFF bl UART_CheckIdleState 11404 .LVL1007: 11405 .L577: 440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11406 .loc 1 440 1 view .LVU3801 11407 005a 10BD pop {r4, pc} 11408 .LVL1008: 11409 .L585: 394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11410 .loc 1 394 5 is_stmt 1 view .LVU3802 394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11411 .loc 1 394 17 is_stmt 0 view .LVU3803 11412 005c 80F88030 strb r3, [r0, #128] 408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 11413 .loc 1 408 5 is_stmt 1 view .LVU3804 11414 0060 FFF7FEFF bl HAL_UART_MspInit 11415 .LVL1009: 408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 11416 .loc 1 408 5 is_stmt 0 view .LVU3805 11417 0064 D3E7 b .L578 11418 .L586: 424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11419 .loc 1 424 5 is_stmt 1 view .LVU3806 11420 0066 2046 mov r0, r4 11421 0068 FFF7FEFF bl UART_AdvFeatureConfig 11422 .LVL1010: 11423 006c DEE7 b .L579 11424 .LVL1011: 11425 .L580: 11426 .LCFI48: 11427 .cfi_def_cfa_offset 0 11428 .cfi_restore 4 11429 .cfi_restore 14 385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11430 .loc 1 385 12 is_stmt 0 view .LVU3807 ARM GAS /tmp/cceWHrnJ.s page 362 11431 006e 0120 movs r0, #1 11432 .LVL1012: 440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11433 .loc 1 440 1 view .LVU3808 11434 0070 7047 bx lr 11435 .cfi_endproc 11436 .LFE330: 11438 .section .text.HAL_LIN_Init,"ax",%progbits 11439 .align 1 11440 .global HAL_LIN_Init 11441 .syntax unified 11442 .thumb 11443 .thumb_func 11445 HAL_LIN_Init: 11446 .LVL1013: 11447 .LFB331: 454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */ 11448 .loc 1 454 1 is_stmt 1 view -0 11449 .cfi_startproc 11450 @ args = 0, pretend = 0, frame = 0 11451 @ frame_needed = 0, uses_anonymous_args = 0 456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11452 .loc 1 456 3 view .LVU3810 456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11453 .loc 1 456 6 is_stmt 0 view .LVU3811 11454 0000 0028 cmp r0, #0 11455 0002 42D0 beq .L591 454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */ 11456 .loc 1 454 1 view .LVU3812 11457 0004 38B5 push {r3, r4, r5, lr} 11458 .LCFI49: 11459 .cfi_def_cfa_offset 16 11460 .cfi_offset 3, -16 11461 .cfi_offset 4, -12 11462 .cfi_offset 5, -8 11463 .cfi_offset 14, -4 11464 0006 0D46 mov r5, r1 11465 0008 0446 mov r4, r0 462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the Break detection length parameter */ 11466 .loc 1 462 3 is_stmt 1 view .LVU3813 464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11467 .loc 1 464 3 view .LVU3814 467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11468 .loc 1 467 3 view .LVU3815 467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11469 .loc 1 467 18 is_stmt 0 view .LVU3816 11470 000a C369 ldr r3, [r0, #28] 467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11471 .loc 1 467 6 view .LVU3817 11472 000c B3F5004F cmp r3, #32768 11473 0010 3DD0 beq .L592 472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11474 .loc 1 472 3 is_stmt 1 view .LVU3818 472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11475 .loc 1 472 18 is_stmt 0 view .LVU3819 11476 0012 8368 ldr r3, [r0, #8] 472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { ARM GAS /tmp/cceWHrnJ.s page 363 11477 .loc 1 472 6 view .LVU3820 11478 0014 002B cmp r3, #0 11479 0016 3CD1 bne .L593 477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11480 .loc 1 477 3 is_stmt 1 view .LVU3821 477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11481 .loc 1 477 12 is_stmt 0 view .LVU3822 11482 0018 D0F88430 ldr r3, [r0, #132] 477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11483 .loc 1 477 6 view .LVU3823 11484 001c 63B3 cbz r3, .L598 11485 .LVL1014: 11486 .L589: 498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11487 .loc 1 498 3 is_stmt 1 view .LVU3824 498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11488 .loc 1 498 17 is_stmt 0 view .LVU3825 11489 001e 2423 movs r3, #36 11490 0020 C4F88430 str r3, [r4, #132] 500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11491 .loc 1 500 3 is_stmt 1 view .LVU3826 11492 0024 2268 ldr r2, [r4] 11493 0026 1368 ldr r3, [r2] 11494 0028 23F00103 bic r3, r3, #1 11495 002c 1360 str r3, [r2] 503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11496 .loc 1 503 3 view .LVU3827 503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11497 .loc 1 503 7 is_stmt 0 view .LVU3828 11498 002e 2046 mov r0, r4 11499 0030 FFF7FEFF bl UART_SetConfig 11500 .LVL1015: 503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11501 .loc 1 503 6 view .LVU3829 11502 0034 0128 cmp r0, #1 11503 0036 1ED0 beq .L588 508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11504 .loc 1 508 3 is_stmt 1 view .LVU3830 508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11505 .loc 1 508 26 is_stmt 0 view .LVU3831 11506 0038 A36A ldr r3, [r4, #40] 508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11507 .loc 1 508 6 view .LVU3832 11508 003a 13BB cbnz r3, .L599 11509 .L590: 516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN)); 11510 .loc 1 516 3 is_stmt 1 view .LVU3833 11511 003c 2268 ldr r2, [r4] 11512 003e 5368 ldr r3, [r2, #4] 11513 0040 23F40063 bic r3, r3, #2048 11514 0044 5360 str r3, [r2, #4] 517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11515 .loc 1 517 3 view .LVU3834 11516 0046 2268 ldr r2, [r4] 11517 0048 9368 ldr r3, [r2, #8] 11518 004a 23F02A03 bic r3, r3, #42 11519 004e 9360 str r3, [r2, #8] ARM GAS /tmp/cceWHrnJ.s page 364 520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11520 .loc 1 520 3 view .LVU3835 11521 0050 2268 ldr r2, [r4] 11522 0052 5368 ldr r3, [r2, #4] 11523 0054 43F48043 orr r3, r3, #16384 11524 0058 5360 str r3, [r2, #4] 523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11525 .loc 1 523 3 view .LVU3836 11526 005a 2268 ldr r2, [r4] 11527 005c 5368 ldr r3, [r2, #4] 11528 005e 23F02003 bic r3, r3, #32 11529 0062 2B43 orrs r3, r3, r5 11530 0064 5360 str r3, [r2, #4] 525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11531 .loc 1 525 3 view .LVU3837 11532 0066 2268 ldr r2, [r4] 11533 0068 1368 ldr r3, [r2] 11534 006a 43F00103 orr r3, r3, #1 11535 006e 1360 str r3, [r2] 528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11536 .loc 1 528 3 view .LVU3838 528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11537 .loc 1 528 11 is_stmt 0 view .LVU3839 11538 0070 2046 mov r0, r4 11539 0072 FFF7FEFF bl UART_CheckIdleState 11540 .LVL1016: 11541 .L588: 529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11542 .loc 1 529 1 view .LVU3840 11543 0076 38BD pop {r3, r4, r5, pc} 11544 .LVL1017: 11545 .L598: 480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11546 .loc 1 480 5 is_stmt 1 view .LVU3841 480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11547 .loc 1 480 17 is_stmt 0 view .LVU3842 11548 0078 80F88030 strb r3, [r0, #128] 494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 11549 .loc 1 494 5 is_stmt 1 view .LVU3843 11550 007c FFF7FEFF bl HAL_UART_MspInit 11551 .LVL1018: 494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 11552 .loc 1 494 5 is_stmt 0 view .LVU3844 11553 0080 CDE7 b .L589 11554 .L599: 510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11555 .loc 1 510 5 is_stmt 1 view .LVU3845 11556 0082 2046 mov r0, r4 11557 0084 FFF7FEFF bl UART_AdvFeatureConfig 11558 .LVL1019: 11559 0088 D8E7 b .L590 11560 .LVL1020: 11561 .L591: 11562 .LCFI50: 11563 .cfi_def_cfa_offset 0 11564 .cfi_restore 3 11565 .cfi_restore 4 ARM GAS /tmp/cceWHrnJ.s page 365 11566 .cfi_restore 5 11567 .cfi_restore 14 458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11568 .loc 1 458 12 is_stmt 0 view .LVU3846 11569 008a 0120 movs r0, #1 11570 .LVL1021: 529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11571 .loc 1 529 1 view .LVU3847 11572 008c 7047 bx lr 11573 .LVL1022: 11574 .L592: 11575 .LCFI51: 11576 .cfi_def_cfa_offset 16 11577 .cfi_offset 3, -16 11578 .cfi_offset 4, -12 11579 .cfi_offset 5, -8 11580 .cfi_offset 14, -4 469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11581 .loc 1 469 12 view .LVU3848 11582 008e 0120 movs r0, #1 11583 .LVL1023: 469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11584 .loc 1 469 12 view .LVU3849 11585 0090 F1E7 b .L588 11586 .LVL1024: 11587 .L593: 474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11588 .loc 1 474 12 view .LVU3850 11589 0092 0120 movs r0, #1 11590 .LVL1025: 474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11591 .loc 1 474 12 view .LVU3851 11592 0094 EFE7 b .L588 11593 .cfi_endproc 11594 .LFE331: 11596 .section .text.HAL_MultiProcessor_Init,"ax",%progbits 11597 .align 1 11598 .global HAL_MultiProcessor_Init 11599 .syntax unified 11600 .thumb 11601 .thumb_func 11603 HAL_MultiProcessor_Init: 11604 .LVL1026: 11605 .LFB332: 551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */ 11606 .loc 1 551 1 is_stmt 1 view -0 11607 .cfi_startproc 11608 @ args = 0, pretend = 0, frame = 0 11609 @ frame_needed = 0, uses_anonymous_args = 0 553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11610 .loc 1 553 3 view .LVU3853 553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11611 .loc 1 553 6 is_stmt 0 view .LVU3854 11612 0000 0028 cmp r0, #0 11613 0002 42D0 beq .L605 551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */ 11614 .loc 1 551 1 view .LVU3855 ARM GAS /tmp/cceWHrnJ.s page 366 11615 0004 70B5 push {r4, r5, r6, lr} 11616 .LCFI52: 11617 .cfi_def_cfa_offset 16 11618 .cfi_offset 4, -16 11619 .cfi_offset 5, -12 11620 .cfi_offset 6, -8 11621 .cfi_offset 14, -4 11622 0006 0E46 mov r6, r1 11623 0008 1546 mov r5, r2 11624 000a 0446 mov r4, r0 559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11625 .loc 1 559 3 is_stmt 1 view .LVU3856 561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11626 .loc 1 561 3 view .LVU3857 561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11627 .loc 1 561 12 is_stmt 0 view .LVU3858 11628 000c D0F88430 ldr r3, [r0, #132] 561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11629 .loc 1 561 6 view .LVU3859 11630 0010 53B3 cbz r3, .L610 11631 .LVL1027: 11632 .L602: 582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11633 .loc 1 582 3 is_stmt 1 view .LVU3860 582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11634 .loc 1 582 17 is_stmt 0 view .LVU3861 11635 0012 2423 movs r3, #36 11636 0014 C4F88430 str r3, [r4, #132] 584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11637 .loc 1 584 3 is_stmt 1 view .LVU3862 11638 0018 2268 ldr r2, [r4] 11639 001a 1368 ldr r3, [r2] 11640 001c 23F00103 bic r3, r3, #1 11641 0020 1360 str r3, [r2] 587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11642 .loc 1 587 3 view .LVU3863 587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11643 .loc 1 587 7 is_stmt 0 view .LVU3864 11644 0022 2046 mov r0, r4 11645 0024 FFF7FEFF bl UART_SetConfig 11646 .LVL1028: 587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11647 .loc 1 587 6 view .LVU3865 11648 0028 0128 cmp r0, #1 11649 002a 1CD0 beq .L601 592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11650 .loc 1 592 3 is_stmt 1 view .LVU3866 592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11651 .loc 1 592 26 is_stmt 0 view .LVU3867 11652 002c A36A ldr r3, [r4, #40] 592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11653 .loc 1 592 6 view .LVU3868 11654 002e 03BB cbnz r3, .L611 11655 .L603: 600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); 11656 .loc 1 600 3 is_stmt 1 view .LVU3869 11657 0030 2268 ldr r2, [r4] ARM GAS /tmp/cceWHrnJ.s page 367 11658 0032 5368 ldr r3, [r2, #4] 11659 0034 23F49043 bic r3, r3, #18432 11660 0038 5360 str r3, [r2, #4] 601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11661 .loc 1 601 3 view .LVU3870 11662 003a 2268 ldr r2, [r4] 11663 003c 9368 ldr r3, [r2, #8] 11664 003e 23F02A03 bic r3, r3, #42 11665 0042 9360 str r3, [r2, #8] 603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11666 .loc 1 603 3 view .LVU3871 603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 11667 .loc 1 603 6 is_stmt 0 view .LVU3872 11668 0044 B5F5006F cmp r5, #2048 11669 0048 17D0 beq .L612 11670 .L604: 610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11671 .loc 1 610 3 is_stmt 1 view .LVU3873 11672 004a 2268 ldr r2, [r4] 11673 004c 1368 ldr r3, [r2] 11674 004e 23F40063 bic r3, r3, #2048 11675 0052 2B43 orrs r3, r3, r5 11676 0054 1360 str r3, [r2] 612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11677 .loc 1 612 3 view .LVU3874 11678 0056 2268 ldr r2, [r4] 11679 0058 1368 ldr r3, [r2] 11680 005a 43F00103 orr r3, r3, #1 11681 005e 1360 str r3, [r2] 615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11682 .loc 1 615 3 view .LVU3875 615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11683 .loc 1 615 11 is_stmt 0 view .LVU3876 11684 0060 2046 mov r0, r4 11685 0062 FFF7FEFF bl UART_CheckIdleState 11686 .LVL1029: 11687 .L601: 616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11688 .loc 1 616 1 view .LVU3877 11689 0066 70BD pop {r4, r5, r6, pc} 11690 .LVL1030: 11691 .L610: 564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11692 .loc 1 564 5 is_stmt 1 view .LVU3878 564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11693 .loc 1 564 17 is_stmt 0 view .LVU3879 11694 0068 80F88030 strb r3, [r0, #128] 578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 11695 .loc 1 578 5 is_stmt 1 view .LVU3880 11696 006c FFF7FEFF bl HAL_UART_MspInit 11697 .LVL1031: 578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 11698 .loc 1 578 5 is_stmt 0 view .LVU3881 11699 0070 CFE7 b .L602 11700 .L611: 594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11701 .loc 1 594 5 is_stmt 1 view .LVU3882 ARM GAS /tmp/cceWHrnJ.s page 368 11702 0072 2046 mov r0, r4 11703 0074 FFF7FEFF bl UART_AdvFeatureConfig 11704 .LVL1032: 11705 0078 DAE7 b .L603 11706 .L612: 606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11707 .loc 1 606 5 view .LVU3883 11708 007a 2268 ldr r2, [r4] 11709 007c 5368 ldr r3, [r2, #4] 11710 007e 23F07F43 bic r3, r3, #-16777216 11711 0082 43EA0663 orr r3, r3, r6, lsl #24 11712 0086 5360 str r3, [r2, #4] 11713 0088 DFE7 b .L604 11714 .LVL1033: 11715 .L605: 11716 .LCFI53: 11717 .cfi_def_cfa_offset 0 11718 .cfi_restore 4 11719 .cfi_restore 5 11720 .cfi_restore 6 11721 .cfi_restore 14 555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11722 .loc 1 555 12 is_stmt 0 view .LVU3884 11723 008a 0120 movs r0, #1 11724 .LVL1034: 616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11725 .loc 1 616 1 view .LVU3885 11726 008c 7047 bx lr 11727 .cfi_endproc 11728 .LFE332: 11730 .section .text.HAL_MultiProcessor_EnableMuteMode,"ax",%progbits 11731 .align 1 11732 .global HAL_MultiProcessor_EnableMuteMode 11733 .syntax unified 11734 .thumb 11735 .thumb_func 11737 HAL_MultiProcessor_EnableMuteMode: 11738 .LVL1035: 11739 .LFB364: 2820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 11740 .loc 1 2820 1 is_stmt 1 view -0 11741 .cfi_startproc 11742 @ args = 0, pretend = 0, frame = 0 11743 @ frame_needed = 0, uses_anonymous_args = 0 2820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 11744 .loc 1 2820 1 is_stmt 0 view .LVU3887 11745 0000 08B5 push {r3, lr} 11746 .LCFI54: 11747 .cfi_def_cfa_offset 8 11748 .cfi_offset 3, -8 11749 .cfi_offset 14, -4 2821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11750 .loc 1 2821 3 is_stmt 1 view .LVU3888 2821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11751 .loc 1 2821 3 view .LVU3889 11752 0002 90F88030 ldrb r3, [r0, #128] @ zero_extendqisi2 11753 0006 012B cmp r3, #1 ARM GAS /tmp/cceWHrnJ.s page 369 11754 0008 14D0 beq .L616 2821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11755 .loc 1 2821 3 discriminator 2 view .LVU3890 11756 000a 0123 movs r3, #1 11757 000c 80F88030 strb r3, [r0, #128] 2821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11758 .loc 1 2821 3 discriminator 2 view .LVU3891 2823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11759 .loc 1 2823 3 discriminator 2 view .LVU3892 2823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11760 .loc 1 2823 17 is_stmt 0 discriminator 2 view .LVU3893 11761 0010 2423 movs r3, #36 11762 0012 C0F88430 str r3, [r0, #132] 11763 .L615: 2826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11764 .loc 1 2826 3 is_stmt 1 discriminator 1 view .LVU3894 11765 .LBB956: 2826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11766 .loc 1 2826 3 discriminator 1 view .LVU3895 2826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11767 .loc 1 2826 3 discriminator 1 view .LVU3896 2826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11768 .loc 1 2826 3 discriminator 1 view .LVU3897 11769 0016 0268 ldr r2, [r0] 11770 .LVL1036: 11771 .LBB957: 11772 .LBI957: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11773 .loc 2 1151 31 discriminator 1 view .LVU3898 11774 .LBB958: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 11775 .loc 2 1153 5 discriminator 1 view .LVU3899 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 11776 .loc 2 1155 4 discriminator 1 view .LVU3900 11777 .syntax unified 11778 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11779 0018 52E8003F ldrex r3, [r2] 11780 @ 0 "" 2 11781 .LVL1037: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 11782 .loc 2 1156 4 discriminator 1 view .LVU3901 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 11783 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU3902 11784 .thumb 11785 .syntax unified 11786 .LBE958: 11787 .LBE957: 2826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11788 .loc 1 2826 3 discriminator 1 view .LVU3903 11789 001c 43F40053 orr r3, r3, #8192 11790 .LVL1038: 2826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11791 .loc 1 2826 3 is_stmt 1 discriminator 1 view .LVU3904 11792 .LBB959: 11793 .LBI959: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11794 .loc 2 1202 31 discriminator 1 view .LVU3905 ARM GAS /tmp/cceWHrnJ.s page 370 11795 .LBB960: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 11796 .loc 2 1204 4 discriminator 1 view .LVU3906 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 11797 .loc 2 1206 4 discriminator 1 view .LVU3907 11798 .syntax unified 11799 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11800 0020 42E80031 strex r1, r3, [r2] 11801 @ 0 "" 2 11802 .LVL1039: 11803 .loc 2 1207 4 discriminator 1 view .LVU3908 11804 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU3909 11805 .thumb 11806 .syntax unified 11807 .LBE960: 11808 .LBE959: 2826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11809 .loc 1 2826 3 discriminator 1 view .LVU3910 11810 0024 0029 cmp r1, #0 11811 0026 F6D1 bne .L615 11812 .LBE956: 2826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11813 .loc 1 2826 3 is_stmt 1 discriminator 2 view .LVU3911 2828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11814 .loc 1 2828 3 discriminator 2 view .LVU3912 2828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11815 .loc 1 2828 17 is_stmt 0 discriminator 2 view .LVU3913 11816 0028 2023 movs r3, #32 11817 .LVL1040: 2828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11818 .loc 1 2828 17 discriminator 2 view .LVU3914 11819 002a C0F88430 str r3, [r0, #132] 2830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11820 .loc 1 2830 3 is_stmt 1 discriminator 2 view .LVU3915 2830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11821 .loc 1 2830 11 is_stmt 0 discriminator 2 view .LVU3916 11822 002e FFF7FEFF bl UART_CheckIdleState 11823 .LVL1041: 11824 .L614: 2831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11825 .loc 1 2831 1 view .LVU3917 11826 0032 08BD pop {r3, pc} 11827 .LVL1042: 11828 .L616: 2821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11829 .loc 1 2821 3 view .LVU3918 11830 0034 0220 movs r0, #2 11831 .LVL1043: 2821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11832 .loc 1 2821 3 view .LVU3919 11833 0036 FCE7 b .L614 11834 .cfi_endproc 11835 .LFE364: 11837 .section .text.HAL_MultiProcessor_DisableMuteMode,"ax",%progbits 11838 .align 1 11839 .global HAL_MultiProcessor_DisableMuteMode 11840 .syntax unified ARM GAS /tmp/cceWHrnJ.s page 371 11841 .thumb 11842 .thumb_func 11844 HAL_MultiProcessor_DisableMuteMode: 11845 .LVL1044: 11846 .LFB365: 2840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 11847 .loc 1 2840 1 is_stmt 1 view -0 11848 .cfi_startproc 11849 @ args = 0, pretend = 0, frame = 0 11850 @ frame_needed = 0, uses_anonymous_args = 0 2840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart); 11851 .loc 1 2840 1 is_stmt 0 view .LVU3921 11852 0000 08B5 push {r3, lr} 11853 .LCFI55: 11854 .cfi_def_cfa_offset 8 11855 .cfi_offset 3, -8 11856 .cfi_offset 14, -4 2841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11857 .loc 1 2841 3 is_stmt 1 view .LVU3922 2841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11858 .loc 1 2841 3 view .LVU3923 11859 0002 90F88030 ldrb r3, [r0, #128] @ zero_extendqisi2 11860 0006 012B cmp r3, #1 11861 0008 14D0 beq .L621 2841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11862 .loc 1 2841 3 discriminator 2 view .LVU3924 11863 000a 0123 movs r3, #1 11864 000c 80F88030 strb r3, [r0, #128] 2841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11865 .loc 1 2841 3 discriminator 2 view .LVU3925 2843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11866 .loc 1 2843 3 discriminator 2 view .LVU3926 2843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11867 .loc 1 2843 17 is_stmt 0 discriminator 2 view .LVU3927 11868 0010 2423 movs r3, #36 11869 0012 C0F88430 str r3, [r0, #132] 11870 .L620: 2846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11871 .loc 1 2846 3 is_stmt 1 discriminator 1 view .LVU3928 11872 .LBB961: 2846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11873 .loc 1 2846 3 discriminator 1 view .LVU3929 2846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11874 .loc 1 2846 3 discriminator 1 view .LVU3930 2846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11875 .loc 1 2846 3 discriminator 1 view .LVU3931 11876 0016 0268 ldr r2, [r0] 11877 .LVL1045: 11878 .LBB962: 11879 .LBI962: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11880 .loc 2 1151 31 discriminator 1 view .LVU3932 11881 .LBB963: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 11882 .loc 2 1153 5 discriminator 1 view .LVU3933 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 11883 .loc 2 1155 4 discriminator 1 view .LVU3934 ARM GAS /tmp/cceWHrnJ.s page 372 11884 .syntax unified 11885 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11886 0018 52E8003F ldrex r3, [r2] 11887 @ 0 "" 2 11888 .LVL1046: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 11889 .loc 2 1156 4 discriminator 1 view .LVU3935 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 11890 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU3936 11891 .thumb 11892 .syntax unified 11893 .LBE963: 11894 .LBE962: 2846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11895 .loc 1 2846 3 discriminator 1 view .LVU3937 11896 001c 23F40053 bic r3, r3, #8192 11897 .LVL1047: 2846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11898 .loc 1 2846 3 is_stmt 1 discriminator 1 view .LVU3938 11899 .LBB964: 11900 .LBI964: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11901 .loc 2 1202 31 discriminator 1 view .LVU3939 11902 .LBB965: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 11903 .loc 2 1204 4 discriminator 1 view .LVU3940 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 11904 .loc 2 1206 4 discriminator 1 view .LVU3941 11905 .syntax unified 11906 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11907 0020 42E80031 strex r1, r3, [r2] 11908 @ 0 "" 2 11909 .LVL1048: 11910 .loc 2 1207 4 discriminator 1 view .LVU3942 11911 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU3943 11912 .thumb 11913 .syntax unified 11914 .LBE965: 11915 .LBE964: 2846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11916 .loc 1 2846 3 discriminator 1 view .LVU3944 11917 0024 0029 cmp r1, #0 11918 0026 F6D1 bne .L620 11919 .LBE961: 2846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11920 .loc 1 2846 3 is_stmt 1 discriminator 2 view .LVU3945 2848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11921 .loc 1 2848 3 discriminator 2 view .LVU3946 2848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11922 .loc 1 2848 17 is_stmt 0 discriminator 2 view .LVU3947 11923 0028 2023 movs r3, #32 11924 .LVL1049: 2848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11925 .loc 1 2848 17 discriminator 2 view .LVU3948 11926 002a C0F88430 str r3, [r0, #132] 2850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11927 .loc 1 2850 3 is_stmt 1 discriminator 2 view .LVU3949 ARM GAS /tmp/cceWHrnJ.s page 373 2850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 11928 .loc 1 2850 11 is_stmt 0 discriminator 2 view .LVU3950 11929 002e FFF7FEFF bl UART_CheckIdleState 11930 .LVL1050: 11931 .L619: 2851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11932 .loc 1 2851 1 view .LVU3951 11933 0032 08BD pop {r3, pc} 11934 .LVL1051: 11935 .L621: 2841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11936 .loc 1 2841 3 view .LVU3952 11937 0034 0220 movs r0, #2 11938 .LVL1052: 2841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11939 .loc 1 2841 3 view .LVU3953 11940 0036 FCE7 b .L619 11941 .cfi_endproc 11942 .LFE365: 11944 .section .text.UART_Start_Receive_IT,"ax",%progbits 11945 .align 1 11946 .global UART_Start_Receive_IT 11947 .syntax unified 11948 .thumb 11949 .thumb_func 11951 UART_Start_Receive_IT: 11952 .LVL1053: 11953 .LFB376: 3431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr = pData; 11954 .loc 1 3431 1 is_stmt 1 view -0 11955 .cfi_startproc 11956 @ args = 0, pretend = 0, frame = 0 11957 @ frame_needed = 0, uses_anonymous_args = 0 11958 @ link register save eliminated. 3431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr = pData; 11959 .loc 1 3431 1 is_stmt 0 view .LVU3955 11960 0000 10B4 push {r4} 11961 .LCFI56: 11962 .cfi_def_cfa_offset 4 11963 .cfi_offset 4, -4 3432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferSize = Size; 11964 .loc 1 3432 3 is_stmt 1 view .LVU3956 3432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferSize = Size; 11965 .loc 1 3432 22 is_stmt 0 view .LVU3957 11966 0002 8165 str r1, [r0, #88] 3433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = Size; 11967 .loc 1 3433 3 is_stmt 1 view .LVU3958 3433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = Size; 11968 .loc 1 3433 22 is_stmt 0 view .LVU3959 11969 0004 A0F85C20 strh r2, [r0, #92] @ movhi 3434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL; 11970 .loc 1 3434 3 is_stmt 1 view .LVU3960 3434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL; 11971 .loc 1 3434 22 is_stmt 0 view .LVU3961 11972 0008 A0F85E20 strh r2, [r0, #94] @ movhi 3435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11973 .loc 1 3435 3 is_stmt 1 view .LVU3962 ARM GAS /tmp/cceWHrnJ.s page 374 3435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11974 .loc 1 3435 22 is_stmt 0 view .LVU3963 11975 000c 0023 movs r3, #0 11976 000e 0367 str r3, [r0, #112] 3438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11977 .loc 1 3438 3 is_stmt 1 view .LVU3964 3438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11978 .loc 1 3438 3 view .LVU3965 11979 0010 8368 ldr r3, [r0, #8] 11980 0012 B3F5805F cmp r3, #4096 11981 0016 06D0 beq .L644 3438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11982 .loc 1 3438 3 discriminator 2 view .LVU3966 11983 0018 A3B9 cbnz r3, .L627 3438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11984 .loc 1 3438 3 discriminator 5 view .LVU3967 11985 001a 0369 ldr r3, [r0, #16] 11986 001c 73B9 cbnz r3, .L628 3438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11987 .loc 1 3438 3 discriminator 7 view .LVU3968 11988 001e FF23 movs r3, #255 11989 0020 A0F86030 strh r3, [r0, #96] @ movhi 11990 0024 14E0 b .L626 11991 .L644: 3438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11992 .loc 1 3438 3 discriminator 1 view .LVU3969 11993 0026 0369 ldr r3, [r0, #16] 11994 0028 23B9 cbnz r3, .L625 3438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 11995 .loc 1 3438 3 discriminator 3 view .LVU3970 11996 002a 40F2FF13 movw r3, #511 11997 002e A0F86030 strh r3, [r0, #96] @ movhi 11998 0032 0DE0 b .L626 11999 .L625: 3438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12000 .loc 1 3438 3 discriminator 4 view .LVU3971 12001 0034 FF23 movs r3, #255 12002 0036 A0F86030 strh r3, [r0, #96] @ movhi 12003 003a 09E0 b .L626 12004 .L628: 3438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12005 .loc 1 3438 3 discriminator 8 view .LVU3972 12006 003c 7F23 movs r3, #127 12007 003e A0F86030 strh r3, [r0, #96] @ movhi 12008 0042 05E0 b .L626 12009 .L627: 3438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12010 .loc 1 3438 3 discriminator 6 view .LVU3973 12011 0044 B3F1805F cmp r3, #268435456 12012 0048 31D0 beq .L645 3438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12013 .loc 1 3438 3 discriminator 10 view .LVU3974 12014 004a 0023 movs r3, #0 12015 004c A0F86030 strh r3, [r0, #96] @ movhi 12016 .L626: 3438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12017 .loc 1 3438 3 discriminator 13 view .LVU3975 ARM GAS /tmp/cceWHrnJ.s page 375 3440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 12018 .loc 1 3440 3 discriminator 13 view .LVU3976 3440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 12019 .loc 1 3440 20 is_stmt 0 discriminator 13 view .LVU3977 12020 0050 0023 movs r3, #0 12021 0052 C0F88C30 str r3, [r0, #140] 3441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12022 .loc 1 3441 3 is_stmt 1 discriminator 13 view .LVU3978 3441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12023 .loc 1 3441 18 is_stmt 0 discriminator 13 view .LVU3979 12024 0056 2223 movs r3, #34 12025 0058 C0F88830 str r3, [r0, #136] 12026 .LVL1054: 12027 .L631: 3444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12028 .loc 1 3444 3 is_stmt 1 discriminator 1 view .LVU3980 12029 .LBB966: 3444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12030 .loc 1 3444 3 discriminator 1 view .LVU3981 3444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12031 .loc 1 3444 3 discriminator 1 view .LVU3982 3444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12032 .loc 1 3444 3 discriminator 1 view .LVU3983 12033 005c 0168 ldr r1, [r0] 12034 .LVL1055: 12035 .LBB967: 12036 .LBI967: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12037 .loc 2 1151 31 discriminator 1 view .LVU3984 12038 .LBB968: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 12039 .loc 2 1153 5 discriminator 1 view .LVU3985 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12040 .loc 2 1155 4 discriminator 1 view .LVU3986 12041 005e 01F10803 add r3, r1, #8 12042 .LVL1056: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12043 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU3987 12044 .syntax unified 12045 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12046 0062 53E8003F ldrex r3, [r3] 12047 @ 0 "" 2 12048 .LVL1057: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12049 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU3988 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12050 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU3989 12051 .thumb 12052 .syntax unified 12053 .LBE968: 12054 .LBE967: 3444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12055 .loc 1 3444 3 discriminator 1 view .LVU3990 12056 0066 43F00103 orr r3, r3, #1 12057 .LVL1058: 3444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12058 .loc 1 3444 3 is_stmt 1 discriminator 1 view .LVU3991 ARM GAS /tmp/cceWHrnJ.s page 376 12059 .LBB969: 12060 .LBI969: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12061 .loc 2 1202 31 discriminator 1 view .LVU3992 12062 .LBB970: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 12063 .loc 2 1204 4 discriminator 1 view .LVU3993 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12064 .loc 2 1206 4 discriminator 1 view .LVU3994 12065 006a 0831 adds r1, r1, #8 12066 .LVL1059: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12067 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU3995 12068 .syntax unified 12069 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12070 006c 41E80034 strex r4, r3, [r1] 12071 @ 0 "" 2 12072 .LVL1060: 12073 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU3996 12074 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU3997 12075 .thumb 12076 .syntax unified 12077 .LBE970: 12078 .LBE969: 3444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12079 .loc 1 3444 3 discriminator 1 view .LVU3998 12080 0070 002C cmp r4, #0 12081 0072 F3D1 bne .L631 12082 .LBE966: 3444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12083 .loc 1 3444 3 is_stmt 1 discriminator 2 view .LVU3999 3447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12084 .loc 1 3447 3 discriminator 2 view .LVU4000 3447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12085 .loc 1 3447 13 is_stmt 0 discriminator 2 view .LVU4001 12086 0074 436E ldr r3, [r0, #100] 12087 .LVL1061: 3447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12088 .loc 1 3447 6 discriminator 2 view .LVU4002 12089 0076 B3F1005F cmp r3, #536870912 12090 007a 22D0 beq .L646 12091 .L632: 3471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12092 .loc 1 3471 5 is_stmt 1 view .LVU4003 3471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12093 .loc 1 3471 21 is_stmt 0 view .LVU4004 12094 007c 8368 ldr r3, [r0, #8] 3471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12095 .loc 1 3471 8 view .LVU4005 12096 007e B3F5805F cmp r3, #4096 12097 0082 49D0 beq .L647 12098 .L639: 3477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12099 .loc 1 3477 7 is_stmt 1 view .LVU4006 3477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12100 .loc 1 3477 20 is_stmt 0 view .LVU4007 12101 0084 2C4B ldr r3, .L649 ARM GAS /tmp/cceWHrnJ.s page 377 12102 0086 0367 str r3, [r0, #112] 12103 .L640: 3480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12104 .loc 1 3480 5 is_stmt 1 view .LVU4008 3480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12105 .loc 1 3480 5 view .LVU4009 12106 0088 0023 movs r3, #0 12107 008a 80F88030 strb r3, [r0, #128] 3480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12108 .loc 1 3480 5 view .LVU4010 3483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12109 .loc 1 3483 5 view .LVU4011 3483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12110 .loc 1 3483 20 is_stmt 0 view .LVU4012 12111 008e 0369 ldr r3, [r0, #16] 3483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12112 .loc 1 3483 8 view .LVU4013 12113 0090 002B cmp r3, #0 12114 0092 47D0 beq .L641 12115 .LVL1062: 12116 .L642: 3485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12117 .loc 1 3485 7 is_stmt 1 discriminator 1 view .LVU4014 12118 .LBB971: 3485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12119 .loc 1 3485 7 discriminator 1 view .LVU4015 3485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12120 .loc 1 3485 7 discriminator 1 view .LVU4016 3485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12121 .loc 1 3485 7 discriminator 1 view .LVU4017 12122 0094 0268 ldr r2, [r0] 12123 .LVL1063: 12124 .LBB972: 12125 .LBI972: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12126 .loc 2 1151 31 discriminator 1 view .LVU4018 12127 .LBB973: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 12128 .loc 2 1153 5 discriminator 1 view .LVU4019 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12129 .loc 2 1155 4 discriminator 1 view .LVU4020 12130 .syntax unified 12131 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12132 0096 52E8003F ldrex r3, [r2] 12133 @ 0 "" 2 12134 .LVL1064: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12135 .loc 2 1156 4 discriminator 1 view .LVU4021 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12136 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU4022 12137 .thumb 12138 .syntax unified 12139 .LBE973: 12140 .LBE972: 3485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12141 .loc 1 3485 7 discriminator 1 view .LVU4023 12142 009a 43F49073 orr r3, r3, #288 ARM GAS /tmp/cceWHrnJ.s page 378 12143 .LVL1065: 3485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12144 .loc 1 3485 7 is_stmt 1 discriminator 1 view .LVU4024 12145 .LBB974: 12146 .LBI974: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12147 .loc 2 1202 31 discriminator 1 view .LVU4025 12148 .LBB975: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 12149 .loc 2 1204 4 discriminator 1 view .LVU4026 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12150 .loc 2 1206 4 discriminator 1 view .LVU4027 12151 .syntax unified 12152 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12153 009e 42E80031 strex r1, r3, [r2] 12154 @ 0 "" 2 12155 .LVL1066: 12156 .loc 2 1207 4 discriminator 1 view .LVU4028 12157 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU4029 12158 .thumb 12159 .syntax unified 12160 .LBE975: 12161 .LBE974: 3485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12162 .loc 1 3485 7 discriminator 1 view .LVU4030 12163 00a2 0029 cmp r1, #0 12164 00a4 F6D1 bne .L642 12165 .LVL1067: 12166 .L638: 3485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12167 .loc 1 3485 7 discriminator 1 view .LVU4031 12168 .LBE971: 3489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12169 .loc 1 3489 7 is_stmt 1 discriminator 2 view .LVU4032 3492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12170 .loc 1 3492 3 discriminator 2 view .LVU4033 3493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12171 .loc 1 3493 1 is_stmt 0 discriminator 2 view .LVU4034 12172 00a6 0020 movs r0, #0 12173 .LVL1068: 3493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12174 .loc 1 3493 1 discriminator 2 view .LVU4035 12175 00a8 5DF8044B ldr r4, [sp], #4 12176 .LCFI57: 12177 .cfi_remember_state 12178 .cfi_restore 4 12179 .cfi_def_cfa_offset 0 12180 00ac 7047 bx lr 12181 .LVL1069: 12182 .L645: 12183 .LCFI58: 12184 .cfi_restore_state 3438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12185 .loc 1 3438 3 is_stmt 1 discriminator 9 view .LVU4036 12186 00ae 0369 ldr r3, [r0, #16] 12187 00b0 1BB9 cbnz r3, .L630 3438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 379 12188 .loc 1 3438 3 discriminator 11 view .LVU4037 12189 00b2 7F23 movs r3, #127 12190 00b4 A0F86030 strh r3, [r0, #96] @ movhi 12191 00b8 CAE7 b .L626 12192 .L630: 3438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12193 .loc 1 3438 3 discriminator 12 view .LVU4038 12194 00ba 3F23 movs r3, #63 12195 00bc A0F86030 strh r3, [r0, #96] @ movhi 12196 00c0 C6E7 b .L626 12197 .LVL1070: 12198 .L646: 3447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12199 .loc 1 3447 66 is_stmt 0 discriminator 1 view .LVU4039 12200 00c2 B0F86830 ldrh r3, [r0, #104] 3447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12201 .loc 1 3447 49 discriminator 1 view .LVU4040 12202 00c6 9342 cmp r3, r2 12203 00c8 D8D8 bhi .L632 3450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12204 .loc 1 3450 5 is_stmt 1 view .LVU4041 3450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12205 .loc 1 3450 21 is_stmt 0 view .LVU4042 12206 00ca 8368 ldr r3, [r0, #8] 3450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12207 .loc 1 3450 8 view .LVU4043 12208 00cc B3F5805F cmp r3, #4096 12209 00d0 1CD0 beq .L648 12210 .L633: 3456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12211 .loc 1 3456 7 is_stmt 1 view .LVU4044 3456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12212 .loc 1 3456 20 is_stmt 0 view .LVU4045 12213 00d2 1A4B ldr r3, .L649+4 12214 00d4 0367 str r3, [r0, #112] 12215 .L634: 3459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12216 .loc 1 3459 5 is_stmt 1 view .LVU4046 3459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12217 .loc 1 3459 5 view .LVU4047 12218 00d6 0023 movs r3, #0 12219 00d8 80F88030 strb r3, [r0, #128] 3459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12220 .loc 1 3459 5 view .LVU4048 3462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12221 .loc 1 3462 5 view .LVU4049 3462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12222 .loc 1 3462 20 is_stmt 0 view .LVU4050 12223 00dc 0369 ldr r3, [r0, #16] 3462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12224 .loc 1 3462 8 view .LVU4051 12225 00de 43B1 cbz r3, .L637 12226 .LVL1071: 12227 .L636: 3464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12228 .loc 1 3464 7 is_stmt 1 discriminator 1 view .LVU4052 12229 .LBB976: ARM GAS /tmp/cceWHrnJ.s page 380 3464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12230 .loc 1 3464 7 discriminator 1 view .LVU4053 3464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12231 .loc 1 3464 7 discriminator 1 view .LVU4054 3464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12232 .loc 1 3464 7 discriminator 1 view .LVU4055 12233 00e0 0268 ldr r2, [r0] 12234 .LVL1072: 12235 .LBB977: 12236 .LBI977: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12237 .loc 2 1151 31 discriminator 1 view .LVU4056 12238 .LBB978: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 12239 .loc 2 1153 5 discriminator 1 view .LVU4057 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12240 .loc 2 1155 4 discriminator 1 view .LVU4058 12241 .syntax unified 12242 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12243 00e2 52E8003F ldrex r3, [r2] 12244 @ 0 "" 2 12245 .LVL1073: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12246 .loc 2 1156 4 discriminator 1 view .LVU4059 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12247 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU4060 12248 .thumb 12249 .syntax unified 12250 .LBE978: 12251 .LBE977: 3464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12252 .loc 1 3464 7 discriminator 1 view .LVU4061 12253 00e6 43F48073 orr r3, r3, #256 12254 .LVL1074: 3464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12255 .loc 1 3464 7 is_stmt 1 discriminator 1 view .LVU4062 12256 .LBB979: 12257 .LBI979: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12258 .loc 2 1202 31 discriminator 1 view .LVU4063 12259 .LBB980: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 12260 .loc 2 1204 4 discriminator 1 view .LVU4064 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12261 .loc 2 1206 4 discriminator 1 view .LVU4065 12262 .syntax unified 12263 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12264 00ea 42E80031 strex r1, r3, [r2] 12265 @ 0 "" 2 12266 .LVL1075: 12267 .loc 2 1207 4 discriminator 1 view .LVU4066 12268 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU4067 12269 .thumb 12270 .syntax unified 12271 .LBE980: 12272 .LBE979: 3464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cceWHrnJ.s page 381 12273 .loc 1 3464 7 discriminator 1 view .LVU4068 12274 00ee 0029 cmp r1, #0 12275 00f0 F6D1 bne .L636 12276 .LVL1076: 12277 .L637: 3464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12278 .loc 1 3464 7 discriminator 1 view .LVU4069 12279 .LBE976: 3464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12280 .loc 1 3464 7 is_stmt 1 discriminator 1 view .LVU4070 3466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12281 .loc 1 3466 5 discriminator 1 view .LVU4071 12282 .LBB981: 3466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12283 .loc 1 3466 5 discriminator 1 view .LVU4072 3466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12284 .loc 1 3466 5 discriminator 1 view .LVU4073 3466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12285 .loc 1 3466 5 discriminator 1 view .LVU4074 12286 00f2 0268 ldr r2, [r0] 12287 .LVL1077: 12288 .LBB982: 12289 .LBI982: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12290 .loc 2 1151 31 discriminator 1 view .LVU4075 12291 .LBB983: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 12292 .loc 2 1153 5 discriminator 1 view .LVU4076 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12293 .loc 2 1155 4 discriminator 1 view .LVU4077 12294 00f4 02F10803 add r3, r2, #8 12295 .LVL1078: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12296 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU4078 12297 .syntax unified 12298 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12299 00f8 53E8003F ldrex r3, [r3] 12300 @ 0 "" 2 12301 .LVL1079: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12302 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU4079 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12303 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU4080 12304 .thumb 12305 .syntax unified 12306 .LBE983: 12307 .LBE982: 3466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12308 .loc 1 3466 5 discriminator 1 view .LVU4081 12309 00fc 43F08053 orr r3, r3, #268435456 12310 .LVL1080: 3466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12311 .loc 1 3466 5 is_stmt 1 discriminator 1 view .LVU4082 12312 .LBB984: 12313 .LBI984: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12314 .loc 2 1202 31 discriminator 1 view .LVU4083 ARM GAS /tmp/cceWHrnJ.s page 382 12315 .LBB985: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 12316 .loc 2 1204 4 discriminator 1 view .LVU4084 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12317 .loc 2 1206 4 discriminator 1 view .LVU4085 12318 0100 0832 adds r2, r2, #8 12319 .LVL1081: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12320 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU4086 12321 .syntax unified 12322 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12323 0102 42E80031 strex r1, r3, [r2] 12324 @ 0 "" 2 12325 .LVL1082: 12326 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU4087 12327 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU4088 12328 .thumb 12329 .syntax unified 12330 .LBE985: 12331 .LBE984: 3466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12332 .loc 1 3466 5 discriminator 1 view .LVU4089 12333 0106 0029 cmp r1, #0 12334 0108 F3D1 bne .L637 12335 010a CCE7 b .L638 12336 .LVL1083: 12337 .L648: 3466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12338 .loc 1 3466 5 discriminator 1 view .LVU4090 12339 .LBE981: 3450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12340 .loc 1 3450 71 discriminator 1 view .LVU4091 12341 010c 0369 ldr r3, [r0, #16] 3450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12342 .loc 1 3450 56 discriminator 1 view .LVU4092 12343 010e 002B cmp r3, #0 12344 0110 DFD1 bne .L633 3452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12345 .loc 1 3452 7 is_stmt 1 view .LVU4093 3452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12346 .loc 1 3452 20 is_stmt 0 view .LVU4094 12347 0112 0B4B ldr r3, .L649+8 12348 0114 0367 str r3, [r0, #112] 12349 0116 DEE7 b .L634 12350 .L647: 3471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12351 .loc 1 3471 71 discriminator 1 view .LVU4095 12352 0118 0369 ldr r3, [r0, #16] 3471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12353 .loc 1 3471 56 discriminator 1 view .LVU4096 12354 011a 002B cmp r3, #0 12355 011c B2D1 bne .L639 3473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12356 .loc 1 3473 7 is_stmt 1 view .LVU4097 3473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12357 .loc 1 3473 20 is_stmt 0 view .LVU4098 12358 011e 094B ldr r3, .L649+12 ARM GAS /tmp/cceWHrnJ.s page 383 12359 0120 0367 str r3, [r0, #112] 12360 0122 B1E7 b .L640 12361 .LVL1084: 12362 .L641: 3489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12363 .loc 1 3489 7 is_stmt 1 discriminator 1 view .LVU4099 12364 .LBB986: 3489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12365 .loc 1 3489 7 discriminator 1 view .LVU4100 3489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12366 .loc 1 3489 7 discriminator 1 view .LVU4101 3489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12367 .loc 1 3489 7 discriminator 1 view .LVU4102 12368 0124 0268 ldr r2, [r0] 12369 .LVL1085: 12370 .LBB987: 12371 .LBI987: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12372 .loc 2 1151 31 discriminator 1 view .LVU4103 12373 .LBB988: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 12374 .loc 2 1153 5 discriminator 1 view .LVU4104 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12375 .loc 2 1155 4 discriminator 1 view .LVU4105 12376 .syntax unified 12377 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12378 0126 52E8003F ldrex r3, [r2] 12379 @ 0 "" 2 12380 .LVL1086: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12381 .loc 2 1156 4 discriminator 1 view .LVU4106 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12382 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU4107 12383 .thumb 12384 .syntax unified 12385 .LBE988: 12386 .LBE987: 3489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12387 .loc 1 3489 7 discriminator 1 view .LVU4108 12388 012a 43F02003 orr r3, r3, #32 12389 .LVL1087: 3489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12390 .loc 1 3489 7 is_stmt 1 discriminator 1 view .LVU4109 12391 .LBB989: 12392 .LBI989: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12393 .loc 2 1202 31 discriminator 1 view .LVU4110 12394 .LBB990: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 12395 .loc 2 1204 4 discriminator 1 view .LVU4111 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12396 .loc 2 1206 4 discriminator 1 view .LVU4112 12397 .syntax unified 12398 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12399 012e 42E80031 strex r1, r3, [r2] 12400 @ 0 "" 2 12401 .LVL1088: ARM GAS /tmp/cceWHrnJ.s page 384 12402 .loc 2 1207 4 discriminator 1 view .LVU4113 12403 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU4114 12404 .thumb 12405 .syntax unified 12406 .LBE990: 12407 .LBE989: 3489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12408 .loc 1 3489 7 discriminator 1 view .LVU4115 12409 0132 0029 cmp r1, #0 12410 0134 F6D1 bne .L641 12411 0136 B6E7 b .L638 12412 .L650: 12413 .align 2 12414 .L649: 12415 0138 00000000 .word UART_RxISR_8BIT 12416 013c 00000000 .word UART_RxISR_8BIT_FIFOEN 12417 0140 00000000 .word UART_RxISR_16BIT_FIFOEN 12418 0144 00000000 .word UART_RxISR_16BIT 12419 .LBE986: 12420 .cfi_endproc 12421 .LFE376: 12423 .section .text.HAL_UART_Receive_IT,"ax",%progbits 12424 .align 1 12425 .global HAL_UART_Receive_IT 12426 .syntax unified 12427 .thumb 12428 .thumb_func 12430 HAL_UART_Receive_IT: 12431 .LVL1089: 12432 .LFB339: 1371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 12433 .loc 1 1371 1 is_stmt 1 view -0 12434 .cfi_startproc 12435 @ args = 0, pretend = 0, frame = 0 12436 @ frame_needed = 0, uses_anonymous_args = 0 1371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 12437 .loc 1 1371 1 is_stmt 0 view .LVU4117 12438 0000 38B5 push {r3, r4, r5, lr} 12439 .LCFI59: 12440 .cfi_def_cfa_offset 16 12441 .cfi_offset 3, -16 12442 .cfi_offset 4, -12 12443 .cfi_offset 5, -8 12444 .cfi_offset 14, -4 1373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12445 .loc 1 1373 3 is_stmt 1 view .LVU4118 1373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12446 .loc 1 1373 12 is_stmt 0 view .LVU4119 12447 0002 D0F88830 ldr r3, [r0, #136] 1373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12448 .loc 1 1373 6 view .LVU4120 12449 0006 202B cmp r3, #32 12450 0008 1ED1 bne .L655 1375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12451 .loc 1 1375 5 is_stmt 1 view .LVU4121 1375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12452 .loc 1 1375 8 is_stmt 0 view .LVU4122 ARM GAS /tmp/cceWHrnJ.s page 385 12453 000a F9B1 cbz r1, .L656 1375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12454 .loc 1 1375 25 discriminator 1 view .LVU4123 12455 000c 02B3 cbz r2, .L657 1380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12456 .loc 1 1380 5 is_stmt 1 view .LVU4124 1380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12457 .loc 1 1380 5 view .LVU4125 12458 000e 90F88030 ldrb r3, [r0, #128] @ zero_extendqisi2 12459 0012 012B cmp r3, #1 12460 0014 1ED0 beq .L658 1380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12461 .loc 1 1380 5 discriminator 2 view .LVU4126 12462 0016 0123 movs r3, #1 12463 0018 80F88030 strb r3, [r0, #128] 1380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12464 .loc 1 1380 5 discriminator 2 view .LVU4127 1383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12465 .loc 1 1383 5 discriminator 2 view .LVU4128 1383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12466 .loc 1 1383 26 is_stmt 0 discriminator 2 view .LVU4129 12467 001c 0023 movs r3, #0 12468 001e C366 str r3, [r0, #108] 1385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12469 .loc 1 1385 5 is_stmt 1 discriminator 2 view .LVU4130 1385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12470 .loc 1 1385 11 is_stmt 0 discriminator 2 view .LVU4131 12471 0020 0368 ldr r3, [r0] 1385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12472 .loc 1 1385 8 discriminator 2 view .LVU4132 12473 0022 0D4C ldr r4, .L660 12474 0024 A342 cmp r3, r4 12475 0026 0CD0 beq .L653 1388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12476 .loc 1 1388 7 is_stmt 1 view .LVU4133 1388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12477 .loc 1 1388 11 is_stmt 0 view .LVU4134 12478 0028 5B68 ldr r3, [r3, #4] 1388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12479 .loc 1 1388 10 view .LVU4135 12480 002a 13F4000F tst r3, #8388608 12481 002e 08D0 beq .L653 12482 .L654: 1391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12483 .loc 1 1391 9 is_stmt 1 discriminator 1 view .LVU4136 12484 .LBB991: 1391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12485 .loc 1 1391 9 discriminator 1 view .LVU4137 1391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12486 .loc 1 1391 9 discriminator 1 view .LVU4138 1391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12487 .loc 1 1391 9 discriminator 1 view .LVU4139 12488 0030 0468 ldr r4, [r0] 12489 .LVL1090: 12490 .LBB992: 12491 .LBI992: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { ARM GAS /tmp/cceWHrnJ.s page 386 12492 .loc 2 1151 31 discriminator 1 view .LVU4140 12493 .LBB993: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 12494 .loc 2 1153 5 discriminator 1 view .LVU4141 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12495 .loc 2 1155 4 discriminator 1 view .LVU4142 12496 .syntax unified 12497 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12498 0032 54E8003F ldrex r3, [r4] 12499 @ 0 "" 2 12500 .LVL1091: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12501 .loc 2 1156 4 discriminator 1 view .LVU4143 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12502 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU4144 12503 .thumb 12504 .syntax unified 12505 .LBE993: 12506 .LBE992: 1391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12507 .loc 1 1391 9 discriminator 1 view .LVU4145 12508 0036 43F08063 orr r3, r3, #67108864 12509 .LVL1092: 1391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12510 .loc 1 1391 9 is_stmt 1 discriminator 1 view .LVU4146 12511 .LBB994: 12512 .LBI994: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12513 .loc 2 1202 31 discriminator 1 view .LVU4147 12514 .LBB995: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 12515 .loc 2 1204 4 discriminator 1 view .LVU4148 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12516 .loc 2 1206 4 discriminator 1 view .LVU4149 12517 .syntax unified 12518 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12519 003a 44E80035 strex r5, r3, [r4] 12520 @ 0 "" 2 12521 .LVL1093: 12522 .loc 2 1207 4 discriminator 1 view .LVU4150 12523 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU4151 12524 .thumb 12525 .syntax unified 12526 .LBE995: 12527 .LBE994: 1391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12528 .loc 1 1391 9 discriminator 1 view .LVU4152 12529 003e 002D cmp r5, #0 12530 0040 F6D1 bne .L654 12531 .LVL1094: 12532 .L653: 1391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12533 .loc 1 1391 9 discriminator 1 view .LVU4153 12534 .LBE991: 1391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12535 .loc 1 1391 9 is_stmt 1 discriminator 2 view .LVU4154 1395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } ARM GAS /tmp/cceWHrnJ.s page 387 12536 .loc 1 1395 5 discriminator 2 view .LVU4155 1395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12537 .loc 1 1395 13 is_stmt 0 discriminator 2 view .LVU4156 12538 0042 FFF7FEFF bl UART_Start_Receive_IT 12539 .LVL1095: 1395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12540 .loc 1 1395 13 discriminator 2 view .LVU4157 12541 0046 00E0 b .L652 12542 .LVL1096: 12543 .L655: 1399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12544 .loc 1 1399 12 view .LVU4158 12545 0048 0220 movs r0, #2 12546 .LVL1097: 12547 .L652: 1401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12548 .loc 1 1401 1 view .LVU4159 12549 004a 38BD pop {r3, r4, r5, pc} 12550 .LVL1098: 12551 .L656: 1377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12552 .loc 1 1377 14 view .LVU4160 12553 004c 0120 movs r0, #1 12554 .LVL1099: 1377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12555 .loc 1 1377 14 view .LVU4161 12556 004e FCE7 b .L652 12557 .LVL1100: 12558 .L657: 1377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12559 .loc 1 1377 14 view .LVU4162 12560 0050 0120 movs r0, #1 12561 .LVL1101: 1377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12562 .loc 1 1377 14 view .LVU4163 12563 0052 FAE7 b .L652 12564 .LVL1102: 12565 .L658: 1380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12566 .loc 1 1380 5 view .LVU4164 12567 0054 0220 movs r0, #2 12568 .LVL1103: 1380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12569 .loc 1 1380 5 view .LVU4165 12570 0056 F8E7 b .L652 12571 .L661: 12572 .align 2 12573 .L660: 12574 0058 00800040 .word 1073774592 12575 .cfi_endproc 12576 .LFE339: 12578 .section .text.UART_Start_Receive_DMA,"ax",%progbits 12579 .align 1 12580 .global UART_Start_Receive_DMA 12581 .syntax unified 12582 .thumb 12583 .thumb_func ARM GAS /tmp/cceWHrnJ.s page 388 12585 UART_Start_Receive_DMA: 12586 .LVL1104: 12587 .LFB377: 3507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr = pData; 12588 .loc 1 3507 1 is_stmt 1 view -0 12589 .cfi_startproc 12590 @ args = 0, pretend = 0, frame = 0 12591 @ frame_needed = 0, uses_anonymous_args = 0 3507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr = pData; 12592 .loc 1 3507 1 is_stmt 0 view .LVU4167 12593 0000 10B5 push {r4, lr} 12594 .LCFI60: 12595 .cfi_def_cfa_offset 8 12596 .cfi_offset 4, -8 12597 .cfi_offset 14, -4 12598 0002 0446 mov r4, r0 12599 0004 1346 mov r3, r2 3508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferSize = Size; 12600 .loc 1 3508 3 is_stmt 1 view .LVU4168 3508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferSize = Size; 12601 .loc 1 3508 21 is_stmt 0 view .LVU4169 12602 0006 8165 str r1, [r0, #88] 3509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12603 .loc 1 3509 3 is_stmt 1 view .LVU4170 3509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12604 .loc 1 3509 21 is_stmt 0 view .LVU4171 12605 0008 A0F85C20 strh r2, [r0, #92] @ movhi 3511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 12606 .loc 1 3511 3 is_stmt 1 view .LVU4172 3511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 12607 .loc 1 3511 20 is_stmt 0 view .LVU4173 12608 000c 0022 movs r2, #0 12609 .LVL1105: 3511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 12610 .loc 1 3511 20 view .LVU4174 12611 000e C0F88C20 str r2, [r0, #140] 3512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12612 .loc 1 3512 3 is_stmt 1 view .LVU4175 3512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12613 .loc 1 3512 18 is_stmt 0 view .LVU4176 12614 0012 2222 movs r2, #34 12615 0014 C0F88820 str r2, [r0, #136] 3514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12616 .loc 1 3514 3 is_stmt 1 view .LVU4177 3514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12617 .loc 1 3514 12 is_stmt 0 view .LVU4178 12618 0018 C26F ldr r2, [r0, #124] 3514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12619 .loc 1 3514 6 view .LVU4179 12620 001a 8AB1 cbz r2, .L663 3517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12621 .loc 1 3517 5 is_stmt 1 view .LVU4180 3517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12622 .loc 1 3517 37 is_stmt 0 view .LVU4181 12623 001c 2249 ldr r1, .L671 12624 .LVL1106: 3517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ARM GAS /tmp/cceWHrnJ.s page 389 12625 .loc 1 3517 37 view .LVU4182 12626 001e D162 str r1, [r2, #44] 12627 .LVL1107: 3520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12628 .loc 1 3520 5 is_stmt 1 view .LVU4183 3520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12629 .loc 1 3520 10 is_stmt 0 view .LVU4184 12630 0020 C26F ldr r2, [r0, #124] 3520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12631 .loc 1 3520 41 view .LVU4185 12632 0022 2249 ldr r1, .L671+4 12633 0024 1163 str r1, [r2, #48] 3523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12634 .loc 1 3523 5 is_stmt 1 view .LVU4186 3523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12635 .loc 1 3523 10 is_stmt 0 view .LVU4187 12636 0026 C26F ldr r2, [r0, #124] 3523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12637 .loc 1 3523 38 view .LVU4188 12638 0028 2149 ldr r1, .L671+8 12639 002a 5163 str r1, [r2, #52] 3526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12640 .loc 1 3526 5 is_stmt 1 view .LVU4189 3526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12641 .loc 1 3526 10 is_stmt 0 view .LVU4190 12642 002c C26F ldr r2, [r0, #124] 3526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12643 .loc 1 3526 38 view .LVU4191 12644 002e 0021 movs r1, #0 12645 0030 9163 str r1, [r2, #56] 3529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12646 .loc 1 3529 5 is_stmt 1 view .LVU4192 3529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12647 .loc 1 3529 57 is_stmt 0 view .LVU4193 12648 0032 0168 ldr r1, [r0] 3529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12649 .loc 1 3529 9 view .LVU4194 12650 0034 826D ldr r2, [r0, #88] 12651 0036 2431 adds r1, r1, #36 12652 0038 C06F ldr r0, [r0, #124] 12653 .LVL1108: 3529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12654 .loc 1 3529 9 view .LVU4195 12655 003a FFF7FEFF bl HAL_DMA_Start_IT 12656 .LVL1109: 3529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12657 .loc 1 3529 8 view .LVU4196 12658 003e 38BB cbnz r0, .L670 12659 .L663: 3542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12660 .loc 1 3542 3 is_stmt 1 view .LVU4197 3542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12661 .loc 1 3542 3 view .LVU4198 12662 0040 0023 movs r3, #0 12663 0042 84F88030 strb r3, [r4, #128] 3542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12664 .loc 1 3542 3 view .LVU4199 ARM GAS /tmp/cceWHrnJ.s page 390 3545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12665 .loc 1 3545 3 view .LVU4200 3545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12666 .loc 1 3545 18 is_stmt 0 view .LVU4201 12667 0046 2369 ldr r3, [r4, #16] 3545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12668 .loc 1 3545 6 view .LVU4202 12669 0048 43B1 cbz r3, .L667 12670 .L666: 3547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12671 .loc 1 3547 5 is_stmt 1 discriminator 1 view .LVU4203 12672 .LBB996: 3547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12673 .loc 1 3547 5 discriminator 1 view .LVU4204 3547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12674 .loc 1 3547 5 discriminator 1 view .LVU4205 3547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12675 .loc 1 3547 5 discriminator 1 view .LVU4206 12676 004a 2268 ldr r2, [r4] 12677 .LVL1110: 12678 .LBB997: 12679 .LBI997: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12680 .loc 2 1151 31 discriminator 1 view .LVU4207 12681 .LBB998: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 12682 .loc 2 1153 5 discriminator 1 view .LVU4208 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12683 .loc 2 1155 4 discriminator 1 view .LVU4209 12684 .syntax unified 12685 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12686 004c 52E8003F ldrex r3, [r2] 12687 @ 0 "" 2 12688 .LVL1111: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12689 .loc 2 1156 4 discriminator 1 view .LVU4210 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12690 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU4211 12691 .thumb 12692 .syntax unified 12693 .LBE998: 12694 .LBE997: 3547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12695 .loc 1 3547 5 discriminator 1 view .LVU4212 12696 0050 43F48073 orr r3, r3, #256 12697 .LVL1112: 3547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12698 .loc 1 3547 5 is_stmt 1 discriminator 1 view .LVU4213 12699 .LBB999: 12700 .LBI999: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12701 .loc 2 1202 31 discriminator 1 view .LVU4214 12702 .LBB1000: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 12703 .loc 2 1204 4 discriminator 1 view .LVU4215 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12704 .loc 2 1206 4 discriminator 1 view .LVU4216 ARM GAS /tmp/cceWHrnJ.s page 391 12705 .syntax unified 12706 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12707 0054 42E80031 strex r1, r3, [r2] 12708 @ 0 "" 2 12709 .LVL1113: 12710 .loc 2 1207 4 discriminator 1 view .LVU4217 12711 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU4218 12712 .thumb 12713 .syntax unified 12714 .LBE1000: 12715 .LBE999: 3547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12716 .loc 1 3547 5 discriminator 1 view .LVU4219 12717 0058 0029 cmp r1, #0 12718 005a F6D1 bne .L666 12719 .LVL1114: 12720 .L667: 3547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12721 .loc 1 3547 5 discriminator 1 view .LVU4220 12722 .LBE996: 3547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12723 .loc 1 3547 5 is_stmt 1 discriminator 1 view .LVU4221 3551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12724 .loc 1 3551 3 discriminator 1 view .LVU4222 12725 .LBB1001: 3551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12726 .loc 1 3551 3 discriminator 1 view .LVU4223 3551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12727 .loc 1 3551 3 discriminator 1 view .LVU4224 3551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12728 .loc 1 3551 3 discriminator 1 view .LVU4225 12729 005c 2268 ldr r2, [r4] 12730 .LVL1115: 12731 .LBB1002: 12732 .LBI1002: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12733 .loc 2 1151 31 discriminator 1 view .LVU4226 12734 .LBB1003: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 12735 .loc 2 1153 5 discriminator 1 view .LVU4227 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12736 .loc 2 1155 4 discriminator 1 view .LVU4228 12737 005e 02F10803 add r3, r2, #8 12738 .LVL1116: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12739 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU4229 12740 .syntax unified 12741 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12742 0062 53E8003F ldrex r3, [r3] 12743 @ 0 "" 2 12744 .LVL1117: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12745 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU4230 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12746 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU4231 12747 .thumb 12748 .syntax unified ARM GAS /tmp/cceWHrnJ.s page 392 12749 .LBE1003: 12750 .LBE1002: 3551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12751 .loc 1 3551 3 discriminator 1 view .LVU4232 12752 0066 43F00103 orr r3, r3, #1 12753 .LVL1118: 3551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12754 .loc 1 3551 3 is_stmt 1 discriminator 1 view .LVU4233 12755 .LBB1004: 12756 .LBI1004: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12757 .loc 2 1202 31 discriminator 1 view .LVU4234 12758 .LBB1005: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 12759 .loc 2 1204 4 discriminator 1 view .LVU4235 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12760 .loc 2 1206 4 discriminator 1 view .LVU4236 12761 006a 0832 adds r2, r2, #8 12762 .LVL1119: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12763 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU4237 12764 .syntax unified 12765 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12766 006c 42E80031 strex r1, r3, [r2] 12767 @ 0 "" 2 12768 .LVL1120: 12769 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU4238 12770 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU4239 12771 .thumb 12772 .syntax unified 12773 .LBE1005: 12774 .LBE1004: 3551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12775 .loc 1 3551 3 discriminator 1 view .LVU4240 12776 0070 0029 cmp r1, #0 12777 0072 F3D1 bne .L667 12778 .LVL1121: 12779 .L668: 3551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12780 .loc 1 3551 3 discriminator 1 view .LVU4241 12781 .LBE1001: 3551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12782 .loc 1 3551 3 is_stmt 1 discriminator 1 view .LVU4242 3555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12783 .loc 1 3555 3 discriminator 1 view .LVU4243 12784 .LBB1006: 3555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12785 .loc 1 3555 3 discriminator 1 view .LVU4244 3555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12786 .loc 1 3555 3 discriminator 1 view .LVU4245 3555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12787 .loc 1 3555 3 discriminator 1 view .LVU4246 12788 0074 2268 ldr r2, [r4] 12789 .LVL1122: 12790 .LBB1007: 12791 .LBI1007: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { ARM GAS /tmp/cceWHrnJ.s page 393 12792 .loc 2 1151 31 discriminator 1 view .LVU4247 12793 .LBB1008: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 12794 .loc 2 1153 5 discriminator 1 view .LVU4248 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12795 .loc 2 1155 4 discriminator 1 view .LVU4249 12796 0076 02F10803 add r3, r2, #8 12797 .LVL1123: 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12798 .loc 2 1155 4 is_stmt 0 discriminator 1 view .LVU4250 12799 .syntax unified 12800 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12801 007a 53E8003F ldrex r3, [r3] 12802 @ 0 "" 2 12803 .LVL1124: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12804 .loc 2 1156 4 is_stmt 1 discriminator 1 view .LVU4251 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12805 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU4252 12806 .thumb 12807 .syntax unified 12808 .LBE1008: 12809 .LBE1007: 3555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12810 .loc 1 3555 3 discriminator 1 view .LVU4253 12811 007e 43F04003 orr r3, r3, #64 12812 .LVL1125: 3555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12813 .loc 1 3555 3 is_stmt 1 discriminator 1 view .LVU4254 12814 .LBB1009: 12815 .LBI1009: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12816 .loc 2 1202 31 discriminator 1 view .LVU4255 12817 .LBB1010: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 12818 .loc 2 1204 4 discriminator 1 view .LVU4256 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12819 .loc 2 1206 4 discriminator 1 view .LVU4257 12820 0082 0832 adds r2, r2, #8 12821 .LVL1126: 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12822 .loc 2 1206 4 is_stmt 0 discriminator 1 view .LVU4258 12823 .syntax unified 12824 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12825 0084 42E80031 strex r1, r3, [r2] 12826 @ 0 "" 2 12827 .LVL1127: 12828 .loc 2 1207 4 is_stmt 1 discriminator 1 view .LVU4259 12829 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU4260 12830 .thumb 12831 .syntax unified 12832 .LBE1010: 12833 .LBE1009: 3555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12834 .loc 1 3555 3 discriminator 1 view .LVU4261 12835 0088 0029 cmp r1, #0 12836 008a F3D1 bne .L668 ARM GAS /tmp/cceWHrnJ.s page 394 12837 .LBE1006: 3557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12838 .loc 1 3557 10 view .LVU4262 12839 008c 0020 movs r0, #0 12840 .LVL1128: 12841 .L664: 3558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12842 .loc 1 3558 1 view .LVU4263 12843 008e 10BD pop {r4, pc} 12844 .LVL1129: 12845 .L670: 3532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12846 .loc 1 3532 7 is_stmt 1 view .LVU4264 3532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12847 .loc 1 3532 24 is_stmt 0 view .LVU4265 12848 0090 1023 movs r3, #16 12849 0092 C4F88C30 str r3, [r4, #140] 3534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12850 .loc 1 3534 7 is_stmt 1 view .LVU4266 3534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12851 .loc 1 3534 7 view .LVU4267 12852 0096 0023 movs r3, #0 12853 0098 84F88030 strb r3, [r4, #128] 3534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12854 .loc 1 3534 7 view .LVU4268 3537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12855 .loc 1 3537 7 view .LVU4269 3537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12856 .loc 1 3537 22 is_stmt 0 view .LVU4270 12857 009c 2023 movs r3, #32 12858 009e C4F88830 str r3, [r4, #136] 3539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12859 .loc 1 3539 7 is_stmt 1 view .LVU4271 3539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12860 .loc 1 3539 14 is_stmt 0 view .LVU4272 12861 00a2 0120 movs r0, #1 12862 00a4 F3E7 b .L664 12863 .L672: 12864 00a6 00BF .align 2 12865 .L671: 12866 00a8 00000000 .word UART_DMAReceiveCplt 12867 00ac 00000000 .word UART_DMARxHalfCplt 12868 00b0 00000000 .word UART_DMAError 12869 .cfi_endproc 12870 .LFE377: 12872 .section .text.HAL_UART_Receive_DMA,"ax",%progbits 12873 .align 1 12874 .global HAL_UART_Receive_DMA 12875 .syntax unified 12876 .thumb 12877 .thumb_func 12879 HAL_UART_Receive_DMA: 12880 .LVL1130: 12881 .LFB341: 1490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 12882 .loc 1 1490 1 is_stmt 1 view -0 12883 .cfi_startproc ARM GAS /tmp/cceWHrnJ.s page 395 12884 @ args = 0, pretend = 0, frame = 0 12885 @ frame_needed = 0, uses_anonymous_args = 0 1490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 12886 .loc 1 1490 1 is_stmt 0 view .LVU4274 12887 0000 38B5 push {r3, r4, r5, lr} 12888 .LCFI61: 12889 .cfi_def_cfa_offset 16 12890 .cfi_offset 3, -16 12891 .cfi_offset 4, -12 12892 .cfi_offset 5, -8 12893 .cfi_offset 14, -4 1492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12894 .loc 1 1492 3 is_stmt 1 view .LVU4275 1492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12895 .loc 1 1492 12 is_stmt 0 view .LVU4276 12896 0002 D0F88830 ldr r3, [r0, #136] 1492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12897 .loc 1 1492 6 view .LVU4277 12898 0006 202B cmp r3, #32 12899 0008 1ED1 bne .L677 1494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12900 .loc 1 1494 5 is_stmt 1 view .LVU4278 1494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12901 .loc 1 1494 8 is_stmt 0 view .LVU4279 12902 000a F9B1 cbz r1, .L678 1494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12903 .loc 1 1494 25 discriminator 1 view .LVU4280 12904 000c 02B3 cbz r2, .L679 1499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12905 .loc 1 1499 5 is_stmt 1 view .LVU4281 1499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12906 .loc 1 1499 5 view .LVU4282 12907 000e 90F88030 ldrb r3, [r0, #128] @ zero_extendqisi2 12908 0012 012B cmp r3, #1 12909 0014 1ED0 beq .L680 1499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12910 .loc 1 1499 5 discriminator 2 view .LVU4283 12911 0016 0123 movs r3, #1 12912 0018 80F88030 strb r3, [r0, #128] 1499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12913 .loc 1 1499 5 discriminator 2 view .LVU4284 1502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12914 .loc 1 1502 5 discriminator 2 view .LVU4285 1502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12915 .loc 1 1502 26 is_stmt 0 discriminator 2 view .LVU4286 12916 001c 0023 movs r3, #0 12917 001e C366 str r3, [r0, #108] 1504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12918 .loc 1 1504 5 is_stmt 1 discriminator 2 view .LVU4287 1504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12919 .loc 1 1504 11 is_stmt 0 discriminator 2 view .LVU4288 12920 0020 0368 ldr r3, [r0] 1504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12921 .loc 1 1504 8 discriminator 2 view .LVU4289 12922 0022 0D4C ldr r4, .L682 12923 0024 A342 cmp r3, r4 12924 0026 0CD0 beq .L675 ARM GAS /tmp/cceWHrnJ.s page 396 1507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12925 .loc 1 1507 7 is_stmt 1 view .LVU4290 1507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12926 .loc 1 1507 11 is_stmt 0 view .LVU4291 12927 0028 5B68 ldr r3, [r3, #4] 1507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** { 12928 .loc 1 1507 10 view .LVU4292 12929 002a 13F4000F tst r3, #8388608 12930 002e 08D0 beq .L675 12931 .L676: 1510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12932 .loc 1 1510 9 is_stmt 1 discriminator 1 view .LVU4293 12933 .LBB1011: 1510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12934 .loc 1 1510 9 discriminator 1 view .LVU4294 1510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12935 .loc 1 1510 9 discriminator 1 view .LVU4295 1510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12936 .loc 1 1510 9 discriminator 1 view .LVU4296 12937 0030 0468 ldr r4, [r0] 12938 .LVL1131: 12939 .LBB1012: 12940 .LBI1012: 1151:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12941 .loc 2 1151 31 discriminator 1 view .LVU4297 12942 .LBB1013: 1153:Drivers/CMSIS/Include/cmsis_gcc.h **** 12943 .loc 2 1153 5 discriminator 1 view .LVU4298 1155:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 12944 .loc 2 1155 4 discriminator 1 view .LVU4299 12945 .syntax unified 12946 @ 1155 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12947 0032 54E8003F ldrex r3, [r4] 12948 @ 0 "" 2 12949 .LVL1132: 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12950 .loc 2 1156 4 discriminator 1 view .LVU4300 1156:Drivers/CMSIS/Include/cmsis_gcc.h **** } 12951 .loc 2 1156 4 is_stmt 0 discriminator 1 view .LVU4301 12952 .thumb 12953 .syntax unified 12954 .LBE1013: 12955 .LBE1012: 1510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12956 .loc 1 1510 9 discriminator 1 view .LVU4302 12957 0036 43F08063 orr r3, r3, #67108864 12958 .LVL1133: 1510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12959 .loc 1 1510 9 is_stmt 1 discriminator 1 view .LVU4303 12960 .LBB1014: 12961 .LBI1014: 1202:Drivers/CMSIS/Include/cmsis_gcc.h **** { 12962 .loc 2 1202 31 discriminator 1 view .LVU4304 12963 .LBB1015: 1204:Drivers/CMSIS/Include/cmsis_gcc.h **** 12964 .loc 2 1204 4 discriminator 1 view .LVU4305 1206:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS /tmp/cceWHrnJ.s page 397 12965 .loc 2 1206 4 discriminator 1 view .LVU4306 12966 .syntax unified 12967 @ 1206 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 12968 003a 44E80035 strex r5, r3, [r4] 12969 @ 0 "" 2 12970 .LVL1134: 12971 .loc 2 1207 4 discriminator 1 view .LVU4307 12972 .loc 2 1207 4 is_stmt 0 discriminator 1 view .LVU4308 12973 .thumb 12974 .syntax unified 12975 .LBE1015: 12976 .LBE1014: 1510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12977 .loc 1 1510 9 discriminator 1 view .LVU4309 12978 003e 002D cmp r5, #0 12979 0040 F6D1 bne .L676 12980 .LVL1135: 12981 .L675: 1510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12982 .loc 1 1510 9 discriminator 1 view .LVU4310 12983 .LBE1011: 1510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12984 .loc 1 1510 9 is_stmt 1 discriminator 2 view .LVU4311 1514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12985 .loc 1 1514 5 discriminator 2 view .LVU4312 1514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12986 .loc 1 1514 13 is_stmt 0 discriminator 2 view .LVU4313 12987 0042 FFF7FEFF bl UART_Start_Receive_DMA 12988 .LVL1136: 1514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12989 .loc 1 1514 13 discriminator 2 view .LVU4314 12990 0046 00E0 b .L674 12991 .LVL1137: 12992 .L677: 1518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 12993 .loc 1 1518 12 view .LVU4315 12994 0048 0220 movs r0, #2 12995 .LVL1138: 12996 .L674: 1520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 12997 .loc 1 1520 1 view .LVU4316 12998 004a 38BD pop {r3, r4, r5, pc} 12999 .LVL1139: 13000 .L678: 1496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 13001 .loc 1 1496 14 view .LVU4317 13002 004c 0120 movs r0, #1 13003 .LVL1140: 1496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 13004 .loc 1 1496 14 view .LVU4318 13005 004e FCE7 b .L674 13006 .LVL1141: 13007 .L679: 1496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 13008 .loc 1 1496 14 view .LVU4319 13009 0050 0120 movs r0, #1 13010 .LVL1142: ARM GAS /tmp/cceWHrnJ.s page 398 1496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } 13011 .loc 1 1496 14 view .LVU4320 13012 0052 FAE7 b .L674 13013 .LVL1143: 13014 .L680: 1499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 13015 .loc 1 1499 5 view .LVU4321 13016 0054 0220 movs r0, #2 13017 .LVL1144: 1499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 13018 .loc 1 1499 5 view .LVU4322 13019 0056 F8E7 b .L674 13020 .L683: 13021 .align 2 13022 .L682: 13023 0058 00800040 .word 1073774592 13024 .cfi_endproc 13025 .LFE341: 13027 .global UARTPrescTable 13028 .section .rodata.UARTPrescTable,"a" 13029 .align 2 13032 UARTPrescTable: 13033 0000 0100 .short 1 13034 0002 0200 .short 2 13035 0004 0400 .short 4 13036 0006 0600 .short 6 13037 0008 0800 .short 8 13038 000a 0A00 .short 10 13039 000c 0C00 .short 12 13040 000e 1000 .short 16 13041 0010 2000 .short 32 13042 0012 4000 .short 64 13043 0014 8000 .short 128 13044 0016 0001 .short 256 13045 .text 13046 .Letext0: 13047 .file 3 "/usr/lib/gcc/arm-none-eabi/12.2.1/include/stdint.h" 13048 .file 4 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h" 13049 .file 5 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h" 13050 .file 6 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h" 13051 .file 7 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h" 13052 .file 8 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart.h" 13053 .file 9 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h" 13054 .file 10 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart_ex.h" 13055 .file 11 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h" ARM GAS /tmp/cceWHrnJ.s page 399 DEFINED SYMBOLS *ABS*:00000000 stm32g4xx_hal_uart.c /tmp/cceWHrnJ.s:21 .text.UART_EndTxTransfer:00000000 $t /tmp/cceWHrnJ.s:26 .text.UART_EndTxTransfer:00000000 UART_EndTxTransfer /tmp/cceWHrnJ.s:157 .text.UART_EndRxTransfer:00000000 $t /tmp/cceWHrnJ.s:162 .text.UART_EndRxTransfer:00000000 UART_EndRxTransfer /tmp/cceWHrnJ.s:358 .text.UART_TxISR_8BIT:00000000 $t /tmp/cceWHrnJ.s:363 .text.UART_TxISR_8BIT:00000000 UART_TxISR_8BIT /tmp/cceWHrnJ.s:523 .text.UART_TxISR_16BIT:00000000 $t /tmp/cceWHrnJ.s:528 .text.UART_TxISR_16BIT:00000000 UART_TxISR_16BIT /tmp/cceWHrnJ.s:695 .text.UART_TxISR_8BIT_FIFOEN:00000000 $t /tmp/cceWHrnJ.s:700 .text.UART_TxISR_8BIT_FIFOEN:00000000 UART_TxISR_8BIT_FIFOEN /tmp/cceWHrnJ.s:890 .text.UART_TxISR_16BIT_FIFOEN:00000000 $t /tmp/cceWHrnJ.s:895 .text.UART_TxISR_16BIT_FIFOEN:00000000 UART_TxISR_16BIT_FIFOEN /tmp/cceWHrnJ.s:1092 .text.HAL_UART_MspInit:00000000 $t /tmp/cceWHrnJ.s:1098 .text.HAL_UART_MspInit:00000000 HAL_UART_MspInit /tmp/cceWHrnJ.s:1113 .text.HAL_UART_MspDeInit:00000000 $t /tmp/cceWHrnJ.s:1119 .text.HAL_UART_MspDeInit:00000000 HAL_UART_MspDeInit /tmp/cceWHrnJ.s:1134 .text.HAL_UART_DeInit:00000000 $t /tmp/cceWHrnJ.s:1140 .text.HAL_UART_DeInit:00000000 HAL_UART_DeInit /tmp/cceWHrnJ.s:1226 .text.HAL_UART_Transmit_IT:00000000 $t /tmp/cceWHrnJ.s:1232 .text.HAL_UART_Transmit_IT:00000000 HAL_UART_Transmit_IT /tmp/cceWHrnJ.s:1497 .text.HAL_UART_Transmit_IT:000000bc $d /tmp/cceWHrnJ.s:1505 .text.HAL_UART_Transmit_DMA:00000000 $t /tmp/cceWHrnJ.s:1511 .text.HAL_UART_Transmit_DMA:00000000 HAL_UART_Transmit_DMA /tmp/cceWHrnJ.s:1738 .text.HAL_UART_Transmit_DMA:000000b0 $d /tmp/cceWHrnJ.s:3690 .text.UART_DMATransmitCplt:00000000 UART_DMATransmitCplt /tmp/cceWHrnJ.s:3960 .text.UART_DMATxHalfCplt:00000000 UART_DMATxHalfCplt /tmp/cceWHrnJ.s:4055 .text.UART_DMAError:00000000 UART_DMAError /tmp/cceWHrnJ.s:1745 .text.HAL_UART_DMAPause:00000000 $t /tmp/cceWHrnJ.s:1751 .text.HAL_UART_DMAPause:00000000 HAL_UART_DMAPause /tmp/cceWHrnJ.s:2067 .text.HAL_UART_DMAResume:00000000 $t /tmp/cceWHrnJ.s:2073 .text.HAL_UART_DMAResume:00000000 HAL_UART_DMAResume /tmp/cceWHrnJ.s:2367 .text.HAL_UART_DMAStop:00000000 $t /tmp/cceWHrnJ.s:2373 .text.HAL_UART_DMAStop:00000000 HAL_UART_DMAStop /tmp/cceWHrnJ.s:2621 .text.HAL_UART_Abort:00000000 $t /tmp/cceWHrnJ.s:2627 .text.HAL_UART_Abort:00000000 HAL_UART_Abort /tmp/cceWHrnJ.s:3072 .text.HAL_UART_AbortTransmit:00000000 $t /tmp/cceWHrnJ.s:3078 .text.HAL_UART_AbortTransmit:00000000 HAL_UART_AbortTransmit /tmp/cceWHrnJ.s:3340 .text.HAL_UART_AbortReceive:00000000 $t /tmp/cceWHrnJ.s:3346 .text.HAL_UART_AbortReceive:00000000 HAL_UART_AbortReceive /tmp/cceWHrnJ.s:3664 .text.HAL_UART_TxCpltCallback:00000000 $t /tmp/cceWHrnJ.s:3670 .text.HAL_UART_TxCpltCallback:00000000 HAL_UART_TxCpltCallback /tmp/cceWHrnJ.s:3685 .text.UART_DMATransmitCplt:00000000 $t /tmp/cceWHrnJ.s:3846 .text.UART_EndTransmit_IT:00000000 $t /tmp/cceWHrnJ.s:3851 .text.UART_EndTransmit_IT:00000000 UART_EndTransmit_IT /tmp/cceWHrnJ.s:3934 .text.HAL_UART_TxHalfCpltCallback:00000000 $t /tmp/cceWHrnJ.s:3940 .text.HAL_UART_TxHalfCpltCallback:00000000 HAL_UART_TxHalfCpltCallback /tmp/cceWHrnJ.s:3955 .text.UART_DMATxHalfCplt:00000000 $t /tmp/cceWHrnJ.s:3987 .text.HAL_UART_RxCpltCallback:00000000 $t /tmp/cceWHrnJ.s:3993 .text.HAL_UART_RxCpltCallback:00000000 HAL_UART_RxCpltCallback /tmp/cceWHrnJ.s:4008 .text.HAL_UART_RxHalfCpltCallback:00000000 $t /tmp/cceWHrnJ.s:4014 .text.HAL_UART_RxHalfCpltCallback:00000000 HAL_UART_RxHalfCpltCallback /tmp/cceWHrnJ.s:4029 .text.HAL_UART_ErrorCallback:00000000 $t /tmp/cceWHrnJ.s:4035 .text.HAL_UART_ErrorCallback:00000000 HAL_UART_ErrorCallback /tmp/cceWHrnJ.s:4050 .text.UART_DMAError:00000000 $t /tmp/cceWHrnJ.s:4145 .text.UART_DMAAbortOnError:00000000 $t ARM GAS /tmp/cceWHrnJ.s page 400 /tmp/cceWHrnJ.s:4150 .text.UART_DMAAbortOnError:00000000 UART_DMAAbortOnError /tmp/cceWHrnJ.s:4183 .text.HAL_UART_AbortCpltCallback:00000000 $t /tmp/cceWHrnJ.s:4189 .text.HAL_UART_AbortCpltCallback:00000000 HAL_UART_AbortCpltCallback /tmp/cceWHrnJ.s:4204 .text.HAL_UART_Abort_IT:00000000 $t /tmp/cceWHrnJ.s:4210 .text.HAL_UART_Abort_IT:00000000 HAL_UART_Abort_IT /tmp/cceWHrnJ.s:4701 .text.HAL_UART_Abort_IT:00000144 $d /tmp/cceWHrnJ.s:4790 .text.UART_DMATxAbortCallback:00000000 UART_DMATxAbortCallback /tmp/cceWHrnJ.s:4712 .text.UART_DMARxAbortCallback:00000000 UART_DMARxAbortCallback /tmp/cceWHrnJ.s:4707 .text.UART_DMARxAbortCallback:00000000 $t /tmp/cceWHrnJ.s:4785 .text.UART_DMATxAbortCallback:00000000 $t /tmp/cceWHrnJ.s:4874 .text.HAL_UART_AbortTransmitCpltCallback:00000000 $t /tmp/cceWHrnJ.s:4880 .text.HAL_UART_AbortTransmitCpltCallback:00000000 HAL_UART_AbortTransmitCpltCallback /tmp/cceWHrnJ.s:4895 .text.HAL_UART_AbortTransmit_IT:00000000 $t /tmp/cceWHrnJ.s:4901 .text.HAL_UART_AbortTransmit_IT:00000000 HAL_UART_AbortTransmit_IT /tmp/cceWHrnJ.s:5180 .text.HAL_UART_AbortTransmit_IT:000000a8 $d /tmp/cceWHrnJ.s:5190 .text.UART_DMATxOnlyAbortCallback:00000000 UART_DMATxOnlyAbortCallback /tmp/cceWHrnJ.s:5185 .text.UART_DMATxOnlyAbortCallback:00000000 $t /tmp/cceWHrnJ.s:5239 .text.HAL_UART_AbortReceiveCpltCallback:00000000 $t /tmp/cceWHrnJ.s:5245 .text.HAL_UART_AbortReceiveCpltCallback:00000000 HAL_UART_AbortReceiveCpltCallback /tmp/cceWHrnJ.s:5260 .text.HAL_UART_AbortReceive_IT:00000000 $t /tmp/cceWHrnJ.s:5266 .text.HAL_UART_AbortReceive_IT:00000000 HAL_UART_AbortReceive_IT /tmp/cceWHrnJ.s:5612 .text.HAL_UART_AbortReceive_IT:000000cc $d /tmp/cceWHrnJ.s:5622 .text.UART_DMARxOnlyAbortCallback:00000000 UART_DMARxOnlyAbortCallback /tmp/cceWHrnJ.s:5617 .text.UART_DMARxOnlyAbortCallback:00000000 $t /tmp/cceWHrnJ.s:5668 .text.HAL_UARTEx_RxEventCallback:00000000 $t /tmp/cceWHrnJ.s:5674 .text.HAL_UARTEx_RxEventCallback:00000000 HAL_UARTEx_RxEventCallback /tmp/cceWHrnJ.s:5690 .text.HAL_UART_IRQHandler:00000000 $t /tmp/cceWHrnJ.s:5696 .text.HAL_UART_IRQHandler:00000000 HAL_UART_IRQHandler /tmp/cceWHrnJ.s:6598 .text.HAL_UART_IRQHandler:000002f4 $d /tmp/cceWHrnJ.s:6606 .text.HAL_UART_IRQHandler:00000300 $t /tmp/cceWHrnJ.s:6669 .text.UART_RxISR_8BIT:00000000 $t /tmp/cceWHrnJ.s:6674 .text.UART_RxISR_8BIT:00000000 UART_RxISR_8BIT /tmp/cceWHrnJ.s:6960 .text.UART_RxISR_16BIT:00000000 $t /tmp/cceWHrnJ.s:6965 .text.UART_RxISR_16BIT:00000000 UART_RxISR_16BIT /tmp/cceWHrnJ.s:7251 .text.UART_RxISR_8BIT_FIFOEN:00000000 $t /tmp/cceWHrnJ.s:7256 .text.UART_RxISR_8BIT_FIFOEN:00000000 UART_RxISR_8BIT_FIFOEN /tmp/cceWHrnJ.s:7787 .text.UART_RxISR_8BIT_FIFOEN:0000019c $d /tmp/cceWHrnJ.s:7793 .text.UART_RxISR_16BIT_FIFOEN:00000000 $t /tmp/cceWHrnJ.s:7798 .text.UART_RxISR_16BIT_FIFOEN:00000000 UART_RxISR_16BIT_FIFOEN /tmp/cceWHrnJ.s:8332 .text.UART_RxISR_16BIT_FIFOEN:0000019c $d /tmp/cceWHrnJ.s:8338 .text.UART_DMARxHalfCplt:00000000 $t /tmp/cceWHrnJ.s:8343 .text.UART_DMARxHalfCplt:00000000 UART_DMARxHalfCplt /tmp/cceWHrnJ.s:8387 .text.UART_DMAReceiveCplt:00000000 $t /tmp/cceWHrnJ.s:8392 .text.UART_DMAReceiveCplt:00000000 UART_DMAReceiveCplt /tmp/cceWHrnJ.s:8684 .text.HAL_UART_ReceiverTimeout_Config:00000000 $t /tmp/cceWHrnJ.s:8690 .text.HAL_UART_ReceiverTimeout_Config:00000000 HAL_UART_ReceiverTimeout_Config /tmp/cceWHrnJ.s:8719 .text.HAL_UART_ReceiverTimeout_Config:00000014 $d /tmp/cceWHrnJ.s:8724 .text.HAL_UART_EnableReceiverTimeout:00000000 $t /tmp/cceWHrnJ.s:8730 .text.HAL_UART_EnableReceiverTimeout:00000000 HAL_UART_EnableReceiverTimeout /tmp/cceWHrnJ.s:8807 .text.HAL_UART_EnableReceiverTimeout:00000048 $d /tmp/cceWHrnJ.s:8812 .text.HAL_UART_DisableReceiverTimeout:00000000 $t /tmp/cceWHrnJ.s:8818 .text.HAL_UART_DisableReceiverTimeout:00000000 HAL_UART_DisableReceiverTimeout /tmp/cceWHrnJ.s:8895 .text.HAL_UART_DisableReceiverTimeout:00000048 $d /tmp/cceWHrnJ.s:8900 .text.HAL_MultiProcessor_EnterMuteMode:00000000 $t /tmp/cceWHrnJ.s:8906 .text.HAL_MultiProcessor_EnterMuteMode:00000000 HAL_MultiProcessor_EnterMuteMode /tmp/cceWHrnJ.s:8925 .text.HAL_HalfDuplex_EnableTransmitter:00000000 $t /tmp/cceWHrnJ.s:8931 .text.HAL_HalfDuplex_EnableTransmitter:00000000 HAL_HalfDuplex_EnableTransmitter ARM GAS /tmp/cceWHrnJ.s page 401 /tmp/cceWHrnJ.s:9084 .text.HAL_HalfDuplex_EnableReceiver:00000000 $t /tmp/cceWHrnJ.s:9090 .text.HAL_HalfDuplex_EnableReceiver:00000000 HAL_HalfDuplex_EnableReceiver /tmp/cceWHrnJ.s:9243 .text.HAL_LIN_SendBreak:00000000 $t /tmp/cceWHrnJ.s:9249 .text.HAL_LIN_SendBreak:00000000 HAL_LIN_SendBreak /tmp/cceWHrnJ.s:9302 .text.HAL_UART_GetState:00000000 $t /tmp/cceWHrnJ.s:9308 .text.HAL_UART_GetState:00000000 HAL_UART_GetState /tmp/cceWHrnJ.s:9336 .text.HAL_UART_GetError:00000000 $t /tmp/cceWHrnJ.s:9342 .text.HAL_UART_GetError:00000000 HAL_UART_GetError /tmp/cceWHrnJ.s:9361 .text.UART_SetConfig:00000000 $t /tmp/cceWHrnJ.s:9367 .text.UART_SetConfig:00000000 UART_SetConfig /tmp/cceWHrnJ.s:9512 .text.UART_SetConfig:00000094 $d /tmp/cceWHrnJ.s:9522 .text.UART_SetConfig:000000a6 $t /tmp/cceWHrnJ.s:9532 .text.UART_SetConfig:000000ba $d /tmp/cceWHrnJ.s:9536 .text.UART_SetConfig:000000be $t /tmp/cceWHrnJ.s:9569 .text.UART_SetConfig:000000e2 $d /tmp/cceWHrnJ.s:9712 .text.UART_SetConfig:000001b4 $d /tmp/cceWHrnJ.s:9813 .text.UART_SetConfig:00000236 $d /tmp/cceWHrnJ.s:9829 .text.UART_SetConfig:00000244 $d /tmp/cceWHrnJ.s:13032 .rodata.UARTPrescTable:00000000 UARTPrescTable /tmp/cceWHrnJ.s:9841 .text.UART_SetConfig:00000268 $t /tmp/cceWHrnJ.s:10055 .text.UART_SetConfig:0000033c $d /tmp/cceWHrnJ.s:10061 .text.UART_AdvFeatureConfig:00000000 $t /tmp/cceWHrnJ.s:10067 .text.UART_AdvFeatureConfig:00000000 UART_AdvFeatureConfig /tmp/cceWHrnJ.s:10219 .text.UART_WaitOnFlagUntilTimeout:00000000 $t /tmp/cceWHrnJ.s:10225 .text.UART_WaitOnFlagUntilTimeout:00000000 UART_WaitOnFlagUntilTimeout /tmp/cceWHrnJ.s:10568 .text.HAL_UART_Transmit:00000000 $t /tmp/cceWHrnJ.s:10574 .text.HAL_UART_Transmit:00000000 HAL_UART_Transmit /tmp/cceWHrnJ.s:10805 .text.HAL_UART_Receive:00000000 $t /tmp/cceWHrnJ.s:10811 .text.HAL_UART_Receive:00000000 HAL_UART_Receive /tmp/cceWHrnJ.s:11094 .text.UART_CheckIdleState:00000000 $t /tmp/cceWHrnJ.s:11100 .text.UART_CheckIdleState:00000000 UART_CheckIdleState /tmp/cceWHrnJ.s:11216 .text.HAL_UART_Init:00000000 $t /tmp/cceWHrnJ.s:11222 .text.HAL_UART_Init:00000000 HAL_UART_Init /tmp/cceWHrnJ.s:11325 .text.HAL_HalfDuplex_Init:00000000 $t /tmp/cceWHrnJ.s:11331 .text.HAL_HalfDuplex_Init:00000000 HAL_HalfDuplex_Init /tmp/cceWHrnJ.s:11439 .text.HAL_LIN_Init:00000000 $t /tmp/cceWHrnJ.s:11445 .text.HAL_LIN_Init:00000000 HAL_LIN_Init /tmp/cceWHrnJ.s:11597 .text.HAL_MultiProcessor_Init:00000000 $t /tmp/cceWHrnJ.s:11603 .text.HAL_MultiProcessor_Init:00000000 HAL_MultiProcessor_Init /tmp/cceWHrnJ.s:11731 .text.HAL_MultiProcessor_EnableMuteMode:00000000 $t /tmp/cceWHrnJ.s:11737 .text.HAL_MultiProcessor_EnableMuteMode:00000000 HAL_MultiProcessor_EnableMuteMode /tmp/cceWHrnJ.s:11838 .text.HAL_MultiProcessor_DisableMuteMode:00000000 $t /tmp/cceWHrnJ.s:11844 .text.HAL_MultiProcessor_DisableMuteMode:00000000 HAL_MultiProcessor_DisableMuteMode /tmp/cceWHrnJ.s:11945 .text.UART_Start_Receive_IT:00000000 $t /tmp/cceWHrnJ.s:11951 .text.UART_Start_Receive_IT:00000000 UART_Start_Receive_IT /tmp/cceWHrnJ.s:12415 .text.UART_Start_Receive_IT:00000138 $d /tmp/cceWHrnJ.s:12424 .text.HAL_UART_Receive_IT:00000000 $t /tmp/cceWHrnJ.s:12430 .text.HAL_UART_Receive_IT:00000000 HAL_UART_Receive_IT /tmp/cceWHrnJ.s:12574 .text.HAL_UART_Receive_IT:00000058 $d /tmp/cceWHrnJ.s:12579 .text.UART_Start_Receive_DMA:00000000 $t /tmp/cceWHrnJ.s:12585 .text.UART_Start_Receive_DMA:00000000 UART_Start_Receive_DMA /tmp/cceWHrnJ.s:12866 .text.UART_Start_Receive_DMA:000000a8 $d /tmp/cceWHrnJ.s:12873 .text.HAL_UART_Receive_DMA:00000000 $t /tmp/cceWHrnJ.s:12879 .text.HAL_UART_Receive_DMA:00000000 HAL_UART_Receive_DMA /tmp/cceWHrnJ.s:13023 .text.HAL_UART_Receive_DMA:00000058 $d /tmp/cceWHrnJ.s:13029 .rodata.UARTPrescTable:00000000 $d /tmp/cceWHrnJ.s:9582 .text.UART_SetConfig:000000ef $d ARM GAS /tmp/cceWHrnJ.s page 402 /tmp/cceWHrnJ.s:9582 .text.UART_SetConfig:000000f0 $t /tmp/cceWHrnJ.s:9721 .text.UART_SetConfig:000001bd $d /tmp/cceWHrnJ.s:9721 .text.UART_SetConfig:000001be $t /tmp/cceWHrnJ.s:9822 .text.UART_SetConfig:0000023f $d /tmp/cceWHrnJ.s:9822 .text.UART_SetConfig:00000240 $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 __aeabi_uldivmod HAL_RCC_GetPCLK1Freq HAL_RCC_GetSysClockFreq HAL_RCC_GetPCLK2Freq HAL_GetTick