ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.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 "stm32f3xx_hal_uart.c" 16 .text 17 .Ltext0: 18 .cfi_sections .debug_frame 19 .file 1 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_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 .LFB179: 1:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ****************************************************************************** 3:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @file stm32f3xx_hal_uart.c 4:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @author MCD Application Team 5:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UART HAL module driver. 6:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This file provides firmware functions to manage the following 7:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * functionalities of the Universal Asynchronous Receiver Transmitter Peripheral (UART). 8:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * + Initialization and de-initialization functions 9:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * + IO operation functions 10:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * + Peripheral Control functions 11:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * 12:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * 13:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ****************************************************************************** 14:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @attention 15:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * 16:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * Copyright (c) 2016 STMicroelectronics. 17:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * All rights reserved. 18:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * 19:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This software is licensed under terms that can be found in the LICENSE file 20:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * in the root directory of this software component. 21:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 22:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * 23:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ****************************************************************************** 24:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @verbatim 25:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** =============================================================================== 26:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ##### How to use this driver ##### 27:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** =============================================================================== 28:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..] 29:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** The UART HAL driver can be used as follows: 30:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 31:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) Declare a UART_HandleTypeDef handle structure (eg. UART_HandleTypeDef huart). ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 2 32:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) Initialize the UART low level resources by implementing the HAL_UART_MspInit() API: 33:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) Enable the USARTx interface clock. 34:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) UART pins configuration: 35:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+++) Enable the clock for the UART GPIOs. 36:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+++) Configure these UART pins as alternate function pull-up. 37:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) NVIC configuration if you need to use interrupt process (HAL_UART_Transmit_IT() 38:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** and HAL_UART_Receive_IT() APIs): 39:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+++) Configure the USARTx interrupt priority. 40:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+++) Enable the NVIC USART IRQ handle. 41:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) UART interrupts handling: 42:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** -@@- The specific UART interrupts (Transmission complete interrupt, 43:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** RXNE interrupt, RX/TX FIFOs related interrupts and Error Interrupts) 44:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** are managed using the macros __HAL_UART_ENABLE_IT() and __HAL_UART_DISABLE_IT() 45:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** inside the transmit and receive processes. 46:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) DMA Configuration if you need to use DMA process (HAL_UART_Transmit_DMA() 47:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** and HAL_UART_Receive_DMA() APIs): 48:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+++) Declare a DMA handle structure for the Tx/Rx channel. 49:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+++) Enable the DMAx interface clock. 50:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+++) Configure the declared DMA handle structure with the required Tx/Rx parameters. 51:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+++) Configure the DMA Tx/Rx channel. 52:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+++) Associate the initialized DMA handle to the UART DMA Tx/Rx handle. 53:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+++) Configure the priority and enable the NVIC for the transfer complete 54:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** interrupt on the DMA Tx/Rx channel. 55:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 56:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) Program the Baud Rate, Word Length, Stop Bit, Parity, Hardware 57:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** flow control and Mode (Receiver/Transmitter) in the huart handle Init structure. 58:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 59:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) If required, program UART advanced features (TX/RX pins swap, auto Baud rate detection,...) 60:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in the huart handle AdvancedInit structure. 61:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 62:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) For the UART asynchronous mode, initialize the UART registers by calling 63:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_Init() API. 64:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 65:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) For the UART Half duplex mode, initialize the UART registers by calling 66:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_HalfDuplex_Init() API. 67:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 68:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) For the UART LIN (Local Interconnection Network) mode, initialize the UART registers 69:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** by calling the HAL_LIN_Init() API. 70:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 71:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) For the UART Multiprocessor mode, initialize the UART registers 72:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** by calling the HAL_MultiProcessor_Init() API. 73:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 74:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) For the UART RS485 Driver Enabled mode, initialize the UART registers 75:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** by calling the HAL_RS485Ex_Init() API. 76:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 77:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..] 78:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (@) These API's (HAL_UART_Init(), HAL_HalfDuplex_Init(), HAL_LIN_Init(), HAL_MultiProcessor_Ini 79:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** also configure the low level Hardware GPIO, CLOCK, CORTEX...etc) by 80:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** calling the customized HAL_UART_MspInit() API. 81:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 82:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ##### Callback registration ##### 83:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ================================== 84:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 85:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..] 86:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** The compilation define USE_HAL_UART_REGISTER_CALLBACKS when set to 1 87:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** allows the user to configure dynamically the driver callbacks. 88:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 3 89:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..] 90:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Use Function HAL_UART_RegisterCallback() to register a user callback. 91:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Function HAL_UART_RegisterCallback() allows to register following callbacks: 92:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) TxHalfCpltCallback : Tx Half Complete Callback. 93:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) TxCpltCallback : Tx Complete Callback. 94:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) RxHalfCpltCallback : Rx Half Complete Callback. 95:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) RxCpltCallback : Rx Complete Callback. 96:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) ErrorCallback : Error Callback. 97:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) AbortCpltCallback : Abort Complete Callback. 98:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback. 99:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) AbortReceiveCpltCallback : Abort Receive Complete Callback. 100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) WakeupCallback : Wakeup Callback. 101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) MspInitCallback : UART MspInit. 102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) MspDeInitCallback : UART MspDeInit. 103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** This function takes as parameters the HAL peripheral handle, the Callback ID 104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** and a pointer to the user callback function. 105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..] 107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Use function HAL_UART_UnRegisterCallback() to reset a callback to the default 108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** weak (surcharged) function. 109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_UnRegisterCallback() takes as parameters the HAL peripheral handle, 110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** and the Callback ID. 111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** This function allows to reset following callbacks: 112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) TxHalfCpltCallback : Tx Half Complete Callback. 113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) TxCpltCallback : Tx Complete Callback. 114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) RxHalfCpltCallback : Rx Half Complete Callback. 115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) RxCpltCallback : Rx Complete Callback. 116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) ErrorCallback : Error Callback. 117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) AbortCpltCallback : Abort Complete Callback. 118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback. 119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) AbortReceiveCpltCallback : Abort Receive Complete Callback. 120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) WakeupCallback : Wakeup Callback. 121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) MspInitCallback : UART MspInit. 122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) MspDeInitCallback : UART MspDeInit. 123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..] 125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** For specific callback RxEventCallback, use dedicated registration/reset functions: 126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** respectively HAL_UART_RegisterRxEventCallback() , HAL_UART_UnRegisterRxEventCallback(). 127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..] 129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** By default, after the HAL_UART_Init() and when the state is HAL_UART_STATE_RESET 130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** all callbacks are set to the corresponding weak (surcharged) functions: 131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** examples HAL_UART_TxCpltCallback(), HAL_UART_RxHalfCpltCallback(). 132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Exception done for MspInit and MspDeInit functions that are respectively 133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** reset to the legacy weak (surcharged) functions in the HAL_UART_Init() 134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** and HAL_UART_DeInit() only when these callbacks are null (not registered beforehand). 135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** If not, MspInit or MspDeInit are not null, the HAL_UART_Init() and HAL_UART_DeInit() 136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand). 137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..] 139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Callbacks can be registered/unregistered in HAL_UART_STATE_READY state only. 140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Exception done MspInit/MspDeInit that can be registered/unregistered 141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in HAL_UART_STATE_READY or HAL_UART_STATE_RESET state, thus registered (user) 142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MspInit/DeInit callbacks can be used during the Init/DeInit. 143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** In that case first register the MspInit/MspDeInit user callbacks 144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** using HAL_UART_RegisterCallback() before calling HAL_UART_DeInit() 145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** or HAL_UART_Init() function. ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 4 146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..] 148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** When The compilation define USE_HAL_UART_REGISTER_CALLBACKS is set to 0 or 149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** not defined, the callback registration feature is not available 150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** and weak (surcharged) callbacks are used. 151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @endverbatim 154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ****************************************************************************** 155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Includes ------------------------------------------------------------------*/ 158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #include "stm32f3xx_hal.h" 159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** @addtogroup STM32F3xx_HAL_Driver 161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{ 162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** @defgroup UART UART 165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief HAL UART module driver 166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{ 167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #ifdef HAL_UART_MODULE_ENABLED 170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Private typedef -----------------------------------------------------------*/ 172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Private define ------------------------------------------------------------*/ 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** @defgroup UART_Private_Constants UART Private Constants 174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{ 175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #define USART_CR1_FIELDS ((uint32_t)(USART_CR1_M | USART_CR1_PCE | USART_CR1_PS | USART_CR1_TE | U 177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** USART_CR1_OVER8)) /*!< UART or USART CR1 fields of parameters 178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #define USART_CR3_FIELDS ((uint32_t)(USART_CR3_RTSE | USART_CR3_CTSE |\ 180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** USART_CR3_ONEBIT)) /*!< UART or USART CR3 fields of parameter 181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #define UART_BRR_MIN 0x10U /* UART BRR minimum authorized value */ 184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #define UART_BRR_MAX 0x0000FFFFU /* UART BRR maximum authorized value */ 185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @} 187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Private macros ------------------------------------------------------------*/ 190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Private function prototypes -----------------------------------------------*/ 191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** @addtogroup UART_Private_Functions 192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{ 193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart); 195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart); 196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma); 197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma); 198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma); 199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma); 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma); 201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma); 202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma); ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 5 203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma); 204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma); 205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma); 206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_TxISR_8BIT(UART_HandleTypeDef *huart); 207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_TxISR_16BIT(UART_HandleTypeDef *huart); 208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_EndTransmit_IT(UART_HandleTypeDef *huart); 209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_RxISR_8BIT(UART_HandleTypeDef *huart); 210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_RxISR_16BIT(UART_HandleTypeDef *huart); 211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @} 213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Private variables ---------------------------------------------------------*/ 216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Exported Constants --------------------------------------------------------*/ 217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Exported functions --------------------------------------------------------*/ 218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** @defgroup UART_Exported_Functions UART Exported Functions 220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{ 221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group1 Initialization and de-initialization functions 224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Initialization and Configuration functions 225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * 226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @verbatim 227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** =============================================================================== 228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ##### Initialization and Configuration functions ##### 229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** =============================================================================== 230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..] 231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** This subsection provides a set of functions allowing to initialize the USARTx or the UARTy 232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in asynchronous mode. 233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) For the asynchronous mode the parameters below can be configured: 234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) Baud Rate 235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) Word Length 236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) Stop Bit 237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) Parity: If the parity is enabled, then the MSB bit of the data written 238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in the data register is transmitted but is changed by the parity bit. 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) Hardware flow control 240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) Receiver/transmitter modes 241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) Over Sampling Method 242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) One-Bit Sampling Method 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) For the asynchronous mode, the following advanced features can be configured as well: 244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) TX and/or RX pin level inversion 245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) data logical level inversion 246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) RX and TX pins swap 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) RX overrun detection disabling 248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) DMA disabling on RX error 249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) MSB first on communication line 250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) auto Baud rate detection 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..] 252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** The HAL_UART_Init(), HAL_HalfDuplex_Init(), HAL_LIN_Init()and HAL_MultiProcessor_Init()API 253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** follow respectively the UART asynchronous, UART Half duplex, UART LIN mode 254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** and UART multiprocessor mode configuration procedures (details for the procedures 255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** are available in reference manual). 256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @endverbatim 258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Depending on the frame length defined by the M1 and M0 bits (7-bit, ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 6 260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8-bit or 9-bit), the possible UART formats are listed in the 261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** following table. 262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Table 1. UART frame format. 264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** +-----------------------------------------------------------------------+ 265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** | M1 bit | M0 bit | PCE bit | UART frame | 266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------| 267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** | 0 | 0 | 0 | | SB | 8 bit data | STB | | 268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------| 269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** | 0 | 0 | 1 | | SB | 7 bit data | PB | STB | | 270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------| 271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** | 0 | 1 | 0 | | SB | 9 bit data | STB | | 272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------| 273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** | 0 | 1 | 1 | | SB | 8 bit data | PB | STB | | 274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------| 275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** | 1 | 0 | 0 | | SB | 7 bit data | STB | | 276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------| 277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** | 1 | 0 | 1 | | SB | 6 bit data | PB | STB | | 278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** +-----------------------------------------------------------------------+ 279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{ 281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Initialize the UART mode according to the specified 285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * parameters in the UART_InitTypeDef and initialize the associated handle. 286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart) 290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */ 292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart == NULL) 293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->Init.HwFlowCtl != UART_HWCONTROL_NONE) 298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the parameters */ 300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_HWFLOW_INSTANCE(huart->Instance)); 301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the parameters */ 305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance)); 306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET) 309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Allocate lock resource and initialize it */ 311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED; 312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_InitCallbacksToDefault(huart); 315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->MspInitCallback == NULL) ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 7 317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the low level hardware */ 322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback(huart); 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */ 325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_MspInit(huart); 326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART Communication parameters */ 334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR) 335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT) 340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_AdvFeatureConfig(huart); 342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In asynchronous mode, the following bits must be kept cleared: 345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register, 346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register.*/ 347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN)); 348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); 349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_ENABLE(huart); 351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ 353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Initialize the half-duplex mode according to the specified 358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * parameters in the UART_InitTypeDef and creates the associated handle. 359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_Init(UART_HandleTypeDef *huart) 363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */ 365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart == NULL) 366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check UART instance */ 371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_HALFDUPLEX_INSTANCE(huart->Instance)); 372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET) ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 8 374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Allocate lock resource and initialize it */ 376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED; 377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_InitCallbacksToDefault(huart); 380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->MspInitCallback == NULL) 382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the low level hardware */ 387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback(huart); 388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */ 390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_MspInit(huart); 391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART Communication parameters */ 399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR) 400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT) 405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_AdvFeatureConfig(huart); 407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In half-duplex mode, the following bits must be kept cleared: 410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register, 411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - SCEN and IREN bits in the USART_CR3 register.*/ 412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN)); 413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN)); 414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the Half-Duplex mode by setting the HDSEL bit in the CR3 register */ 416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_HDSEL); 417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_ENABLE(huart); 419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ 421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Initialize the LIN mode according to the specified 427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * parameters in the UART_InitTypeDef and creates the associated handle. 428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param BreakDetectLength Specifies the LIN break detection length. 430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This parameter can be one of the following values: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 9 431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref UART_LINBREAKDETECTLENGTH_10B 10-bit break detection 432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref UART_LINBREAKDETECTLENGTH_11B 11-bit break detection 433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_Init(UART_HandleTypeDef *huart, uint32_t BreakDetectLength) 436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */ 438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart == NULL) 439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the LIN UART instance */ 444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_LIN_INSTANCE(huart->Instance)); 445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the Break detection length parameter */ 446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_LIN_BREAK_DETECT_LENGTH(BreakDetectLength)); 447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* LIN mode limited to 16-bit oversampling only */ 449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->Init.OverSampling == UART_OVERSAMPLING_8) 450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* LIN mode limited to 8-bit data length */ 454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->Init.WordLength != UART_WORDLENGTH_8B) 455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET) 460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Allocate lock resource and initialize it */ 462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED; 463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_InitCallbacksToDefault(huart); 466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->MspInitCallback == NULL) 468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the low level hardware */ 473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback(huart); 474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */ 476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_MspInit(huart); 477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART Communication parameters */ 485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR) 486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 10 488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT) 491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_AdvFeatureConfig(huart); 493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In LIN mode, the following bits must be kept cleared: 496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register, 497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - SCEN and IREN bits in the USART_CR3 register.*/ 498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_CLKEN); 499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN)); 500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the LIN mode by setting the LINEN bit in the CR2 register */ 502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, USART_CR2_LINEN); 503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the USART LIN Break detection length. */ 505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_LBDL, BreakDetectLength); 506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_ENABLE(huart); 508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ 510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Initialize the multiprocessor mode according to the specified 516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * parameters in the UART_InitTypeDef and initialize the associated handle. 517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Address UART node address (4-, 6-, 7- or 8-bit long). 519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param WakeUpMethod Specifies the UART wakeup method. 520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This parameter can be one of the following values: 521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref UART_WAKEUPMETHOD_IDLELINE WakeUp by an idle line detection 522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref UART_WAKEUPMETHOD_ADDRESSMARK WakeUp by an address mark 523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note If the user resorts to idle line detection wake up, the Address parameter 524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * is useless and ignored by the initialization function. 525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note If the user resorts to address mark wake up, the address length detection 526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * is configured by default to 4 bits only. For the UART to be able to 527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * manage 6-, 7- or 8-bit long addresses detection, the API 528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * HAL_MultiProcessorEx_AddressLength_Set() must be called after 529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * HAL_MultiProcessor_Init(). 530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_Init(UART_HandleTypeDef *huart, uint8_t Address, uint32_t Wake 533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */ 535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart == NULL) 536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the wake up method parameter */ 541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_WAKEUPMETHOD(WakeUpMethod)); 542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET) 544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 11 545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Allocate lock resource and initialize it */ 546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED; 547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_InitCallbacksToDefault(huart); 550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->MspInitCallback == NULL) 552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the low level hardware */ 557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback(huart); 558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */ 560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_MspInit(huart); 561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART Communication parameters */ 569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR) 570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT) 575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_AdvFeatureConfig(huart); 577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In multiprocessor mode, the following bits must be kept cleared: 580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register, 581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register. */ 582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN)); 583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); 584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (WakeUpMethod == UART_WAKEUPMETHOD_ADDRESSMARK) 586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If address mark wake up method is chosen, set the USART address node */ 588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ADD, ((uint32_t)Address << UART_CR2_ADDRESS_LSB_POS) 589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the wake up method by setting the WAKE bit in the CR1 register */ 592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_WAKE, WakeUpMethod); 593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_ENABLE(huart); 595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ 597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 12 602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DeInitialize the UART peripheral. 603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DeInit(UART_HandleTypeDef *huart) 607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */ 609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart == NULL) 610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the parameters */ 615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance)); 616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->CR1 = 0x0U; 622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->CR2 = 0x0U; 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->CR3 = 0x0U; 624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->MspDeInitCallback == NULL) 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; 629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DeInit the low level hardware */ 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspDeInitCallback(huart); 632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DeInit the low level hardware */ 634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_MspDeInit(huart); 635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET; 639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET; 640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart); 644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Initialize the UART MSP. 650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_MspInit(UART_HandleTypeDef *huart) 654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart); 657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 13 659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_MspInit can be implemented in the user file 660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DeInitialize the UART MSP. 665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_MspDeInit(UART_HandleTypeDef *huart) 669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart); 672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_MspDeInit can be implemented in the user file 675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Register a User UART Callback 681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * To be used instead of the weak predefined callback 682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note The HAL_UART_RegisterCallback() may be called before HAL_UART_Init(), HAL_HalfDuplex_In 683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * HAL_LIN_Init(), HAL_MultiProcessor_Init() or HAL_RS485Ex_Init() in HAL_UART_STATE_RESET 684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * callbacks for HAL_UART_MSPINIT_CB_ID and HAL_UART_MSPDEINIT_CB_ID 685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart uart handle 686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param CallbackID ID of the callback to be registered 687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This parameter can be one of the following values: 688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID 689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID 690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID 691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID 692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID 693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID 694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID 695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID 696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_WAKEUP_CB_ID Wakeup Callback ID 697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID 698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID 699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pCallback pointer to the Callback function 700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef C 703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pUART_CallbackTypeDef pCallback) 704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK; 706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (pCallback == NULL) 708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 14 716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** switch (CallbackID) 717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID : 719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxHalfCpltCallback = pCallback; 720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID : 723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxCpltCallback = pCallback; 724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID : 727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxHalfCpltCallback = pCallback; 728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID : 731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxCpltCallback = pCallback; 732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID : 735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCallback = pCallback; 736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID : 739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortCpltCallback = pCallback; 740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID : 743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortTransmitCpltCallback = pCallback; 744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID : 747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortReceiveCpltCallback = pCallback; 748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_WAKEUP_CB_ID : 751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->WakeupCallback = pCallback; 752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID : 756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback = pCallback; 757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID : 760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspDeInitCallback = pCallback; 761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** default : 764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** status = HAL_ERROR; 767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else if (huart->gState == HAL_UART_STATE_RESET) 771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** switch (CallbackID) ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 15 773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID : 775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback = pCallback; 776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID : 779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspDeInitCallback = pCallback; 780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** default : 783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** status = HAL_ERROR; 786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** status = HAL_ERROR; 794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return status; 797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Unregister an UART Callback 801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * UART callaback is redirected to the weak predefined callback 802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note The HAL_UART_UnRegisterCallback() may be called before HAL_UART_Init(), HAL_HalfDuplex_ 803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * HAL_LIN_Init(), HAL_MultiProcessor_Init() or HAL_RS485Ex_Init() in HAL_UART_STATE_RESET 804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * callbacks for HAL_UART_MSPINIT_CB_ID and HAL_UART_MSPDEINIT_CB_ID 805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart uart handle 806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param CallbackID ID of the callback to be unregistered 807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This parameter can be one of the following values: 808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID 809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID 810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID 811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID 812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID 813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID 814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID 815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID 816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_WAKEUP_CB_ID Wakeup Callback ID 817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID 818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID 819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef 822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK; 824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_UART_STATE_READY == huart->gState) 826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** switch (CallbackID) 828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID : ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 16 830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHa 831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID : 834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpl 835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID : 838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHal 839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID : 842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpl 843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID : 846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak Error 847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID : 850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak Abort 851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID : 854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak 855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** AbortTransmitCplt 856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID : 859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak 860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** AbortReceiveCpltC 861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_WAKEUP_CB_ID : 864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->WakeupCallback = HAL_UARTEx_WakeupCallback; /* Legacy weak Wakeu 865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID : 868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; /* Legacy weak MspIn 869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID : 872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; /* Legacy weak MspDe 873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** default : 876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** status = HAL_ERROR; 879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else if (HAL_UART_STATE_RESET == huart->gState) 883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** switch (CallbackID) 885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID : ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 17 887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID : 891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; 892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** default : 895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** status = HAL_ERROR; 898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** status = HAL_ERROR; 906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return status; 909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Register a User UART Rx Event Callback 913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * To be used instead of the weak predefined callback 914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart Uart handle 915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pCallback Pointer to the Rx Event Callback function 916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterRxEventCallback(UART_HandleTypeDef *huart, pUART_RxEventCallback 919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK; 921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (pCallback == NULL) 923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Process locked */ 930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart); 931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback = pCallback; 935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** status = HAL_ERROR; 941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Release Lock */ ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 18 944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart); 945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return status; 947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UnRegister the UART Rx Event Callback 951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * UART Rx Event Callback is redirected to the weak HAL_UARTEx_RxEventCallback() predefine 952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart Uart handle 953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterRxEventCallback(UART_HandleTypeDef *huart) 956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK; 958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Process locked */ 960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart); 961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback = HAL_UARTEx_RxEventCallback; /* Legacy weak UART Rx Event Callback */ 965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** status = HAL_ERROR; 971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Release Lock */ 974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart); 975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return status; 976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @} 982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group2 IO operation functions 985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UART Transmit/Receive functions 986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * 987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @verbatim 988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** =============================================================================== 989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ##### IO operation functions ##### 990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** =============================================================================== 991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** This subsection provides a set of functions allowing to manage the UART asynchronous 992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** and Half duplex data transfers. 993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) There are two mode of transfer: 995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) Blocking mode: The communication is performed in polling mode. 996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** The HAL status of all data processing is returned by the same function 997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** after finishing transfer. 998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) Non-Blocking mode: The communication is performed using Interrupts 999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** or DMA, These API's return the HAL status. 1000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** The end of the data processing will be indicated through the ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 19 1001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** dedicated UART IRQ when using Interrupt mode or the DMA IRQ when 1002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** using DMA mode. 1003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** The HAL_UART_TxCpltCallback(), HAL_UART_RxCpltCallback() user callbacks 1004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** will be executed respectively at the end of the transmit or Receive process 1005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** The HAL_UART_ErrorCallback()user callback will be executed when a communication error is 1006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) Blocking mode API's are : 1008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_Transmit() 1009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_Receive() 1010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) Non-Blocking mode API's with Interrupt are : 1012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_Transmit_IT() 1013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_Receive_IT() 1014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_IRQHandler() 1015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) Non-Blocking mode API's with DMA are : 1017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_Transmit_DMA() 1018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_Receive_DMA() 1019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_DMAPause() 1020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_DMAResume() 1021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_DMAStop() 1022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) A set of Transfer Complete Callbacks are provided in Non_Blocking mode: 1024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_TxHalfCpltCallback() 1025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_TxCpltCallback() 1026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_RxHalfCpltCallback() 1027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_RxCpltCallback() 1028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_ErrorCallback() 1029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) Non-Blocking mode transfers could be aborted using Abort API's : 1031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_Abort() 1032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_AbortTransmit() 1033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_AbortReceive() 1034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_Abort_IT() 1035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_AbortTransmit_IT() 1036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_AbortReceive_IT() 1037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) For Abort services based on interrupts (HAL_UART_Abortxxx_IT), a set of Abort Complete Call 1039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_AbortCpltCallback() 1040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_AbortTransmitCpltCallback() 1041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_AbortReceiveCpltCallback() 1042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) A Rx Event Reception Callback (Rx event notification) is available for Non_Blocking modes o 1044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** reception services: 1045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UARTEx_RxEventCallback() 1046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) In Non-Blocking mode transfers, possible errors are split into 2 categories. 1048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Errors are handled as follows : 1049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) Error is considered as Recoverable and non blocking : Transfer could go till end, but er 1050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** to be evaluated by user : this concerns Frame Error, Parity Error or Noise Error 1051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in Interrupt mode reception . 1052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Received character is then retrieved and stored in Rx buffer, Error code is set to allow 1053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** to identify error type, and HAL_UART_ErrorCallback() user callback is executed. 1054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Transfer is kept ongoing on UART side. 1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** If user wants to abort it, Abort services should be called by user. 1056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) Error is considered as Blocking : Transfer could not be completed properly and is aborte 1057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** This concerns Overrun Error In Interrupt mode reception and all errors in DMA mode. ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 20 1058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Error code is set to allow user to identify error type, and HAL_UART_ErrorCallback() 1059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** user callback is executed. 1060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** -@- In the Half duplex communication, it is forbidden to run the transmit 1062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** and receive process in parallel, the UART state HAL_UART_STATE_BUSY_TX_RX can't be useful. 1063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @endverbatim 1065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{ 1066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 1067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 1069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Send an amount of data in blocking mode. 1070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number 1072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * of u16 provided through pData. 1073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 1074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent. 1076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Timeout Timeout duration. 1077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 1078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 1079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Size, 1080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const uint8_t *pdata8bits; 1082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const uint16_t *pdata16bits; 1083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t tickstart; 1084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 1087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 1091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init tickstart for timeout management */ 1097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tickstart = HAL_GetTick(); 1098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferSize = Size; 1100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = Size; 1101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pData needs to be handled as a uint16_t pointer */ 1103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 1104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits = NULL; 1106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits = (const uint16_t *) pData; 1107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits = pData; 1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits = NULL; 1112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** while (huart->TxXferCount > 0U) ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 21 1115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK) 1117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT; 1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (pdata8bits == NULL) 1124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->TDR = (uint16_t)(*pdata16bits & 0x01FFU); 1126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits++; 1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->TDR = (uint8_t)(*pdata8bits & 0xFFU); 1131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits++; 1132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount--; 1134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TC, RESET, tickstart, Timeout) != HAL_OK) 1137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT; 1141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */ 1144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 1147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_BUSY; 1151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 1155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Receive an amount of data in blocking mode. 1156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb 1158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * of u16 available through pData. 1159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 1160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 1162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Timeout Timeout duration. 1163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 1164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 1165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32 1166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint8_t *pdata8bits; 1168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t *pdata16bits; 1169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t uhMask; 1170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t tickstart; 1171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 22 1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 1173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) 1174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 1178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 1182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init tickstart for timeout management */ 1185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tickstart = HAL_GetTick(); 1186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferSize = Size; 1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = Size; 1189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Computation of UART mask to apply to RDR register */ 1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_MASK_COMPUTATION(huart); 1192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhMask = huart->Mask; 1193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pRxData needs to be handled as a uint16_t pointer */ 1195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 1196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits = NULL; 1198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 1199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits = pData; 1203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits = NULL; 1204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* as long as data have to be received */ 1207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** while (huart->RxXferCount > 0U) 1208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_RXNE, RESET, tickstart, Timeout) != HAL_OK) 1210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT; 1214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (pdata8bits == NULL) 1216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *pdata16bits = (uint16_t)(huart->Instance->RDR & uhMask); 1218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits++; 1219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->RDR & (uint8_t)uhMask); 1223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits++; 1224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount--; 1226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 23 1229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 1232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_BUSY; 1236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 1240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Send an amount of data in interrupt mode. 1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number 1243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * of u16 provided through pData. 1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 1245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent. 1247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 1248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 1249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Si 1250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 1253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 1257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr = pData; 1260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferSize = Size; 1261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = Size; 1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL; 1263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the Tx ISR function pointer according to the data word length */ 1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 1269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = UART_TxISR_16BIT; 1271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = UART_TxISR_8BIT; 1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the Transmit Data Register Empty interrupt */ 1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TXEIE); 1279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 1281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_BUSY; 1285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 24 1286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Receive an amount of data in interrupt mode. 1290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb 1292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * of u16 available through pData. 1293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 1294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 1296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 1297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 1298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 1299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 1301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) 1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 1306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set Reception type to Standard reception */ 1309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that USART RTOEN bit is set */ 1312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U) 1313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */ 1315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RTOIE); 1316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (UART_Start_Receive_IT(huart, pData, Size)); 1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_BUSY; 1323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 1327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Send an amount of data in DMA mode. 1328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number 1330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * of u16 provided through pData. 1331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 1332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent. 1334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 1335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 1336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t S 1337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 1340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 25 1343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 1344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr = pData; 1347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferSize = Size; 1348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = Size; 1349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx != NULL) 1354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */ 1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferCpltCallback = UART_DMATransmitCplt; 1357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */ 1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferHalfCpltCallback = UART_DMATxHalfCplt; 1360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the DMA error callback */ 1362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferErrorCallback = UART_DMAError; 1363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the DMA abort callback */ 1365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART transmit DMA channel */ 1368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Start_IT(huart->hdmatx, (uint32_t)huart->pTxBuffPtr, (uint32_t)&huart->Instance-> 1369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set error code to DMA */ 1371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState to ready */ 1374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 1377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the TC flag in the ICR register */ 1380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_TCF); 1381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the DMA transfer for transmit request by setting the DMAT bit 1383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in the UART CR3 register */ 1384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 1387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_BUSY; 1391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 1395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Receive an amount of data in DMA mode. 1396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When the UART parity is enabled (PCE = 1), the received data contain 1397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the parity bit (MSB position). 1398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 26 1400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * of u16 available through pData. 1401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 1402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 1404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 1405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 1406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 1407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 1409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) 1410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 1414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set Reception type to Standard reception */ 1417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that USART RTOEN bit is set */ 1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U) 1421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */ 1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RTOIE); 1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (UART_Start_Receive_DMA(huart, pData, Size)); 1427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_BUSY; 1431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 1435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Pause the DMA Transfer. 1436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 1437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 1438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAPause(UART_HandleTypeDef *huart) 1440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; 1442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) && 1445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Tx request */ 1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) && 1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */ 1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); 1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 27 1457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Rx request */ 1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 1462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 1465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Resume the DMA Transfer. 1466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 1467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 1468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAResume(UART_HandleTypeDef *huart) 1470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) 1472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART DMA Tx request */ 1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX) 1477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Overrun flag before resuming the Rx transfer */ 1479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF); 1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Re-enable PE and ERR (Frame error, noise error, overrun error) interrupts */ 1482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE) 1483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE); 1485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE); 1487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART DMA Rx request */ 1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 1493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 1496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Stop the DMA Transfer. 1497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 1498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 1499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 1500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAStop(UART_HandleTypeDef *huart) 1501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application 1503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** to call the HAL UART API under callbacks HAL_UART_TxCpltCallback() / HAL_UART_RxCpltCallback() 1504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_TxHalfCpltCallback / HAL_UART_RxHalfCpltCallback: 1505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** indeed, when HAL_DMA_Abort() API is called, the DMA TX/RX Transfer or Half Transfer complete 1506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** interrupt is generated if the DMA transfer interruption occurs at the middle or at the end of 1507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the stream and the corresponding call back is executed. */ 1508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; 1510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */ 1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) && ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 28 1514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Tx channel */ 1519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx != NULL) 1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK) 1522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT) 1524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set error code to DMA */ 1526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT; 1529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndTxTransfer(huart); 1534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */ 1537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) && 1538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel */ 1543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL) 1544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK) 1546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT) 1548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set error code to DMA */ 1550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT; 1553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndRxTransfer(huart); 1558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 1561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 1564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Abort ongoing transfers (blocking mode). 1565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 1566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or 1567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This procedure performs following operations : 1568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx) 1569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 29 1571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Set handle State to READY 1572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere 1573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 1574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort(UART_HandleTypeDef *huart) 1576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USA 1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */ 1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 1583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE)); 1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Tx channel if enabled */ 1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 1589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */ 1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use blocking DMA Abort API (no callback) */ 1594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx != NULL) 1595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null. 1597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** No call back execution at end of DMA abort procedure */ 1598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK) 1601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT) 1603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set error code to DMA */ 1605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT; 1608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */ 1614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 1615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use blocking DMA Abort API (no callback) */ 1620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL) 1621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null. 1623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** No call back execution at end of DMA abort procedure */ 1624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 1625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK) 1627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 30 1628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT) 1629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set error code to DMA */ 1631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT; 1634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */ 1640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U; 1641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 1642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 1644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF); 1645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Discard the received data */ 1648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 1649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */ 1651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 1658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 1661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (blocking mode). 1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 1663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt 1664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This procedure performs following operations : 1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable UART Interrupts (Tx) 1666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) 1668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Set handle State to READY 1669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere 1670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 1671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 1672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit(UART_HandleTypeDef *huart) 1673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */ 1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE)); 1676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Tx channel if enabled */ 1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 1679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */ 1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use blocking DMA Abort API (no callback) */ 1684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx != NULL) ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 31 1685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null. 1687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** No call back execution at end of DMA abort procedure */ 1688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK) 1691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT) 1693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set error code to DMA */ 1695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT; 1698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset Tx transfer counter */ 1704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U; 1705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState to Ready */ 1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 1711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 1714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (blocking mode). 1715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 1716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt 1717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This procedure performs following operations : 1718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable UART Interrupts (Rx) 1719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) 1721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Set handle State to READY 1722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere 1723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 1724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 1725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive(UART_HandleTypeDef *huart) 1726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */ 1732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 1733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE)); 1735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */ 1738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 1739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 32 1742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use blocking DMA Abort API (no callback) */ 1744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL) 1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null. 1747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** No call back execution at end of DMA abort procedure */ 1748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 1749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK) 1751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT) 1753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set error code to DMA */ 1755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT; 1758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset Rx transfer counter */ 1764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 1765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 1767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF); 1768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Discard the received data */ 1770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 1771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->RxState to Ready */ 1773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 1777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 1780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Abort ongoing transfers (Interrupt mode). 1781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 1782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or 1783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This procedure performs following operations : 1784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx) 1785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode) 1787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Set handle State to READY 1788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - At abort completion, call user abort complete callback 1789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be 1790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex 1791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 1792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 1793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort_IT(UART_HandleTypeDef *huart) 1794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t abortcplt = 1U; 1796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable interrupts */ 1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USA ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 33 1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */ 1802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 1803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE)); 1805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If DMA Tx and/or DMA Rx Handles are associated to UART Handle, DMA Abort complete callbacks sh 1808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** before any call to DMA Abort functions */ 1809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DMA Tx Handle is valid */ 1810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx != NULL) 1811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Tx request if enabled. 1813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Otherwise, set it to NULL */ 1814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 1815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxAbortCallback; 1817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DMA Rx Handle is valid */ 1824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL) 1825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Rx request if enabled. 1827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Otherwise, set it to NULL */ 1828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 1829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxAbortCallback; 1831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 1835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Tx channel if enabled */ 1839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 1840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable DMA Tx at UART level */ 1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */ 1845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx != NULL) 1846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART Tx DMA Abort callback has already been initialised : 1848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ 1849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort DMA TX */ 1851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK) 1852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 34 1856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** abortcplt = 0U; 1858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */ 1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 1864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */ 1869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL) 1870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART Rx DMA Abort callback has already been initialised : 1872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ 1873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort DMA RX */ 1875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) 1876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 1878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** abortcplt = 1U; 1879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** abortcplt = 0U; 1883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if no DMA abort complete callback execution is required => call user Abort Complete callback * 1888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (abortcplt == 1U) 1889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */ 1891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U; 1892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 1893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear ISR function pointers */ 1895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = NULL; 1896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL; 1897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset errorCode */ 1899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 1902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF 1903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Discard the received data */ 1906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */ 1909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 35 1913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 1914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 1915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort complete callback */ 1916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortCpltCallback(huart); 1917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 1918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort complete callback */ 1919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart); 1920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 1921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 1924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 1927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (Interrupt mode). 1928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 1929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt 1930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This procedure performs following operations : 1931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable UART Interrupts (Tx) 1932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode) 1934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Set handle State to READY 1935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - At abort completion, call user abort complete callback 1936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be 1937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex 1938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 1939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit_IT(UART_HandleTypeDef *huart) 1941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable interrupts */ 1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE)); 1944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Tx channel if enabled */ 1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 1947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */ 1949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */ 1952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx != NULL) 1953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Abort callback : 1955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ 1956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxOnlyAbortCallback; 1957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort DMA TX */ 1959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK) 1960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call Directly huart->hdmatx->XferAbortCallback function in case of error */ 1962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback(huart->hdmatx); 1963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset Tx transfer counter */ 1968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U; 1969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 36 1970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear TxISR function pointers */ 1971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL; 1972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState to Ready */ 1974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 1977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 1978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */ 1979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart); 1980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 1981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */ 1982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart); 1983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 1984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset Tx transfer counter */ 1989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U; 1990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear TxISR function pointers */ 1992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL; 1993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState to Ready */ 1996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 1999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */ 2001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart); 2002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 2003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */ 2004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart); 2005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 2009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (Interrupt mode). 2013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt 2015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This procedure performs following operations : 2016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable UART Interrupts (Rx) 2017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode) 2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Set handle State to READY 2020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - At abort completion, call user abort complete callback 2021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be 2022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex 2023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 2024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive_IT(UART_HandleTypeDef *huart) 2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 37 2027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 2028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 2029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */ 2032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 2033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE)); 2035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */ 2038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 2039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 2041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 2042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */ 2044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL) 2045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Abort callback : 2047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ 2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxOnlyAbortCallback; 2049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort DMA RX */ 2051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) 2052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */ 2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx); 2055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 2058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset Rx transfer counter */ 2060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 2061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear RxISR function pointer */ 2063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr = NULL; 2064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_F 2067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Discard the received data */ 2069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 2070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->RxState to Ready */ 2072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 2076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */ 2078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart); 2079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 2080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */ 2081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart); 2082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 38 2084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 2086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset Rx transfer counter */ 2088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 2089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear RxISR function pointer */ 2091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr = NULL; 2092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 2094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF 2095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->RxState to Ready */ 2097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 2101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */ 2103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart); 2104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 2105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */ 2106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart); 2107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 2111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Handle UART interrupt request. 2115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 2117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** void HAL_UART_IRQHandler(UART_HandleTypeDef *huart) 2119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR); 2121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 2122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3); 2123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t errorflags; 2125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t errorcode; 2126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If no error occurs */ 2128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** errorflags = (isrflags & (uint32_t)(USART_ISR_PE | USART_ISR_FE | USART_ISR_ORE | USART_ISR_NE | 2129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (errorflags == 0U) 2130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART in mode Receiver ---------------------------------------------------*/ 2132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_RXNE) != 0U) 2133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U)) 2134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxISR != NULL) 2136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR(huart); 2138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return; 2140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 39 2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If some errors occur */ 2144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((errorflags != 0U) 2145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (((cr3its & USART_CR3_EIE) != 0U) 2146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U))) 2147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART parity error interrupt occurred -------------------------------------*/ 2149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_PE) != 0U) && ((cr1its & USART_CR1_PEIE) != 0U)) 2150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_PEF); 2152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_PE; 2154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART frame error interrupt occurred --------------------------------------*/ 2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_FE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U)) 2158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_FEF); 2160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_FE; 2162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART noise error interrupt occurred --------------------------------------*/ 2165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_NE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U)) 2166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_NEF); 2168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_NE; 2170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART Over-Run interrupt occurred -----------------------------------------*/ 2173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_ORE) != 0U) 2174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE) != 0U) || 2175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ((cr3its & USART_CR3_EIE) != 0U))) 2176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF); 2178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_ORE; 2180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART Receiver Timeout interrupt occurred ---------------------------------*/ 2183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_RTOF) != 0U) && ((cr1its & USART_CR1_RTOIE) != 0U)) 2184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_RTOF); 2186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_RTO; 2188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call UART Error Call back function if need be ----------------------------*/ 2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ErrorCode != HAL_UART_ERROR_NONE) 2192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART in mode Receiver --------------------------------------------------*/ 2194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_RXNE) != 0U) 2195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U)) 2196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxISR != NULL) ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 40 2198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR(huart); 2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If Error is to be considered as blocking : 2204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - Receiver Timeout error in Reception 2205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - Overrun error in Reception 2206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - any error occurs in DMA mode reception 2207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** errorcode = huart->ErrorCode; 2209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) || 2210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 2211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Blocking error : transfer is aborted 2213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Set the UART state ready to be able to start again the process, 2214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Disable Rx Interrupts, and disable Rx DMA request, if ongoing */ 2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndRxTransfer(huart); 2216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */ 2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 2219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 2222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel */ 2224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL) 2225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Abort callback : 2227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** will lead to call HAL_UART_ErrorCallback() at end of DMA abort procedure */ 2228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMAAbortOnError; 2229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort DMA RX */ 2231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) 2232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */ 2234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx); 2235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 2238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call user error callback */ 2240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered error callback*/ 2242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCallback(huart); 2243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 2244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak error callback*/ 2245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 2246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 2251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call user error callback */ 2253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered error callback*/ ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 41 2255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCallback(huart); 2256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 2257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak error callback*/ 2258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 2259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 2263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Non Blocking error : transfer could go on. 2265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Error is notified to user through user error callback */ 2266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered error callback*/ 2268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCallback(huart); 2269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 2270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak error callback*/ 2271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 2272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 2274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return; 2277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } /* End if some error occurs */ 2279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check current reception Mode : 2281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** If Reception till IDLE event has been selected : */ 2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 2283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U) 2284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((cr1its & USART_ISR_IDLE) != 0U)) 2285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF); 2287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check if DMA mode is enabled in UART */ 2289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 2290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DMA mode enabled */ 2292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check received length : If all expected data are received, do nothing, 2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (DMA cplt callback will be called). 2294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Otherwise, if at least one data has already been received, IDLE event is to be notified to 2295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t nb_remaining_rx_data = (uint16_t) __HAL_DMA_GET_COUNTER(huart->hdmarx); 2296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U) 2297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize)) 2298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reception is not complete */ 2300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = nb_remaining_rx_data; 2301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In Normal mode, end DMA xfer and HAL UART Rx process*/ 2303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx->Init.Mode != DMA_CIRCULAR) 2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */ 2306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); 2307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by resetting the DMAR bit 2310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in the UART CR3 register */ 2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 42 2312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 2318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Last bytes received, so no need as the abort is immediate */ 2320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (void)HAL_DMA_Abort(huart->hdmarx); 2321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution; 2324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** In this case, Rx Event type is Idle Event */ 2325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_IDLE; 2326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx Event callback*/ 2329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount)); 2330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 2331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 2332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount)); 2333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 2334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return; 2336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 2338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DMA mode not enabled */ 2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check received length : If all expected data are received, do nothing. 2341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Otherwise, if at least one data has already been received, IDLE event is to be notified to 2342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t nb_rx_data = huart->RxXferSize - huart->RxXferCount; 2343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (nb_rx_data > 0U)) 2345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupts */ 2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 2348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 2350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */ 2353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear RxISR function pointer */ 2357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = NULL; 2358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 2360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution; 2362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** In this case, Rx Event type is Idle Event */ 2363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_IDLE; 2364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx complete callback*/ 2367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback(huart, nb_rx_data); 2368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 43 2369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 2370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, nb_rx_data); 2371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 2372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return; 2374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART wakeup from Stop mode interrupt occurred ---------------------------*/ 2378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_WUF) != 0U) && ((cr3its & USART_CR3_WUFIE) != 0U)) 2379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_WUF); 2381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART Rx state is not reset as a reception process might be ongoing. 2383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** If UART handle state fields need to be reset to READY, this could be done in Wakeup callback 2384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Wakeup Callback */ 2387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->WakeupCallback(huart); 2388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 2389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Wakeup Callback */ 2390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UARTEx_WakeupCallback(huart); 2391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return; 2393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART in mode Transmitter ------------------------------------------------*/ 2396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_TXE) != 0U) 2397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((cr1its & USART_CR1_TXEIE) != 0U)) 2398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->TxISR != NULL) 2400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR(huart); 2402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return; 2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART in mode Transmitter (transmission end) -----------------------------*/ 2407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_TC) != 0U) && ((cr1its & USART_CR1_TCIE) != 0U)) 2408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndTransmit_IT(huart); 2410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return; 2411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Tx Transfer completed callback. 2417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 2419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart) 2421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart); 2424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 44 2426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_TxCpltCallback can be implemented in the user file. 2427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Tx Half Transfer completed callback. 2432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 2434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart) 2436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart); 2439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed, 2441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_TxHalfCpltCallback can be implemented in the user file. 2442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Rx Transfer completed callback. 2447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 2449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) 2451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart); 2454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_RxCpltCallback can be implemented in the user file. 2457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Rx Half Transfer completed callback. 2462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 2464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart) 2466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart); 2469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed, 2471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_RxHalfCpltCallback can be implemented in the user file. 2472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UART error callback. 2477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 2479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart) 2481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 45 2483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart); 2484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_ErrorCallback can be implemented in the user file. 2487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UART Abort Complete callback. 2492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 2494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_AbortCpltCallback(UART_HandleTypeDef *huart) 2496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart); 2499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_AbortCpltCallback can be implemented in the user file. 2502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UART Abort Complete callback. 2507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 2509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_AbortTransmitCpltCallback(UART_HandleTypeDef *huart) 2511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart); 2514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_AbortTransmitCpltCallback can be implemented in the user file. 2517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UART Abort Receive Complete callback. 2522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 2524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_AbortReceiveCpltCallback(UART_HandleTypeDef *huart) 2526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart); 2529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_AbortReceiveCpltCallback can be implemented in the user file. 2532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Reception Event Callback (Rx event notification called after use of advanced reception 2537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle 2538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Number of data available in application reception buffer (indicates a position in 2539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * reception buffer until which, data are available) ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 46 2540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 2541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size) 2543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart); 2546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(Size); 2547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UARTEx_RxEventCallback can be implemented in the user file. 2550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @} 2555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group3 Peripheral Control functions 2558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UART control functions 2559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * 2560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @verbatim 2561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** =============================================================================== 2562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ##### Peripheral Control functions ##### 2563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** =============================================================================== 2564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..] 2565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** This subsection provides a set of functions allowing to control the UART. 2566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_ReceiverTimeout_Config() API allows to configure the receiver timeout value on th 2567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_EnableReceiverTimeout() API enables the receiver timeout feature 2568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_DisableReceiverTimeout() API disables the receiver timeout feature 2569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_MultiProcessor_EnableMuteMode() API enables mute mode 2570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_MultiProcessor_DisableMuteMode() API disables mute mode 2571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_MultiProcessor_EnterMuteMode() API enters mute mode 2572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) UART_SetConfig() API configures the UART peripheral 2573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) UART_AdvFeatureConfig() API optionally configures the UART advanced features 2574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) UART_CheckIdleState() API ensures that TEACK and/or REACK are set after initialization 2575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableTransmitter() API disables receiver and enables transmitter 2576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableReceiver() API disables transmitter and enables receiver 2577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_LIN_SendBreak() API transmits the break characters 2578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @endverbatim 2579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{ 2580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Update on the fly the receiver timeout value in RTOR register. 2584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the configuration information for the specified UART module. 2586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param TimeoutValue receiver timeout value in number of baud blocks. The timeout 2587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * value must be less or equal to 0x0FFFFFFFF. 2588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 2589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** void HAL_UART_ReceiverTimeout_Config(UART_HandleTypeDef *huart, uint32_t TimeoutValue) 2591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_RECEIVER_TIMEOUT_VALUE(TimeoutValue)); 2593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->RTOR, USART_RTOR_RTO, TimeoutValue); 2594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 47 2597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Enable the UART receiver timeout feature. 2598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the configuration information for the specified UART module. 2600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 2601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_EnableReceiverTimeout(UART_HandleTypeDef *huart) 2603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 2605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Process Locked */ 2607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart); 2608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the USART RTOEN bit */ 2612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, USART_CR2_RTOEN); 2613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Process Unlocked */ 2617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart); 2618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 2620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 2622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_BUSY; 2624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Disable the UART receiver timeout feature. 2629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the configuration information for the specified UART module. 2631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 2632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DisableReceiverTimeout(UART_HandleTypeDef *huart) 2634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 2636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Process Locked */ 2638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart); 2639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the USART RTOEN bit */ 2643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_RTOEN); 2644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Process Unlocked */ 2648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart); 2649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 2651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 2653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 48 2654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_BUSY; 2655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Enable UART in mute mode (does not mean UART enters mute mode; 2660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * to enter mute mode, HAL_MultiProcessor_EnterMuteMode() API must be called). 2661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 2663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_EnableMuteMode(UART_HandleTypeDef *huart) 2665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart); 2667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable USART mute mode by setting the MME bit in the CR1 register */ 2671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_MME); 2672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 2676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Disable UART mute mode (does not mean the UART actually exits mute mode 2680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * as it may not have been in mute mode at this very moment). 2681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 2683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_DisableMuteMode(UART_HandleTypeDef *huart) 2685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart); 2687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable USART mute mode by clearing the MME bit in the CR1 register */ 2691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_MME); 2692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 2696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Enter UART mute mode (means UART actually enters mute mode). 2700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note To exit from mute mode, HAL_MultiProcessor_DisableMuteMode() API must be called. 2701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 2703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** void HAL_MultiProcessor_EnterMuteMode(UART_HandleTypeDef *huart) 2705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_MUTE_MODE_REQUEST); 2707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Enable the UART transmitter and disable the UART receiver. ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 49 2711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 2713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableTransmitter(UART_HandleTypeDef *huart) 2715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart); 2717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear TE and RE bits */ 2720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TE | USART_CR1_RE)); 2721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the USART's transmit interface by setting the TE bit in the USART CR1 register */ 2723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TE); 2724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart); 2728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 2730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Enable the UART receiver and disable the UART transmitter. 2734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status. 2736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableReceiver(UART_HandleTypeDef *huart) 2738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart); 2740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear TE and RE bits */ 2743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TE | USART_CR1_RE)); 2744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the USART's receive interface by setting the RE bit in the USART CR1 register */ 2746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RE); 2747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart); 2751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 2753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Transmit break characters. 2758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 2760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_SendBreak(UART_HandleTypeDef *huart) 2762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the parameters */ 2764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_LIN_INSTANCE(huart->Instance)); 2765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart); 2767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 50 2768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Send break characters */ 2771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_SENDBREAK_REQUEST); 2772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart); 2776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 2778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @} 2782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group4 Peripheral State and Error functions 2785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UART Peripheral State functions 2786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * 2787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @verbatim 2788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ============================================================================== 2789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ##### Peripheral State and Error functions ##### 2790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ============================================================================== 2791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..] 2792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** This subsection provides functions allowing to : 2793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) Return the UART handle state. 2794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) Return the UART handle error code 2795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @endverbatim 2797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{ 2798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Return the UART handle state. 2802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the configuration information for the specified UART. 2804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL state 2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_StateTypeDef HAL_UART_GetState(const UART_HandleTypeDef *huart) 2807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t temp1; 2809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t temp2; 2810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** temp1 = huart->gState; 2811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** temp2 = huart->RxState; 2812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (HAL_UART_StateTypeDef)(temp1 | temp2); 2814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Return the UART handle error code. 2818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the configuration information for the specified UART. 2820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval UART Error Code 2821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t HAL_UART_GetError(const UART_HandleTypeDef *huart) 2823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return huart->ErrorCode; ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 51 2825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @} 2828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @} 2832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** @defgroup UART_Private_Functions UART Private Functions 2835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{ 2836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Initialize the callbacks to their default values. 2840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval none 2842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** void UART_InitCallbacksToDefault(UART_HandleTypeDef *huart) 2845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the UART Callback settings */ 2847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHalfCpltC 2848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpltCallb 2849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHalfCpltC 2850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpltCallb 2851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak ErrorCallba 2852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak AbortCpltCa 2853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak AbortTransm 2854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak AbortReceiv 2855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->WakeupCallback = HAL_UARTEx_WakeupCallback; /* Legacy weak WakeupCallb 2856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback = HAL_UARTEx_RxEventCallback; /* Legacy weak RxEventCall 2857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Configure the UART peripheral. 2863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 2865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef UART_SetConfig(UART_HandleTypeDef *huart) 2867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t tmpreg; 2869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t brrtemp; 2870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_ClockSourceTypeDef clocksource; 2871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t usartdiv; 2872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef ret = HAL_OK; 2873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t pclk; 2874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the parameters */ 2876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_BAUDRATE(huart->Init.BaudRate)); 2877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength)); 2878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_STOPBITS(huart->Init.StopBits)); 2879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ONE_BIT_SAMPLE(huart->Init.OneBitSampling)); 2880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_PARITY(huart->Init.Parity)); ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 52 2882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode)); 2883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl)); 2884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling)); 2885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*-------------------------- USART CR1 Configuration -----------------------*/ 2887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear M, PCE, PS, TE, RE and OVER8 bits and configure 2888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the UART Word Length, Parity, Mode and oversampling: 2889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * set the M bits according to huart->Init.WordLength value 2890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * set PCE and PS bits according to huart->Init.Parity value 2891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * set TE and RE bits according to huart->Init.Mode value 2892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * set OVER8 bit according to huart->Init.OverSampling value */ 2893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.WordLength | huart->Init.Parity | huart->Init.Mode | huart->Init.O 2894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 2895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*-------------------------- USART CR2 Configuration -----------------------*/ 2897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Configure the UART Stop Bits: Set STOP[13:12] bits according 2898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * to huart->Init.StopBits value */ 2899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_STOP, huart->Init.StopBits); 2900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*-------------------------- USART CR3 Configuration -----------------------*/ 2902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Configure 2903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - UART HardWare Flow Control: set CTSE and RTSE bits according 2904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * to huart->Init.HwFlowCtl value 2905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - one-bit sampling method versus three samples' majority rule according 2906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * to huart->Init.OneBitSampling (not applicable to LPUART) */ 2907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.HwFlowCtl; 2908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tmpreg |= huart->Init.OneBitSampling; 2910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg); 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*-------------------------- USART BRR Configuration -----------------------*/ 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_GETCLOCKSOURCE(huart, clocksource); 2915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->Init.OverSampling == UART_OVERSAMPLING_8) 2917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** switch (clocksource) 2919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK1: 2921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq(); 2922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 2923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2: 2924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq(); 2925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 2926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 2927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = (uint32_t) HSI_VALUE; 2928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 2929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_SYSCLK: 2930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = HAL_RCC_GetSysClockFreq(); 2931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 2932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE: 2933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = (uint32_t) LSE_VALUE; 2934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 2935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** default: 2936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = 0U; 2937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ret = HAL_ERROR; 2938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 53 2939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* USARTDIV must be greater than or equal to 0d16 */ 2942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (pclk != 0U) 2943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** usartdiv = (uint32_t)(UART_DIV_SAMPLING8(pclk, huart->Init.BaudRate)); 2945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 2946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** brrtemp = (uint16_t)(usartdiv & 0xFFF0U); 2948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U); 2949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->BRR = brrtemp; 2950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 2952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ret = HAL_ERROR; 2954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 2958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** switch (clocksource) 2960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK1: 2962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq(); 2963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 2964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2: 2965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq(); 2966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 2967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 2968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = (uint32_t) HSI_VALUE; 2969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 2970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_SYSCLK: 2971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = HAL_RCC_GetSysClockFreq(); 2972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 2973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE: 2974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = (uint32_t) LSE_VALUE; 2975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 2976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** default: 2977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = 0U; 2978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ret = HAL_ERROR; 2979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 2980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (pclk != 0U) 2983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* USARTDIV must be greater than or equal to 0d16 */ 2985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** usartdiv = (uint32_t)(UART_DIV_SAMPLING16(pclk, huart->Init.BaudRate)); 2986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 2987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->BRR = (uint16_t)usartdiv; 2989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 2991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ret = HAL_ERROR; 2993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 54 2996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear ISR function pointers */ 2999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = NULL; 3000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL; 3001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return ret; 3003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Configure the UART peripheral advanced features. 3007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 3008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** void UART_AdvFeatureConfig(UART_HandleTypeDef *huart) 3011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check whether the set of advanced features to configure is properly set */ 3013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_INIT(huart->AdvancedInit.AdvFeatureInit)); 3014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if required, configure TX pin active level inversion */ 3016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_TXINVERT_INIT)) 3017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_TXINV(huart->AdvancedInit.TxPinLevelInvert)); 3019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_TXINV, huart->AdvancedInit.TxPinLevelInvert); 3020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if required, configure RX pin active level inversion */ 3023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXINVERT_INIT)) 3024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_RXINV(huart->AdvancedInit.RxPinLevelInvert)); 3026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_RXINV, huart->AdvancedInit.RxPinLevelInvert); 3027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if required, configure data inversion */ 3030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DATAINVERT_INIT)) 3031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_DATAINV(huart->AdvancedInit.DataInvert)); 3033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_DATAINV, huart->AdvancedInit.DataInvert); 3034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if required, configure RX/TX pins swap */ 3037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_SWAP_INIT)) 3038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_SWAP(huart->AdvancedInit.Swap)); 3040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_SWAP, huart->AdvancedInit.Swap); 3041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if required, configure RX overrun detection disabling */ 3044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXOVERRUNDISABLE_INIT)) 3045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_OVERRUN(huart->AdvancedInit.OverrunDisable)); 3047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_OVRDIS, huart->AdvancedInit.OverrunDisable); 3048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if required, configure DMA disabling on reception error */ 3051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DMADISABLEONERROR_INIT)) 3052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 55 3053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_DMAONRXERROR(huart->AdvancedInit.DMADisableonRxError)); 3054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_DDRE, huart->AdvancedInit.DMADisableonRxError); 3055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if required, configure auto Baud rate detection scheme */ 3058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_AUTOBAUDRATE_INIT)) 3059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_USART_AUTOBAUDRATE_DETECTION_INSTANCE(huart->Instance)); 3061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATE(huart->AdvancedInit.AutoBaudRateEnable)); 3062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABREN, huart->AdvancedInit.AutoBaudRateEnable); 3063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* set auto Baudrate detection parameters if detection is enabled */ 3064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->AdvancedInit.AutoBaudRateEnable == UART_ADVFEATURE_AUTOBAUDRATE_ENABLE) 3065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATEMODE(huart->AdvancedInit.AutoBaudRateMode)); 3067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABRMODE, huart->AdvancedInit.AutoBaudRateMode); 3068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if required, configure MSB first on communication line */ 3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_MSBFIRST_INIT)) 3073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_MSBFIRST(huart->AdvancedInit.MSBFirst)); 3075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_MSBFIRST, huart->AdvancedInit.MSBFirst); 3076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Check the UART Idle State. 3081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 3082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 3083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef UART_CheckIdleState(UART_HandleTypeDef *huart) 3085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t tickstart; 3087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Initialize the UART ErrorCode */ 3089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init tickstart for timeout management */ 3092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tickstart = HAL_GetTick(); 3093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check if the Transmitter is enabled */ 3095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->Instance->CR1 & USART_CR1_TE) == USART_CR1_TE) 3096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Wait until TEACK flag is set */ 3098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_TEACK, RESET, tickstart, HAL_UART_TIMEOUT_VALU 3099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable TXE interrupt for the interrupt process */ 3101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE)); 3102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart); 3106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Timeout occurred */ 3108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT; 3109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 56 3110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check if the Receiver is enabled */ 3113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->Instance->CR1 & USART_CR1_RE) == USART_CR1_RE) 3114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Wait until REACK flag is set */ 3116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_REACK, RESET, tickstart, HAL_UART_TIMEOUT_VALU 3117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) 3119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** interrupts for the interrupt process */ 3120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 3121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart); 3126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Timeout occurred */ 3128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT; 3129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Initialize the UART State */ 3133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 3137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart); 3139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 3141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief This function handles UART Communication Timeout. It waits 3145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * until a flag is no longer in the specified status. 3146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 3147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Flag Specifies the UART flag to check 3148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Status The actual Flag status (SET or RESET) 3149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Tickstart Tick start value 3150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Timeout Timeout duration 3151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 3152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, FlagStatus 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t Tickstart, uint32_t Timeout) 3155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Wait until flag is set */ 3157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** while ((__HAL_UART_GET_FLAG(huart, Flag) ? SET : RESET) == Status) 3158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check for the Timeout */ 3160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (Timeout != HAL_MAX_DELAY) 3161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U)) 3163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT; 3166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 57 3167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR1, USART_CR1_RE) != 0U) 3169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_ORE) == SET) 3171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear Overrun Error flag*/ 3173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF); 3174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Blocking error : transfer is aborted 3176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Set the UART state ready to be able to start again the process, 3177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Disable Rx Interrupts if ongoing */ 3178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndRxTransfer(huart); 3179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_ORE; 3181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Process Unlocked */ 3183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart); 3184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 3186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_RTOF) == SET) 3188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear Receiver Timeout flag*/ 3190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_RTOF); 3191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Blocking error : transfer is aborted 3193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Set the UART state ready to be able to start again the process, 3194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Disable Rx Interrupts if ongoing */ 3195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndRxTransfer(huart); 3196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_RTO; 3198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Process Unlocked */ 3200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart); 3201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT; 3203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 3208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Start Receive operation in interrupt mode. 3212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This function could be called by all HAL UART API providing reception in Interrupt mode 3213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When calling this function, parameters validity is considered as already checked, 3214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * i.e. Rx State, buffer address, ... 3215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * UART Handle is assumed as Locked. 3216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 3217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 3218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 3219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 3220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef UART_Start_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 3222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr = pData; ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 58 3224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferSize = Size; 3225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = Size; 3226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = NULL; 3227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Computation of UART mask to apply to RDR register */ 3229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_MASK_COMPUTATION(huart); 3230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 3233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 3235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE); 3236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the Rx ISR function pointer according to the data word length */ 3238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 3239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = UART_RxISR_16BIT; 3241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 3243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = UART_RxISR_8BIT; 3245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Parity Error interrupt and Data Register Not Empty interrupt */ 3248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE) 3249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE | USART_CR1_RXNEIE); 3251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 3253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RXNEIE); 3255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 3257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Start Receive operation in DMA mode. 3261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This function could be called by all HAL UART API providing reception in DMA mode. 3262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When calling this function, parameters validity is considered as already checked, 3263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * i.e. Rx State, buffer address, ... 3264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * UART Handle is assumed as Locked. 3265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 3266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 3267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 3268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 3269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef UART_Start_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 3271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr = pData; 3273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferSize = Size; 3274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 3277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL) 3279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */ ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 59 3281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferCpltCallback = UART_DMAReceiveCplt; 3282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */ 3284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferHalfCpltCallback = UART_DMARxHalfCplt; 3285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the DMA error callback */ 3287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferErrorCallback = UART_DMAError; 3288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the DMA abort callback */ 3290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 3291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the DMA channel */ 3293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Start_IT(huart->hdmarx, (uint32_t)&huart->Instance->RDR, (uint32_t)huart->pRxBuffPt 3294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set error code to DMA */ 3296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 3297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->RxState to ready */ 3299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 3302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Parity Error Interrupt */ 3306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE) 3307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE); 3309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 3312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE); 3313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the DMA transfer for the receiver request by setting the DMAR bit 3315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in the UART CR3 register */ 3316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAR); 3317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 3319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief End ongoing Tx transfer on UART peripheral (following error detection or Transmit compl 3324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 3325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart) 3328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 28 .loc 1 3328 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: 3329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */ 3330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE)); ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 60 35 .loc 1 3330 3 discriminator 1 view .LVU1 36 .LBB414: 37 .loc 1 3330 3 discriminator 1 view .LVU2 38 .loc 1 3330 3 discriminator 1 view .LVU3 39 .loc 1 3330 3 discriminator 1 view .LVU4 40 0000 0268 ldr r2, [r0] 41 .LVL1: 42 .LBB415: 43 .LBI415: 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.0.4 5:Drivers/CMSIS/Include/cmsis_gcc.h **** * @date 09. April 2018 6:Drivers/CMSIS/Include/cmsis_gcc.h **** ******************************************************************************/ 7:Drivers/CMSIS/Include/cmsis_gcc.h **** /* 8:Drivers/CMSIS/Include/cmsis_gcc.h **** * Copyright (c) 2009-2018 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) 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 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 61 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 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" ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 62 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 **** 117:Drivers/CMSIS/Include/cmsis_gcc.h **** 118:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################### Core Function Access ########################### */ 119:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \ingroup CMSIS_Core_FunctionInterface 120:Drivers/CMSIS/Include/cmsis_gcc.h **** \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions 121:Drivers/CMSIS/Include/cmsis_gcc.h **** @{ 122:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 123:Drivers/CMSIS/Include/cmsis_gcc.h **** 124:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 125:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable IRQ Interrupts 126:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables IRQ interrupts by clearing the I-bit in the CPSR. 127:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes. 128:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 129:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_irq(void) 130:Drivers/CMSIS/Include/cmsis_gcc.h **** { 131:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie i" : : : "memory"); 132:Drivers/CMSIS/Include/cmsis_gcc.h **** } 133:Drivers/CMSIS/Include/cmsis_gcc.h **** 134:Drivers/CMSIS/Include/cmsis_gcc.h **** 135:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 136:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable IRQ Interrupts 137:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables IRQ interrupts by setting the I-bit in the CPSR. 138:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes. 139:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 140:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_irq(void) 141:Drivers/CMSIS/Include/cmsis_gcc.h **** { 142:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid i" : : : "memory"); 143:Drivers/CMSIS/Include/cmsis_gcc.h **** } 144:Drivers/CMSIS/Include/cmsis_gcc.h **** 145:Drivers/CMSIS/Include/cmsis_gcc.h **** 146:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 147:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register 148:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the Control Register. 149:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Control Register value 150:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 151:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_CONTROL(void) 152:Drivers/CMSIS/Include/cmsis_gcc.h **** { 153:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 154:Drivers/CMSIS/Include/cmsis_gcc.h **** 155:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control" : "=r" (result) ); 156:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 157:Drivers/CMSIS/Include/cmsis_gcc.h **** } 158:Drivers/CMSIS/Include/cmsis_gcc.h **** 159:Drivers/CMSIS/Include/cmsis_gcc.h **** 160:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 161:Drivers/CMSIS/Include/cmsis_gcc.h **** /** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 63 162:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register (non-secure) 163:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the non-secure Control Register when in secure mode. 164:Drivers/CMSIS/Include/cmsis_gcc.h **** \return non-secure Control Register value 165:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 166:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void) 167:Drivers/CMSIS/Include/cmsis_gcc.h **** { 168:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 169:Drivers/CMSIS/Include/cmsis_gcc.h **** 170:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control_ns" : "=r" (result) ); 171:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 172:Drivers/CMSIS/Include/cmsis_gcc.h **** } 173:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 174:Drivers/CMSIS/Include/cmsis_gcc.h **** 175:Drivers/CMSIS/Include/cmsis_gcc.h **** 176:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 177:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register 178:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the Control Register. 179:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set 180:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 181:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_CONTROL(uint32_t control) 182:Drivers/CMSIS/Include/cmsis_gcc.h **** { 183:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control, %0" : : "r" (control) : "memory"); 184:Drivers/CMSIS/Include/cmsis_gcc.h **** } 185:Drivers/CMSIS/Include/cmsis_gcc.h **** 186:Drivers/CMSIS/Include/cmsis_gcc.h **** 187:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 188:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 189:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register (non-secure) 190:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the non-secure Control Register when in secure state. 191:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set 192:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 193:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control) 194:Drivers/CMSIS/Include/cmsis_gcc.h **** { 195:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control_ns, %0" : : "r" (control) : "memory"); 196:Drivers/CMSIS/Include/cmsis_gcc.h **** } 197:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 198:Drivers/CMSIS/Include/cmsis_gcc.h **** 199:Drivers/CMSIS/Include/cmsis_gcc.h **** 200:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 201:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get IPSR Register 202:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the IPSR Register. 203:Drivers/CMSIS/Include/cmsis_gcc.h **** \return IPSR Register value 204:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 205:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_IPSR(void) 206:Drivers/CMSIS/Include/cmsis_gcc.h **** { 207:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 208:Drivers/CMSIS/Include/cmsis_gcc.h **** 209:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, ipsr" : "=r" (result) ); 210:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 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 **** /** 215:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get APSR Register 216:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the APSR Register. 217:Drivers/CMSIS/Include/cmsis_gcc.h **** \return APSR Register value 218:Drivers/CMSIS/Include/cmsis_gcc.h **** */ ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 64 219:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_APSR(void) 220:Drivers/CMSIS/Include/cmsis_gcc.h **** { 221:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 222:Drivers/CMSIS/Include/cmsis_gcc.h **** 223:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, apsr" : "=r" (result) ); 224:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 225:Drivers/CMSIS/Include/cmsis_gcc.h **** } 226:Drivers/CMSIS/Include/cmsis_gcc.h **** 227:Drivers/CMSIS/Include/cmsis_gcc.h **** 228:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 229:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get xPSR Register 230:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the xPSR Register. 231:Drivers/CMSIS/Include/cmsis_gcc.h **** \return xPSR Register value 232:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 233:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_xPSR(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, xpsr" : "=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 **** 241:Drivers/CMSIS/Include/cmsis_gcc.h **** 242:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 243:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer 244:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer (PSP). 245:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value 246:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 247:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSP(void) 248:Drivers/CMSIS/Include/cmsis_gcc.h **** { 249:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 250:Drivers/CMSIS/Include/cmsis_gcc.h **** 251:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp" : "=r" (result) ); 252:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 253:Drivers/CMSIS/Include/cmsis_gcc.h **** } 254:Drivers/CMSIS/Include/cmsis_gcc.h **** 255:Drivers/CMSIS/Include/cmsis_gcc.h **** 256:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 257:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 258:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer (non-secure) 259:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure s 260:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value 261:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 262:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void) 263:Drivers/CMSIS/Include/cmsis_gcc.h **** { 264:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 265:Drivers/CMSIS/Include/cmsis_gcc.h **** 266:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp_ns" : "=r" (result) ); 267:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 268:Drivers/CMSIS/Include/cmsis_gcc.h **** } 269:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 270:Drivers/CMSIS/Include/cmsis_gcc.h **** 271:Drivers/CMSIS/Include/cmsis_gcc.h **** 272:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 273:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer 274:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer (PSP). 275:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 65 276:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 277:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack) 278:Drivers/CMSIS/Include/cmsis_gcc.h **** { 279:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp, %0" : : "r" (topOfProcStack) : ); 280:Drivers/CMSIS/Include/cmsis_gcc.h **** } 281:Drivers/CMSIS/Include/cmsis_gcc.h **** 282:Drivers/CMSIS/Include/cmsis_gcc.h **** 283:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 284:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 285:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure) 286:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer (PSP) when in secure sta 287:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set 288:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 289:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack) 290:Drivers/CMSIS/Include/cmsis_gcc.h **** { 291:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp_ns, %0" : : "r" (topOfProcStack) : ); 292:Drivers/CMSIS/Include/cmsis_gcc.h **** } 293:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 294:Drivers/CMSIS/Include/cmsis_gcc.h **** 295:Drivers/CMSIS/Include/cmsis_gcc.h **** 296:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 297:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer 298:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer (MSP). 299:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value 300:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 301:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSP(void) 302:Drivers/CMSIS/Include/cmsis_gcc.h **** { 303:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 304:Drivers/CMSIS/Include/cmsis_gcc.h **** 305:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp" : "=r" (result) ); 306:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 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 **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 311:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 312:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer (non-secure) 313:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure stat 314:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value 315:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 316:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void) 317:Drivers/CMSIS/Include/cmsis_gcc.h **** { 318:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 319:Drivers/CMSIS/Include/cmsis_gcc.h **** 320:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp_ns" : "=r" (result) ); 321:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 322:Drivers/CMSIS/Include/cmsis_gcc.h **** } 323:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 324:Drivers/CMSIS/Include/cmsis_gcc.h **** 325:Drivers/CMSIS/Include/cmsis_gcc.h **** 326:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 327:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer 328:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer (MSP). 329:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set 330:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 331:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack) 332:Drivers/CMSIS/Include/cmsis_gcc.h **** { ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 66 333:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp, %0" : : "r" (topOfMainStack) : ); 334:Drivers/CMSIS/Include/cmsis_gcc.h **** } 335:Drivers/CMSIS/Include/cmsis_gcc.h **** 336:Drivers/CMSIS/Include/cmsis_gcc.h **** 337:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 338:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 339:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer (non-secure) 340:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer (MSP) when in secure state. 341:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set 342:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 343:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack) 344:Drivers/CMSIS/Include/cmsis_gcc.h **** { 345:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp_ns, %0" : : "r" (topOfMainStack) : ); 346:Drivers/CMSIS/Include/cmsis_gcc.h **** } 347:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 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 Get Stack Pointer (non-secure) 353:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Stack Pointer (SP) when in secure state. 354:Drivers/CMSIS/Include/cmsis_gcc.h **** \return SP Register value 355:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 356:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void) 357:Drivers/CMSIS/Include/cmsis_gcc.h **** { 358:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 359:Drivers/CMSIS/Include/cmsis_gcc.h **** 360:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, sp_ns" : "=r" (result) ); 361:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 362:Drivers/CMSIS/Include/cmsis_gcc.h **** } 363:Drivers/CMSIS/Include/cmsis_gcc.h **** 364:Drivers/CMSIS/Include/cmsis_gcc.h **** 365:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 366:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Stack Pointer (non-secure) 367:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Stack Pointer (SP) when in secure state. 368:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfStack Stack Pointer value to set 369:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 370:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack) 371:Drivers/CMSIS/Include/cmsis_gcc.h **** { 372:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR sp_ns, %0" : : "r" (topOfStack) : ); 373:Drivers/CMSIS/Include/cmsis_gcc.h **** } 374:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 375:Drivers/CMSIS/Include/cmsis_gcc.h **** 376:Drivers/CMSIS/Include/cmsis_gcc.h **** 377:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 378:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask 379:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the priority mask bit from the Priority Mask Register. 380:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value 381:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 382:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PRIMASK(void) 383:Drivers/CMSIS/Include/cmsis_gcc.h **** { 384:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 385:Drivers/CMSIS/Include/cmsis_gcc.h **** 386:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory"); 387:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 388:Drivers/CMSIS/Include/cmsis_gcc.h **** } 389:Drivers/CMSIS/Include/cmsis_gcc.h **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 67 390:Drivers/CMSIS/Include/cmsis_gcc.h **** 391:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 392:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 393:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask (non-secure) 394:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the non-secure priority mask bit from the Priority Mask Reg 395:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value 396:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 397:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void) 398:Drivers/CMSIS/Include/cmsis_gcc.h **** { 399:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 400:Drivers/CMSIS/Include/cmsis_gcc.h **** 401:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask_ns" : "=r" (result) :: "memory"); 402:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 403:Drivers/CMSIS/Include/cmsis_gcc.h **** } 404:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 405:Drivers/CMSIS/Include/cmsis_gcc.h **** 406:Drivers/CMSIS/Include/cmsis_gcc.h **** 407:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 408:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask 409:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Priority Mask Register. 410:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask 411:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 412:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask) 413:Drivers/CMSIS/Include/cmsis_gcc.h **** { 414:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); 415:Drivers/CMSIS/Include/cmsis_gcc.h **** } 416:Drivers/CMSIS/Include/cmsis_gcc.h **** 417:Drivers/CMSIS/Include/cmsis_gcc.h **** 418:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 419:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 420:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask (non-secure) 421:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Priority Mask Register when in secure state. 422:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask 423:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 424:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask) 425:Drivers/CMSIS/Include/cmsis_gcc.h **** { 426:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask_ns, %0" : : "r" (priMask) : "memory"); 427:Drivers/CMSIS/Include/cmsis_gcc.h **** } 428:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 429:Drivers/CMSIS/Include/cmsis_gcc.h **** 430:Drivers/CMSIS/Include/cmsis_gcc.h **** 431:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ 432:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ 433:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) 434:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 435:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable FIQ 436:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables FIQ interrupts by clearing the F-bit in the CPSR. 437:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes. 438:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 439:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_fault_irq(void) 440:Drivers/CMSIS/Include/cmsis_gcc.h **** { 441:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie f" : : : "memory"); 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 **** /** 446:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable FIQ ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 68 447:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables FIQ interrupts by setting the F-bit in the CPSR. 448:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes. 449:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 450:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_fault_irq(void) 451:Drivers/CMSIS/Include/cmsis_gcc.h **** { 452:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid f" : : : "memory"); 453:Drivers/CMSIS/Include/cmsis_gcc.h **** } 454:Drivers/CMSIS/Include/cmsis_gcc.h **** 455:Drivers/CMSIS/Include/cmsis_gcc.h **** 456:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 457:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Base Priority 458:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Base Priority register. 459:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Base Priority register value 460:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 461:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_BASEPRI(void) 462:Drivers/CMSIS/Include/cmsis_gcc.h **** { 463:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 464:Drivers/CMSIS/Include/cmsis_gcc.h **** 465:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, basepri" : "=r" (result) ); 466:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 467:Drivers/CMSIS/Include/cmsis_gcc.h **** } 468:Drivers/CMSIS/Include/cmsis_gcc.h **** 469:Drivers/CMSIS/Include/cmsis_gcc.h **** 470:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 471:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 472:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Base Priority (non-secure) 473:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Base Priority register when in secure state. 474:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Base Priority register value 475:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 476:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void) 477:Drivers/CMSIS/Include/cmsis_gcc.h **** { 478:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 479:Drivers/CMSIS/Include/cmsis_gcc.h **** 480:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, basepri_ns" : "=r" (result) ); 481:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 482:Drivers/CMSIS/Include/cmsis_gcc.h **** } 483:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 484:Drivers/CMSIS/Include/cmsis_gcc.h **** 485:Drivers/CMSIS/Include/cmsis_gcc.h **** 486:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 487:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority 488:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Base Priority register. 489:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set 490:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 491:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri) 492:Drivers/CMSIS/Include/cmsis_gcc.h **** { 493:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri, %0" : : "r" (basePri) : "memory"); 494:Drivers/CMSIS/Include/cmsis_gcc.h **** } 495:Drivers/CMSIS/Include/cmsis_gcc.h **** 496:Drivers/CMSIS/Include/cmsis_gcc.h **** 497:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 498:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 499:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority (non-secure) 500:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Base Priority register when in secure state. 501:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set 502:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 503:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri) ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 69 504:Drivers/CMSIS/Include/cmsis_gcc.h **** { 505:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri_ns, %0" : : "r" (basePri) : "memory"); 506:Drivers/CMSIS/Include/cmsis_gcc.h **** } 507:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 508:Drivers/CMSIS/Include/cmsis_gcc.h **** 509:Drivers/CMSIS/Include/cmsis_gcc.h **** 510:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 511:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority with condition 512:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Base Priority register only if BASEPRI masking is disable 513:Drivers/CMSIS/Include/cmsis_gcc.h **** or the new value increases the BASEPRI priority level. 514:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set 515:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 516:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri) 517:Drivers/CMSIS/Include/cmsis_gcc.h **** { 518:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri_max, %0" : : "r" (basePri) : "memory"); 519:Drivers/CMSIS/Include/cmsis_gcc.h **** } 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 **** \brief Get Fault Mask 524:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Fault Mask register. 525:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value 526:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 527:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void) 528:Drivers/CMSIS/Include/cmsis_gcc.h **** { 529:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 530:Drivers/CMSIS/Include/cmsis_gcc.h **** 531:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, faultmask" : "=r" (result) ); 532:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 533:Drivers/CMSIS/Include/cmsis_gcc.h **** } 534:Drivers/CMSIS/Include/cmsis_gcc.h **** 535:Drivers/CMSIS/Include/cmsis_gcc.h **** 536:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 537:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 538:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Fault Mask (non-secure) 539:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Fault Mask register when in secure state. 540:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value 541:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 542:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void) 543:Drivers/CMSIS/Include/cmsis_gcc.h **** { 544:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 545:Drivers/CMSIS/Include/cmsis_gcc.h **** 546:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, faultmask_ns" : "=r" (result) ); 547:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 548:Drivers/CMSIS/Include/cmsis_gcc.h **** } 549:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 550:Drivers/CMSIS/Include/cmsis_gcc.h **** 551:Drivers/CMSIS/Include/cmsis_gcc.h **** 552:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 553:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Fault Mask 554:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Fault Mask register. 555:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] faultMask Fault Mask value to set 556:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 557:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask) 558:Drivers/CMSIS/Include/cmsis_gcc.h **** { 559:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) : "memory"); 560:Drivers/CMSIS/Include/cmsis_gcc.h **** } ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 70 561:Drivers/CMSIS/Include/cmsis_gcc.h **** 562:Drivers/CMSIS/Include/cmsis_gcc.h **** 563:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 564:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 565:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Fault Mask (non-secure) 566:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Fault Mask register when in secure state. 567:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] faultMask Fault Mask value to set 568:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 569:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask) 570:Drivers/CMSIS/Include/cmsis_gcc.h **** { 571:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR faultmask_ns, %0" : : "r" (faultMask) : "memory"); 572:Drivers/CMSIS/Include/cmsis_gcc.h **** } 573:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 574:Drivers/CMSIS/Include/cmsis_gcc.h **** 575:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ 576:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ 577:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) */ 578:Drivers/CMSIS/Include/cmsis_gcc.h **** 579:Drivers/CMSIS/Include/cmsis_gcc.h **** 580:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ 581:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) 582:Drivers/CMSIS/Include/cmsis_gcc.h **** 583:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 584:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer Limit 585:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure 586:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always in non-secure 587:Drivers/CMSIS/Include/cmsis_gcc.h **** mode. 588:Drivers/CMSIS/Include/cmsis_gcc.h **** 589:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer Limit (PSPLIM). 590:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSPLIM Register value 591:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 592:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSPLIM(void) 593:Drivers/CMSIS/Include/cmsis_gcc.h **** { 594:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ 595:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) 596:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI 597:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U; 598:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 599:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 600:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim" : "=r" (result) ); 601:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 602:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 603:Drivers/CMSIS/Include/cmsis_gcc.h **** } 604:Drivers/CMSIS/Include/cmsis_gcc.h **** 605:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3)) 606:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 607:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer Limit (non-secure) 608:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure 609:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always. 610:Drivers/CMSIS/Include/cmsis_gcc.h **** 611:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer Limit (PSPLIM) when in 612:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSPLIM Register value 613:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 614:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void) 615:Drivers/CMSIS/Include/cmsis_gcc.h **** { 616:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) 617:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 71 618:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U; 619:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 620:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 621:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim_ns" : "=r" (result) ); 622:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 623:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 624:Drivers/CMSIS/Include/cmsis_gcc.h **** } 625:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 626:Drivers/CMSIS/Include/cmsis_gcc.h **** 627:Drivers/CMSIS/Include/cmsis_gcc.h **** 628:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 629:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer Limit 630:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure 631:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored in non-secure 632:Drivers/CMSIS/Include/cmsis_gcc.h **** mode. 633:Drivers/CMSIS/Include/cmsis_gcc.h **** 634:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer Limit (PSPLIM). 635:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set 636:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 637:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit) 638:Drivers/CMSIS/Include/cmsis_gcc.h **** { 639:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ 640:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) 641:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI 642:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)ProcStackPtrLimit; 643:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 644:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psplim, %0" : : "r" (ProcStackPtrLimit)); 645:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 646:Drivers/CMSIS/Include/cmsis_gcc.h **** } 647:Drivers/CMSIS/Include/cmsis_gcc.h **** 648:Drivers/CMSIS/Include/cmsis_gcc.h **** 649:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 650:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 651:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure) 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 the write is silently ignored. 654:Drivers/CMSIS/Include/cmsis_gcc.h **** 655:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer Limit (PSPLIM) when in s 656:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set 657:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 658:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit) 659:Drivers/CMSIS/Include/cmsis_gcc.h **** { 660:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) 661:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI 662:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)ProcStackPtrLimit; 663:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 664:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psplim_ns, %0\n" : : "r" (ProcStackPtrLimit)); 665:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 666:Drivers/CMSIS/Include/cmsis_gcc.h **** } 667:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 668:Drivers/CMSIS/Include/cmsis_gcc.h **** 669:Drivers/CMSIS/Include/cmsis_gcc.h **** 670:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 671:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer Limit 672:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure 673:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always in non-secure 674:Drivers/CMSIS/Include/cmsis_gcc.h **** mode. ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 72 675:Drivers/CMSIS/Include/cmsis_gcc.h **** 676:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer Limit (MSPLIM). 677:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSPLIM Register value 678:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 679:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSPLIM(void) 680:Drivers/CMSIS/Include/cmsis_gcc.h **** { 681:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ 682:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) 683:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI 684:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U; 685:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 686:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 687:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msplim" : "=r" (result) ); 688:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 689:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 690:Drivers/CMSIS/Include/cmsis_gcc.h **** } 691:Drivers/CMSIS/Include/cmsis_gcc.h **** 692:Drivers/CMSIS/Include/cmsis_gcc.h **** 693:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 694:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 695:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer Limit (non-secure) 696:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure 697:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always. 698:Drivers/CMSIS/Include/cmsis_gcc.h **** 699:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer Limit(MSPLIM) when in sec 700:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSPLIM Register value 701:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 702:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void) 703:Drivers/CMSIS/Include/cmsis_gcc.h **** { 704:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) 705:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI 706:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U; 707:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 708:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 709:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msplim_ns" : "=r" (result) ); 710:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 711:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 712:Drivers/CMSIS/Include/cmsis_gcc.h **** } 713:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 714:Drivers/CMSIS/Include/cmsis_gcc.h **** 715:Drivers/CMSIS/Include/cmsis_gcc.h **** 716:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 717:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer Limit 718:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure 719:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored in non-secure 720:Drivers/CMSIS/Include/cmsis_gcc.h **** mode. 721:Drivers/CMSIS/Include/cmsis_gcc.h **** 722:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer Limit (MSPLIM). 723:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] MainStackPtrLimit Main Stack Pointer Limit value to set 724:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 725:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit) 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 **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) 729:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI 730:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)MainStackPtrLimit; 731:Drivers/CMSIS/Include/cmsis_gcc.h **** #else ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 73 732:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msplim, %0" : : "r" (MainStackPtrLimit)); 733:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 734:Drivers/CMSIS/Include/cmsis_gcc.h **** } 735:Drivers/CMSIS/Include/cmsis_gcc.h **** 736:Drivers/CMSIS/Include/cmsis_gcc.h **** 737:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 738:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 739:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer Limit (non-secure) 740:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure 741:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored. 742:Drivers/CMSIS/Include/cmsis_gcc.h **** 743:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer Limit (MSPLIM) when in secu 744:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] MainStackPtrLimit Main Stack Pointer value to set 745:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 746:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit) 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 **** // without main extensions, the non-secure MSPLIM is RAZ/WI 750:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)MainStackPtrLimit; 751:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 752:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msplim_ns, %0" : : "r" (MainStackPtrLimit)); 753:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 754:Drivers/CMSIS/Include/cmsis_gcc.h **** } 755:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 756:Drivers/CMSIS/Include/cmsis_gcc.h **** 757:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ 758:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) */ 759:Drivers/CMSIS/Include/cmsis_gcc.h **** 760:Drivers/CMSIS/Include/cmsis_gcc.h **** 761:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 762:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get FPSCR 763:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Floating Point Status/Control register. 764:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Floating Point Status/Control register value 765:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 766:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FPSCR(void) 767:Drivers/CMSIS/Include/cmsis_gcc.h **** { 768:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ 769:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) 770:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_get_fpscr) 771:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed 772:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2) 773:Drivers/CMSIS/Include/cmsis_gcc.h **** /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */ 774:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_arm_get_fpscr(); 775:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 776:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 777:Drivers/CMSIS/Include/cmsis_gcc.h **** 778:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("VMRS %0, fpscr" : "=r" (result) ); 779:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 780:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 781:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 782:Drivers/CMSIS/Include/cmsis_gcc.h **** return(0U); 783:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 784:Drivers/CMSIS/Include/cmsis_gcc.h **** } 785:Drivers/CMSIS/Include/cmsis_gcc.h **** 786:Drivers/CMSIS/Include/cmsis_gcc.h **** 787:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 788:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set FPSCR ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 74 789:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Floating Point Status/Control register. 790:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] fpscr Floating Point Status/Control value to set 791:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 792:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FPSCR(uint32_t fpscr) 793:Drivers/CMSIS/Include/cmsis_gcc.h **** { 794:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ 795:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) 796:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_set_fpscr) 797:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed 798:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2) 799:Drivers/CMSIS/Include/cmsis_gcc.h **** /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */ 800:Drivers/CMSIS/Include/cmsis_gcc.h **** __builtin_arm_set_fpscr(fpscr); 801:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 802:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("VMSR fpscr, %0" : : "r" (fpscr) : "vfpcc", "memory"); 803:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 804:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 805:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)fpscr; 806:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 807:Drivers/CMSIS/Include/cmsis_gcc.h **** } 808:Drivers/CMSIS/Include/cmsis_gcc.h **** 809:Drivers/CMSIS/Include/cmsis_gcc.h **** 810:Drivers/CMSIS/Include/cmsis_gcc.h **** /*@} end of CMSIS_Core_RegAccFunctions */ 811:Drivers/CMSIS/Include/cmsis_gcc.h **** 812:Drivers/CMSIS/Include/cmsis_gcc.h **** 813:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################## Core Instruction Access ######################### */ 814:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface 815:Drivers/CMSIS/Include/cmsis_gcc.h **** Access to dedicated instructions 816:Drivers/CMSIS/Include/cmsis_gcc.h **** @{ 817:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 818:Drivers/CMSIS/Include/cmsis_gcc.h **** 819:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Define macros for porting to both thumb1 and thumb2. 820:Drivers/CMSIS/Include/cmsis_gcc.h **** * For thumb1, use low register (r0-r7), specified by constraint "l" 821:Drivers/CMSIS/Include/cmsis_gcc.h **** * Otherwise, use general registers, specified by constraint "r" */ 822:Drivers/CMSIS/Include/cmsis_gcc.h **** #if defined (__thumb__) && !defined (__thumb2__) 823:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=l" (r) 824:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+l" (r) 825:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "l" (r) 826:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 827:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=r" (r) 828:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+r" (r) 829:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "r" (r) 830:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 831:Drivers/CMSIS/Include/cmsis_gcc.h **** 832:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 833:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief No Operation 834:Drivers/CMSIS/Include/cmsis_gcc.h **** \details No Operation does nothing. This instruction can be used for code alignment purposes. 835:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 836:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NOP() __ASM volatile ("nop") 837:Drivers/CMSIS/Include/cmsis_gcc.h **** 838:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 839:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Interrupt 840:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Interrupt is a hint instruction that suspends execution until one of a number o 841:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 842:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFI() __ASM volatile ("wfi") 843:Drivers/CMSIS/Include/cmsis_gcc.h **** 844:Drivers/CMSIS/Include/cmsis_gcc.h **** 845:Drivers/CMSIS/Include/cmsis_gcc.h **** /** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 75 846:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Event 847:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Event is a hint instruction that permits the processor to enter 848:Drivers/CMSIS/Include/cmsis_gcc.h **** a low-power state until one of a number of events occurs. 849:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 850:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFE() __ASM volatile ("wfe") 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 **** \brief Send Event 855:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Send Event is a hint instruction. It causes an event to be signaled to the CPU. 856:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 857:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __SEV() __ASM volatile ("sev") 858:Drivers/CMSIS/Include/cmsis_gcc.h **** 859:Drivers/CMSIS/Include/cmsis_gcc.h **** 860:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 861:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Instruction Synchronization Barrier 862:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Instruction Synchronization Barrier flushes the pipeline in the processor, 863:Drivers/CMSIS/Include/cmsis_gcc.h **** so that all instructions following the ISB are fetched from cache or memory, 864:Drivers/CMSIS/Include/cmsis_gcc.h **** after the instruction has been completed. 865:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 866:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __ISB(void) 867:Drivers/CMSIS/Include/cmsis_gcc.h **** { 868:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("isb 0xF":::"memory"); 869:Drivers/CMSIS/Include/cmsis_gcc.h **** } 870:Drivers/CMSIS/Include/cmsis_gcc.h **** 871:Drivers/CMSIS/Include/cmsis_gcc.h **** 872:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 873:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Synchronization Barrier 874:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Acts as a special kind of Data Memory Barrier. 875:Drivers/CMSIS/Include/cmsis_gcc.h **** It completes when all explicit memory accesses before this instruction complete. 876:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 877:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DSB(void) 878:Drivers/CMSIS/Include/cmsis_gcc.h **** { 879:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dsb 0xF":::"memory"); 880:Drivers/CMSIS/Include/cmsis_gcc.h **** } 881:Drivers/CMSIS/Include/cmsis_gcc.h **** 882:Drivers/CMSIS/Include/cmsis_gcc.h **** 883:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 884:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Memory Barrier 885:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Ensures the apparent order of the explicit memory operations before 886:Drivers/CMSIS/Include/cmsis_gcc.h **** and after the instruction, without ensuring their completion. 887:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 888:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DMB(void) 889:Drivers/CMSIS/Include/cmsis_gcc.h **** { 890:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dmb 0xF":::"memory"); 891:Drivers/CMSIS/Include/cmsis_gcc.h **** } 892:Drivers/CMSIS/Include/cmsis_gcc.h **** 893:Drivers/CMSIS/Include/cmsis_gcc.h **** 894:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 895:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (32 bit) 896:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x785 897:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse 898:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value 899:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 900:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV(uint32_t value) 901:Drivers/CMSIS/Include/cmsis_gcc.h **** { 902:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 76 903:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_bswap32(value); 904:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 905:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 906:Drivers/CMSIS/Include/cmsis_gcc.h **** 907:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rev %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) ); 908:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 909:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 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 **** /** 914:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (16 bit) 915:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes 916:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse 917:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value 918:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 919:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV16(uint32_t value) 920:Drivers/CMSIS/Include/cmsis_gcc.h **** { 921:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 922:Drivers/CMSIS/Include/cmsis_gcc.h **** 923:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rev16 %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) ); 924:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 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 **** /** 929:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (16 bit) 930: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 931:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse 932:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value 933:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 934:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE int16_t __REVSH(int16_t value) 935:Drivers/CMSIS/Include/cmsis_gcc.h **** { 936:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) 937:Drivers/CMSIS/Include/cmsis_gcc.h **** return (int16_t)__builtin_bswap16(value); 938:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 939:Drivers/CMSIS/Include/cmsis_gcc.h **** int16_t result; 940:Drivers/CMSIS/Include/cmsis_gcc.h **** 941:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("revsh %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) ); 942:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 943:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 944:Drivers/CMSIS/Include/cmsis_gcc.h **** } 945:Drivers/CMSIS/Include/cmsis_gcc.h **** 946:Drivers/CMSIS/Include/cmsis_gcc.h **** 947:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 948:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Rotate Right in unsigned value (32 bit) 949:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Rotate Right (immediate) provides the value of the contents of a register rotated by a v 950:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] op1 Value to rotate 951:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] op2 Number of Bits to rotate 952:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Rotated value 953:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 954:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __ROR(uint32_t op1, uint32_t op2) 955:Drivers/CMSIS/Include/cmsis_gcc.h **** { 956:Drivers/CMSIS/Include/cmsis_gcc.h **** op2 %= 32U; 957:Drivers/CMSIS/Include/cmsis_gcc.h **** if (op2 == 0U) 958:Drivers/CMSIS/Include/cmsis_gcc.h **** { 959:Drivers/CMSIS/Include/cmsis_gcc.h **** return op1; ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 77 960:Drivers/CMSIS/Include/cmsis_gcc.h **** } 961:Drivers/CMSIS/Include/cmsis_gcc.h **** return (op1 >> op2) | (op1 << (32U - op2)); 962:Drivers/CMSIS/Include/cmsis_gcc.h **** } 963:Drivers/CMSIS/Include/cmsis_gcc.h **** 964:Drivers/CMSIS/Include/cmsis_gcc.h **** 965:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 966:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Breakpoint 967:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Causes the processor to enter Debug state. 968:Drivers/CMSIS/Include/cmsis_gcc.h **** Debug tools can use this to investigate system state when the instruction at a particula 969:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value is ignored by the processor. 970:Drivers/CMSIS/Include/cmsis_gcc.h **** If required, a debugger can use it to store additional information about the break 971:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 972:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __BKPT(value) __ASM volatile ("bkpt "#value) 973:Drivers/CMSIS/Include/cmsis_gcc.h **** 974:Drivers/CMSIS/Include/cmsis_gcc.h **** 975:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 976:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse bit order of value 977:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the bit order of the given value. 978:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse 979:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value 980:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 981:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __RBIT(uint32_t value) 982:Drivers/CMSIS/Include/cmsis_gcc.h **** { 983:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 984:Drivers/CMSIS/Include/cmsis_gcc.h **** 985:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ 986:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ 987:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) 988:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rbit %0, %1" : "=r" (result) : "r" (value) ); 989:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 990:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t s = (4U /*sizeof(v)*/ * 8U) - 1U; /* extra shift needed at end */ 991:Drivers/CMSIS/Include/cmsis_gcc.h **** 992:Drivers/CMSIS/Include/cmsis_gcc.h **** result = value; /* r will be reversed bits of v; first get LSB of v */ 993:Drivers/CMSIS/Include/cmsis_gcc.h **** for (value >>= 1U; value != 0U; value >>= 1U) 994:Drivers/CMSIS/Include/cmsis_gcc.h **** { 995:Drivers/CMSIS/Include/cmsis_gcc.h **** result <<= 1U; 996:Drivers/CMSIS/Include/cmsis_gcc.h **** result |= value & 1U; 997:Drivers/CMSIS/Include/cmsis_gcc.h **** s--; 998:Drivers/CMSIS/Include/cmsis_gcc.h **** } 999:Drivers/CMSIS/Include/cmsis_gcc.h **** result <<= s; /* shift when v's highest bits are zero */ 1000:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 1001:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 1002:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1003:Drivers/CMSIS/Include/cmsis_gcc.h **** 1004:Drivers/CMSIS/Include/cmsis_gcc.h **** 1005:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 1006:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Count leading zeros 1007:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Counts the number of leading zeros of a data value. 1008:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to count the leading zeros 1009:Drivers/CMSIS/Include/cmsis_gcc.h **** \return number of leading zeros in value 1010:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 1011:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CLZ (uint8_t)__builtin_clz 1012:Drivers/CMSIS/Include/cmsis_gcc.h **** 1013:Drivers/CMSIS/Include/cmsis_gcc.h **** 1014:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ 1015:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ 1016:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 78 1017:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) 1018:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 1019:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief LDR Exclusive (8 bit) 1020:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive LDR instruction for 8 bit value. 1021:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to data 1022:Drivers/CMSIS/Include/cmsis_gcc.h **** \return value of type uint8_t at (*ptr) 1023:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 1024:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint8_t __LDREXB(volatile uint8_t *addr) 1025:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1026:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 1027:Drivers/CMSIS/Include/cmsis_gcc.h **** 1028:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) 1029:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexb %0, %1" : "=r" (result) : "Q" (*addr) ); 1030:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 1031:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not 1032:Drivers/CMSIS/Include/cmsis_gcc.h **** accepted by assembler. So has to use following less efficient pattern. 1033:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 1034:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexb %0, [%1]" : "=r" (result) : "r" (addr) : "memory" ); 1035:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 1036:Drivers/CMSIS/Include/cmsis_gcc.h **** return ((uint8_t) result); /* Add explicit type cast here */ 1037:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1038:Drivers/CMSIS/Include/cmsis_gcc.h **** 1039:Drivers/CMSIS/Include/cmsis_gcc.h **** 1040:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 1041:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief LDR Exclusive (16 bit) 1042:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive LDR instruction for 16 bit values. 1043:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to data 1044:Drivers/CMSIS/Include/cmsis_gcc.h **** \return value of type uint16_t at (*ptr) 1045:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 1046:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint16_t __LDREXH(volatile uint16_t *addr) 1047:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1048:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 1049:Drivers/CMSIS/Include/cmsis_gcc.h **** 1050:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) 1051:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexh %0, %1" : "=r" (result) : "Q" (*addr) ); 1052:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 1053:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not 1054:Drivers/CMSIS/Include/cmsis_gcc.h **** accepted by assembler. So has to use following less efficient pattern. 1055:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 1056:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexh %0, [%1]" : "=r" (result) : "r" (addr) : "memory" ); 1057:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 1058:Drivers/CMSIS/Include/cmsis_gcc.h **** return ((uint16_t) result); /* Add explicit type cast here */ 1059:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1060:Drivers/CMSIS/Include/cmsis_gcc.h **** 1061:Drivers/CMSIS/Include/cmsis_gcc.h **** 1062:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 1063:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief LDR Exclusive (32 bit) 1064:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive LDR instruction for 32 bit values. 1065:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to data 1066:Drivers/CMSIS/Include/cmsis_gcc.h **** \return value of type uint32_t at (*ptr) 1067:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __LDREXW(volatile uint32_t *addr) 45 .loc 2 1068 31 discriminator 1 view .LVU5 46 .LBB416: 1069:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 47 .loc 2 1070 5 discriminator 1 view .LVU6 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 79 1071:Drivers/CMSIS/Include/cmsis_gcc.h **** 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 48 .loc 2 1072 4 discriminator 1 view .LVU7 49 .syntax unified 50 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 51 0002 52E8003F ldrex r3, [r2] 52 @ 0 "" 2 53 .LVL2: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 54 .loc 2 1073 4 discriminator 1 view .LVU8 55 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU9 56 .thumb 57 .syntax unified 58 .LBE416: 59 .LBE415: 60 .loc 1 3330 3 discriminator 1 view .LVU10 61 0006 23F0C003 bic r3, r3, #192 62 .LVL3: 63 .loc 1 3330 3 is_stmt 1 discriminator 1 view .LVU11 64 .LBB417: 65 .LBI417: 1074:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1075:Drivers/CMSIS/Include/cmsis_gcc.h **** 1076:Drivers/CMSIS/Include/cmsis_gcc.h **** 1077:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 1078:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief STR Exclusive (8 bit) 1079:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive STR instruction for 8 bit values. 1080:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to store 1081:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to location 1082:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 0 Function succeeded 1083:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 1 Function failed 1084:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 1085:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STREXB(uint8_t value, volatile uint8_t *addr) 1086:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1087:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 1088:Drivers/CMSIS/Include/cmsis_gcc.h **** 1089:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("strexb %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" ((uint32_t)value) ); 1090:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1091:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1092:Drivers/CMSIS/Include/cmsis_gcc.h **** 1093:Drivers/CMSIS/Include/cmsis_gcc.h **** 1094:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 1095:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief STR Exclusive (16 bit) 1096:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive STR instruction for 16 bit values. 1097:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to store 1098:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to location 1099:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 0 Function succeeded 1100:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 1 Function failed 1101:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 1102:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STREXH(uint16_t value, volatile uint16_t *addr) 1103:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1104:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 1105:Drivers/CMSIS/Include/cmsis_gcc.h **** 1106:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("strexh %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" ((uint32_t)value) ); 1107:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1108:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1109:Drivers/CMSIS/Include/cmsis_gcc.h **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 80 1110:Drivers/CMSIS/Include/cmsis_gcc.h **** 1111:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 1112:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief STR Exclusive (32 bit) 1113:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive STR instruction for 32 bit values. 1114:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to store 1115:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to location 1116:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 0 Function succeeded 1117:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 1 Function failed 1118:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STREXW(uint32_t value, volatile uint32_t *addr) 66 .loc 2 1119 31 discriminator 1 view .LVU12 67 .LBB418: 1120:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 68 .loc 2 1121 4 discriminator 1 view .LVU13 1122:Drivers/CMSIS/Include/cmsis_gcc.h **** 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 69 .loc 2 1123 4 discriminator 1 view .LVU14 70 .syntax unified 71 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 72 000a 42E80031 strex r1, r3, [r2] 73 @ 0 "" 2 74 .LVL4: 1124:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 75 .loc 2 1124 4 discriminator 1 view .LVU15 76 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU16 77 .thumb 78 .syntax unified 79 .LBE418: 80 .LBE417: 81 .loc 1 3330 3 discriminator 1 view .LVU17 82 000e 0029 cmp r1, #0 83 0010 F6D1 bne .L2 84 .LBE414: 85 .loc 1 3330 3 is_stmt 1 discriminator 2 view .LVU18 3331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */ 3333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 86 .loc 1 3333 3 discriminator 2 view .LVU19 87 .loc 1 3333 17 is_stmt 0 discriminator 2 view .LVU20 88 0012 2023 movs r3, #32 89 .LVL5: 90 .loc 1 3333 17 discriminator 2 view .LVU21 91 0014 C367 str r3, [r0, #124] 3334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 92 .loc 1 3334 1 discriminator 2 view .LVU22 93 0016 7047 bx lr 94 .cfi_endproc 95 .LFE179: 97 .section .text.UART_EndRxTransfer,"ax",%progbits 98 .align 1 99 .syntax unified 100 .thumb 101 .thumb_func 103 UART_EndRxTransfer: 104 .LFB180: 3335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 81 3336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief End ongoing Rx transfer on UART peripheral (following error detection or Reception comp 3339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 3340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart) 3343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 105 .loc 1 3343 1 is_stmt 1 view -0 106 .cfi_startproc 107 @ args = 0, pretend = 0, frame = 0 108 @ frame_needed = 0, uses_anonymous_args = 0 109 @ link register save eliminated. 110 .LVL6: 111 .L4: 3344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 3345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 112 .loc 1 3345 3 discriminator 1 view .LVU24 113 .LBB419: 114 .loc 1 3345 3 discriminator 1 view .LVU25 115 .loc 1 3345 3 discriminator 1 view .LVU26 116 .loc 1 3345 3 discriminator 1 view .LVU27 117 0000 0268 ldr r2, [r0] 118 .LVL7: 119 .LBB420: 120 .LBI420: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 121 .loc 2 1068 31 discriminator 1 view .LVU28 122 .LBB421: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 123 .loc 2 1070 5 discriminator 1 view .LVU29 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 124 .loc 2 1072 4 discriminator 1 view .LVU30 125 .syntax unified 126 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 127 0002 52E8003F ldrex r3, [r2] 128 @ 0 "" 2 129 .LVL8: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 130 .loc 2 1073 4 discriminator 1 view .LVU31 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 131 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU32 132 .thumb 133 .syntax unified 134 .LBE421: 135 .LBE420: 136 .loc 1 3345 3 discriminator 1 view .LVU33 137 0006 23F49073 bic r3, r3, #288 138 .LVL9: 139 .loc 1 3345 3 is_stmt 1 discriminator 1 view .LVU34 140 .LBB422: 141 .LBI422: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 142 .loc 2 1119 31 discriminator 1 view .LVU35 143 .LBB423: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 144 .loc 2 1121 4 discriminator 1 view .LVU36 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 82 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 145 .loc 2 1123 4 discriminator 1 view .LVU37 146 .syntax unified 147 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 148 000a 42E80031 strex r1, r3, [r2] 149 @ 0 "" 2 150 .LVL10: 151 .loc 2 1124 4 discriminator 1 view .LVU38 152 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU39 153 .thumb 154 .syntax unified 155 .LBE423: 156 .LBE422: 157 .loc 1 3345 3 discriminator 1 view .LVU40 158 000e 0029 cmp r1, #0 159 0010 F6D1 bne .L4 160 .LVL11: 161 .L5: 162 .loc 1 3345 3 discriminator 1 view .LVU41 163 .LBE419: 164 .loc 1 3345 3 is_stmt 1 discriminator 1 view .LVU42 3346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 165 .loc 1 3346 3 discriminator 1 view .LVU43 166 .LBB424: 167 .loc 1 3346 3 discriminator 1 view .LVU44 168 .loc 1 3346 3 discriminator 1 view .LVU45 169 .loc 1 3346 3 discriminator 1 view .LVU46 170 0012 0268 ldr r2, [r0] 171 .LVL12: 172 .LBB425: 173 .LBI425: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 174 .loc 2 1068 31 discriminator 1 view .LVU47 175 .LBB426: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 176 .loc 2 1070 5 discriminator 1 view .LVU48 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 177 .loc 2 1072 4 discriminator 1 view .LVU49 178 0014 02F10803 add r3, r2, #8 179 .LVL13: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 180 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU50 181 .syntax unified 182 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 183 0018 53E8003F ldrex r3, [r3] 184 @ 0 "" 2 185 .LVL14: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 186 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU51 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 187 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU52 188 .thumb 189 .syntax unified 190 .LBE426: 191 .LBE425: 192 .loc 1 3346 3 discriminator 1 view .LVU53 193 001c 23F00103 bic r3, r3, #1 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 83 194 .LVL15: 195 .loc 1 3346 3 is_stmt 1 discriminator 1 view .LVU54 196 .LBB427: 197 .LBI427: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 198 .loc 2 1119 31 discriminator 1 view .LVU55 199 .LBB428: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 200 .loc 2 1121 4 discriminator 1 view .LVU56 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 201 .loc 2 1123 4 discriminator 1 view .LVU57 202 0020 0832 adds r2, r2, #8 203 .LVL16: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 204 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU58 205 .syntax unified 206 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 207 0022 42E80031 strex r1, r3, [r2] 208 @ 0 "" 2 209 .LVL17: 210 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU59 211 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU60 212 .thumb 213 .syntax unified 214 .LBE428: 215 .LBE427: 216 .loc 1 3346 3 discriminator 1 view .LVU61 217 0026 0029 cmp r1, #0 218 0028 F3D1 bne .L5 219 .LBE424: 220 .loc 1 3346 3 is_stmt 1 discriminator 2 view .LVU62 3347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In case of reception waiting for IDLE event, disable also the IDLE IE interrupt source */ 3349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 221 .loc 1 3349 3 discriminator 2 view .LVU63 222 .loc 1 3349 12 is_stmt 0 discriminator 2 view .LVU64 223 002a 036E ldr r3, [r0, #96] 224 .LVL18: 225 .loc 1 3349 6 discriminator 2 view .LVU65 226 002c 012B cmp r3, #1 227 002e 06D0 beq .L7 228 .L6: 3350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 229 .loc 1 3351 5 is_stmt 1 discriminator 2 view .LVU66 3352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 3355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 230 .loc 1 3355 3 discriminator 2 view .LVU67 231 .loc 1 3355 18 is_stmt 0 discriminator 2 view .LVU68 232 0030 2023 movs r3, #32 233 0032 C0F88030 str r3, [r0, #128] 3356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 234 .loc 1 3356 3 is_stmt 1 discriminator 2 view .LVU69 235 .loc 1 3356 24 is_stmt 0 discriminator 2 view .LVU70 236 0036 0023 movs r3, #0 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 84 237 0038 0366 str r3, [r0, #96] 3357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset RxIsr function pointer */ 3359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = NULL; 238 .loc 1 3359 3 is_stmt 1 discriminator 2 view .LVU71 239 .loc 1 3359 16 is_stmt 0 discriminator 2 view .LVU72 240 003a 8366 str r3, [r0, #104] 3360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 241 .loc 1 3360 1 discriminator 2 view .LVU73 242 003c 7047 bx lr 243 .L7: 3351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 244 .loc 1 3351 5 is_stmt 1 discriminator 1 view .LVU74 245 .LBB429: 3351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 246 .loc 1 3351 5 discriminator 1 view .LVU75 3351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 247 .loc 1 3351 5 discriminator 1 view .LVU76 3351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 248 .loc 1 3351 5 discriminator 1 view .LVU77 249 003e 0268 ldr r2, [r0] 250 .LVL19: 251 .LBB430: 252 .LBI430: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 253 .loc 2 1068 31 discriminator 1 view .LVU78 254 .LBB431: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 255 .loc 2 1070 5 discriminator 1 view .LVU79 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 256 .loc 2 1072 4 discriminator 1 view .LVU80 257 .syntax unified 258 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 259 0040 52E8003F ldrex r3, [r2] 260 @ 0 "" 2 261 .LVL20: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 262 .loc 2 1073 4 discriminator 1 view .LVU81 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 263 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU82 264 .thumb 265 .syntax unified 266 .LBE431: 267 .LBE430: 3351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 268 .loc 1 3351 5 discriminator 1 view .LVU83 269 0044 23F01003 bic r3, r3, #16 270 .LVL21: 3351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 271 .loc 1 3351 5 is_stmt 1 discriminator 1 view .LVU84 272 .LBB432: 273 .LBI432: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 274 .loc 2 1119 31 discriminator 1 view .LVU85 275 .LBB433: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 276 .loc 2 1121 4 discriminator 1 view .LVU86 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 85 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 277 .loc 2 1123 4 discriminator 1 view .LVU87 278 .syntax unified 279 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 280 0048 42E80031 strex r1, r3, [r2] 281 @ 0 "" 2 282 .LVL22: 283 .loc 2 1124 4 discriminator 1 view .LVU88 284 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU89 285 .thumb 286 .syntax unified 287 .LBE433: 288 .LBE432: 3351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 289 .loc 1 3351 5 discriminator 1 view .LVU90 290 004c 0029 cmp r1, #0 291 004e F6D1 bne .L7 292 0050 EEE7 b .L6 293 .LBE429: 294 .cfi_endproc 295 .LFE180: 297 .section .text.UART_TxISR_8BIT,"ax",%progbits 298 .align 1 299 .syntax unified 300 .thumb 301 .thumb_func 303 UART_TxISR_8BIT: 304 .LVL23: 305 .LFB191: 3361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART transmit process complete callback. 3365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle. 3366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma) 3369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DMA Normal mode */ 3373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (hdma->Init.Mode != DMA_CIRCULAR) 3374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U; 3376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the DMA transfer for transmit request by resetting the DMAT bit 3378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in the UART CR3 register */ 3379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 3380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */ 3382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE); 3383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DMA Circular mode */ 3385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 3386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Tx complete callback*/ ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 86 3389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxCpltCallback(huart); 3390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/ 3392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart); 3393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART transmit process half complete callback. 3399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle. 3400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma) 3403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Tx Half complete callback*/ 3408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxHalfCpltCallback(huart); 3409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Tx Half complete callback*/ 3411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_TxHalfCpltCallback(huart); 3412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART receive process complete callback. 3417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle. 3418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma) 3421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DMA Normal mode */ 3425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (hdma->Init.Mode != DMA_CIRCULAR) 3426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 3428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */ 3430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); 3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by resetting the DMAR bit 3434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in the UART CR3 register */ 3435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 3436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 3438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If Reception till IDLE event has been selected, Disable IDLE Interrupt */ 3441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 3442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 3444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 87 3446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution; 3448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** In this case, Rx Event type is Transfer Complete */ 3449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 3450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check current reception Mode : 3452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** If Reception till IDLE event has been selected : use Rx Event callback */ 3453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 3454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx Event callback*/ 3457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize); 3458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 3460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize); 3461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 3464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In other cases : use Rx Complete callback */ 3466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx complete callback*/ 3468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxCpltCallback(huart); 3469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/ 3471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart); 3472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART receive process half complete callback. 3478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle. 3479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma) 3482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution; 3486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** In this case, Rx Event type is Half Transfer */ 3487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_HT; 3488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check current reception Mode : 3490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** If Reception till IDLE event has been selected : use Rx Event callback */ 3491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 3492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx Event callback*/ 3495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize / 2U); 3496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 3498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize / 2U); 3499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 3502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 88 3503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In other cases : use Rx Half Complete callback */ 3504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx Half complete callback*/ 3506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxHalfCpltCallback(huart); 3507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx Half complete callback*/ 3509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_RxHalfCpltCallback(huart); 3510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART communication error callback. 3516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle. 3517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma) 3520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; 3524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 3525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */ 3527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) && 3528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 3529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U; 3531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndTxTransfer(huart); 3532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */ 3535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) && 3536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 3537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 3539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndRxTransfer(huart); 3540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_DMA; 3543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered error callback*/ 3546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCallback(huart); 3547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak error callback*/ 3549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 3550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART communication abort callback, when initiated by HAL services on Error 3555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * (To be called at end of DMA Abort procedure following error occurrence). 3556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle. 3557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma) ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 89 3560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 3563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U; 3564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered error callback*/ 3567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCallback(huart); 3568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak error callback*/ 3570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 3571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user 3576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * (To be called at end of DMA Tx Abort procedure following user abort request). 3577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When this callback is executed, User Abort complete call back is called only if no 3578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * Abort still ongoing for Rx DMA Handle. 3579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle. 3580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma) 3583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 3587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check if an Abort process is still ongoing */ 3589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL) 3590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx->XferAbortCallback != NULL) 3592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return; 3594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba 3598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U; 3599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 3600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset errorCode */ 3602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 3605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF); 3606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */ 3609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call user Abort complete callback */ 3614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort complete callback */ 3616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortCpltCallback(huart); ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 90 3617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort complete callback */ 3619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart); 3620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user 3626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * (To be called at end of DMA Rx Abort procedure following user abort request). 3627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When this callback is executed, User Abort complete call back is called only if no 3628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * Abort still ongoing for Tx DMA Handle. 3629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle. 3630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma) 3633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 3637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check if an Abort process is still ongoing */ 3639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx != NULL) 3640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx->XferAbortCallback != NULL) 3642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return; 3644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba 3648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U; 3649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 3650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset errorCode */ 3652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 3655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF); 3656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Discard the received data */ 3658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 3659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */ 3661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call user Abort complete callback */ 3666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort complete callback */ 3668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortCpltCallback(huart); 3669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort complete callback */ 3671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart); 3672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 91 3674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user by a call to 3678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * HAL_UART_AbortTransmit_IT API (Abort only Tx transfer) 3679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * (This callback is executed at end of DMA Tx Abort procedure following user abort reques 3680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * and leads to user Tx Abort Complete callback execution). 3681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle. 3682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma) 3685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U; 3689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState to Ready */ 3692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call user Abort complete callback */ 3695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */ 3697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart); 3698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */ 3700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart); 3701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user by a call to 3706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * HAL_UART_AbortReceive_IT API (Abort only Rx transfer) 3707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * (This callback is executed at end of DMA Rx Abort procedure following user abort reques 3708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * and leads to user Rx Abort Complete callback execution). 3709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle. 3710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma) 3713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 3715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 3717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 3719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF); 3720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Discard the received data */ 3722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 3723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->RxState to Ready */ 3725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call user Abort complete callback */ 3729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */ ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 92 3731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart); 3732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */ 3734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart); 3735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief TX interrupt handler for 7 or 8 bits data word length . 3740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note Function is called under interruption only, once 3741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT(). 3742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 3743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_TxISR_8BIT(UART_HandleTypeDef *huart) 3746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 306 .loc 1 3746 1 is_stmt 1 view -0 307 .cfi_startproc 308 @ args = 0, pretend = 0, frame = 0 309 @ frame_needed = 0, uses_anonymous_args = 0 310 @ link register save eliminated. 3747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Tx process is ongoing */ 3748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) 311 .loc 1 3748 3 view .LVU92 312 .loc 1 3748 12 is_stmt 0 view .LVU93 313 0000 C36F ldr r3, [r0, #124] 314 .loc 1 3748 6 view .LVU94 315 0002 212B cmp r3, #33 316 0004 00D0 beq .L13 317 .L8: 3749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->TxXferCount == 0U) 3751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Transmit Data Register Empty Interrupt */ 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TXEIE); 3754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */ 3756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE); 3757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 3759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->TDR = (uint8_t)(*huart->pTxBuffPtr & (uint8_t)0xFF); 3761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr++; 3762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount--; 3763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 318 .loc 1 3765 1 view .LVU95 319 0006 7047 bx lr 320 .L13: 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 321 .loc 1 3750 5 is_stmt 1 view .LVU96 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 322 .loc 1 3750 14 is_stmt 0 view .LVU97 323 0008 B0F85230 ldrh r3, [r0, #82] 324 000c 9BB2 uxth r3, r3 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 93 325 .loc 1 3750 8 view .LVU98 326 000e 93B9 cbnz r3, .L10 327 .L11: 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 328 .loc 1 3753 7 is_stmt 1 discriminator 1 view .LVU99 329 .LBB434: 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 330 .loc 1 3753 7 discriminator 1 view .LVU100 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 331 .loc 1 3753 7 discriminator 1 view .LVU101 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 332 .loc 1 3753 7 discriminator 1 view .LVU102 333 0010 0268 ldr r2, [r0] 334 .LVL24: 335 .LBB435: 336 .LBI435: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 337 .loc 2 1068 31 discriminator 1 view .LVU103 338 .LBB436: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 339 .loc 2 1070 5 discriminator 1 view .LVU104 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 340 .loc 2 1072 4 discriminator 1 view .LVU105 341 .syntax unified 342 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 343 0012 52E8003F ldrex r3, [r2] 344 @ 0 "" 2 345 .LVL25: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 346 .loc 2 1073 4 discriminator 1 view .LVU106 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 347 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU107 348 .thumb 349 .syntax unified 350 .LBE436: 351 .LBE435: 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 352 .loc 1 3753 7 discriminator 1 view .LVU108 353 0016 23F08003 bic r3, r3, #128 354 .LVL26: 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 355 .loc 1 3753 7 is_stmt 1 discriminator 1 view .LVU109 356 .LBB437: 357 .LBI437: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 358 .loc 2 1119 31 discriminator 1 view .LVU110 359 .LBB438: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 360 .loc 2 1121 4 discriminator 1 view .LVU111 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 361 .loc 2 1123 4 discriminator 1 view .LVU112 362 .syntax unified 363 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 364 001a 42E80031 strex r1, r3, [r2] 365 @ 0 "" 2 366 .LVL27: 367 .loc 2 1124 4 discriminator 1 view .LVU113 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 94 368 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU114 369 .thumb 370 .syntax unified 371 .LBE438: 372 .LBE437: 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 373 .loc 1 3753 7 discriminator 1 view .LVU115 374 001e 0029 cmp r1, #0 375 0020 F6D1 bne .L11 376 .LVL28: 377 .L12: 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 378 .loc 1 3753 7 discriminator 1 view .LVU116 379 .LBE434: 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 380 .loc 1 3753 7 is_stmt 1 discriminator 1 view .LVU117 3756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 381 .loc 1 3756 7 discriminator 1 view .LVU118 382 .LBB439: 3756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 383 .loc 1 3756 7 discriminator 1 view .LVU119 3756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 384 .loc 1 3756 7 discriminator 1 view .LVU120 3756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 385 .loc 1 3756 7 discriminator 1 view .LVU121 386 0022 0268 ldr r2, [r0] 387 .LVL29: 388 .LBB440: 389 .LBI440: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 390 .loc 2 1068 31 discriminator 1 view .LVU122 391 .LBB441: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 392 .loc 2 1070 5 discriminator 1 view .LVU123 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 393 .loc 2 1072 4 discriminator 1 view .LVU124 394 .syntax unified 395 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 396 0024 52E8003F ldrex r3, [r2] 397 @ 0 "" 2 398 .LVL30: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 399 .loc 2 1073 4 discriminator 1 view .LVU125 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 400 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU126 401 .thumb 402 .syntax unified 403 .LBE441: 404 .LBE440: 3756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 405 .loc 1 3756 7 discriminator 1 view .LVU127 406 0028 43F04003 orr r3, r3, #64 407 .LVL31: 3756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 408 .loc 1 3756 7 is_stmt 1 discriminator 1 view .LVU128 409 .LBB442: 410 .LBI442: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 95 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 411 .loc 2 1119 31 discriminator 1 view .LVU129 412 .LBB443: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 413 .loc 2 1121 4 discriminator 1 view .LVU130 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 414 .loc 2 1123 4 discriminator 1 view .LVU131 415 .syntax unified 416 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 417 002c 42E80031 strex r1, r3, [r2] 418 @ 0 "" 2 419 .LVL32: 420 .loc 2 1124 4 discriminator 1 view .LVU132 421 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU133 422 .thumb 423 .syntax unified 424 .LBE443: 425 .LBE442: 3756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 426 .loc 1 3756 7 discriminator 1 view .LVU134 427 0030 0029 cmp r1, #0 428 0032 F6D1 bne .L12 429 0034 7047 bx lr 430 .LVL33: 431 .L10: 3756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 432 .loc 1 3756 7 discriminator 1 view .LVU135 433 .LBE439: 3760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr++; 434 .loc 1 3760 7 is_stmt 1 view .LVU136 3760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr++; 435 .loc 1 3760 46 is_stmt 0 view .LVU137 436 0036 C36C ldr r3, [r0, #76] 3760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr++; 437 .loc 1 3760 40 view .LVU138 438 0038 1A78 ldrb r2, [r3] @ zero_extendqisi2 3760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr++; 439 .loc 1 3760 12 view .LVU139 440 003a 0368 ldr r3, [r0] 3760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr++; 441 .loc 1 3760 28 view .LVU140 442 003c 1A85 strh r2, [r3, #40] @ movhi 3761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount--; 443 .loc 1 3761 7 is_stmt 1 view .LVU141 3761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount--; 444 .loc 1 3761 12 is_stmt 0 view .LVU142 445 003e C36C ldr r3, [r0, #76] 3761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount--; 446 .loc 1 3761 24 view .LVU143 447 0040 0133 adds r3, r3, #1 448 0042 C364 str r3, [r0, #76] 3762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 449 .loc 1 3762 7 is_stmt 1 view .LVU144 3762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 450 .loc 1 3762 12 is_stmt 0 view .LVU145 451 0044 B0F85230 ldrh r3, [r0, #82] 452 0048 9BB2 uxth r3, r3 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 96 3762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 453 .loc 1 3762 25 view .LVU146 454 004a 013B subs r3, r3, #1 455 004c 9BB2 uxth r3, r3 456 004e A0F85230 strh r3, [r0, #82] @ movhi 457 .loc 1 3765 1 view .LVU147 458 0052 D8E7 b .L8 459 .cfi_endproc 460 .LFE191: 462 .section .text.UART_TxISR_16BIT,"ax",%progbits 463 .align 1 464 .syntax unified 465 .thumb 466 .thumb_func 468 UART_TxISR_16BIT: 469 .LVL34: 470 .LFB192: 3766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief TX interrupt handler for 9 bits data word length. 3769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note Function is called under interruption only, once 3770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT(). 3771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 3772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_TxISR_16BIT(UART_HandleTypeDef *huart) 3775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 471 .loc 1 3775 1 is_stmt 1 view -0 472 .cfi_startproc 473 @ args = 0, pretend = 0, frame = 0 474 @ frame_needed = 0, uses_anonymous_args = 0 475 @ link register save eliminated. 3776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const uint16_t *tmp; 476 .loc 1 3776 3 view .LVU149 3777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Tx process is ongoing */ 3779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) 477 .loc 1 3779 3 view .LVU150 478 .loc 1 3779 12 is_stmt 0 view .LVU151 479 0000 C36F ldr r3, [r0, #124] 480 .loc 1 3779 6 view .LVU152 481 0002 212B cmp r3, #33 482 0004 00D0 beq .L19 483 .L14: 3780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->TxXferCount == 0U) 3782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Transmit Data Register Empty Interrupt */ 3784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TXEIE); 3785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */ 3787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE); 3788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 3790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tmp = (const uint16_t *) huart->pTxBuffPtr; 3792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL); ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 97 3793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 3794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount--; 3795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 484 .loc 1 3797 1 view .LVU153 485 0006 7047 bx lr 486 .L19: 3781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 487 .loc 1 3781 5 is_stmt 1 view .LVU154 3781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 488 .loc 1 3781 14 is_stmt 0 view .LVU155 489 0008 B0F85230 ldrh r3, [r0, #82] 490 000c 9BB2 uxth r3, r3 3781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 491 .loc 1 3781 8 view .LVU156 492 000e 93B9 cbnz r3, .L16 493 .L17: 3784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 494 .loc 1 3784 7 is_stmt 1 discriminator 1 view .LVU157 495 .LBB444: 3784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 496 .loc 1 3784 7 discriminator 1 view .LVU158 3784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 497 .loc 1 3784 7 discriminator 1 view .LVU159 3784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 498 .loc 1 3784 7 discriminator 1 view .LVU160 499 0010 0268 ldr r2, [r0] 500 .LVL35: 501 .LBB445: 502 .LBI445: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 503 .loc 2 1068 31 discriminator 1 view .LVU161 504 .LBB446: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 505 .loc 2 1070 5 discriminator 1 view .LVU162 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 506 .loc 2 1072 4 discriminator 1 view .LVU163 507 .syntax unified 508 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 509 0012 52E8003F ldrex r3, [r2] 510 @ 0 "" 2 511 .LVL36: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 512 .loc 2 1073 4 discriminator 1 view .LVU164 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 513 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU165 514 .thumb 515 .syntax unified 516 .LBE446: 517 .LBE445: 3784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 518 .loc 1 3784 7 discriminator 1 view .LVU166 519 0016 23F08003 bic r3, r3, #128 520 .LVL37: 3784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 521 .loc 1 3784 7 is_stmt 1 discriminator 1 view .LVU167 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 98 522 .LBB447: 523 .LBI447: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 524 .loc 2 1119 31 discriminator 1 view .LVU168 525 .LBB448: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 526 .loc 2 1121 4 discriminator 1 view .LVU169 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 527 .loc 2 1123 4 discriminator 1 view .LVU170 528 .syntax unified 529 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 530 001a 42E80031 strex r1, r3, [r2] 531 @ 0 "" 2 532 .LVL38: 533 .loc 2 1124 4 discriminator 1 view .LVU171 534 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU172 535 .thumb 536 .syntax unified 537 .LBE448: 538 .LBE447: 3784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 539 .loc 1 3784 7 discriminator 1 view .LVU173 540 001e 0029 cmp r1, #0 541 0020 F6D1 bne .L17 542 .LVL39: 543 .L18: 3784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 544 .loc 1 3784 7 discriminator 1 view .LVU174 545 .LBE444: 3784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 546 .loc 1 3784 7 is_stmt 1 discriminator 1 view .LVU175 3787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 547 .loc 1 3787 7 discriminator 1 view .LVU176 548 .LBB449: 3787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 549 .loc 1 3787 7 discriminator 1 view .LVU177 3787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 550 .loc 1 3787 7 discriminator 1 view .LVU178 3787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 551 .loc 1 3787 7 discriminator 1 view .LVU179 552 0022 0268 ldr r2, [r0] 553 .LVL40: 554 .LBB450: 555 .LBI450: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 556 .loc 2 1068 31 discriminator 1 view .LVU180 557 .LBB451: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 558 .loc 2 1070 5 discriminator 1 view .LVU181 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 559 .loc 2 1072 4 discriminator 1 view .LVU182 560 .syntax unified 561 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 562 0024 52E8003F ldrex r3, [r2] 563 @ 0 "" 2 564 .LVL41: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 99 565 .loc 2 1073 4 discriminator 1 view .LVU183 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 566 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU184 567 .thumb 568 .syntax unified 569 .LBE451: 570 .LBE450: 3787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 571 .loc 1 3787 7 discriminator 1 view .LVU185 572 0028 43F04003 orr r3, r3, #64 573 .LVL42: 3787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 574 .loc 1 3787 7 is_stmt 1 discriminator 1 view .LVU186 575 .LBB452: 576 .LBI452: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 577 .loc 2 1119 31 discriminator 1 view .LVU187 578 .LBB453: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 579 .loc 2 1121 4 discriminator 1 view .LVU188 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 580 .loc 2 1123 4 discriminator 1 view .LVU189 581 .syntax unified 582 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 583 002c 42E80031 strex r1, r3, [r2] 584 @ 0 "" 2 585 .LVL43: 586 .loc 2 1124 4 discriminator 1 view .LVU190 587 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU191 588 .thumb 589 .syntax unified 590 .LBE453: 591 .LBE452: 3787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 592 .loc 1 3787 7 discriminator 1 view .LVU192 593 0030 0029 cmp r1, #0 594 0032 F6D1 bne .L18 595 0034 7047 bx lr 596 .LVL44: 597 .L16: 3787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 598 .loc 1 3787 7 discriminator 1 view .LVU193 599 .LBE449: 3791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL); 600 .loc 1 3791 7 is_stmt 1 view .LVU194 3791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL); 601 .loc 1 3791 11 is_stmt 0 view .LVU195 602 0036 C36C ldr r3, [r0, #76] 603 .LVL45: 3792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 604 .loc 1 3792 7 is_stmt 1 view .LVU196 3792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 605 .loc 1 3792 43 is_stmt 0 view .LVU197 606 0038 1B88 ldrh r3, [r3] 607 .LVL46: 3792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 608 .loc 1 3792 12 view .LVU198 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 100 609 003a 0268 ldr r2, [r0] 3792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 610 .loc 1 3792 50 view .LVU199 611 003c C3F30803 ubfx r3, r3, #0, #9 3792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 612 .loc 1 3792 28 view .LVU200 613 0040 1385 strh r3, [r2, #40] @ movhi 614 .LVL47: 3793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount--; 615 .loc 1 3793 7 is_stmt 1 view .LVU201 3793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount--; 616 .loc 1 3793 12 is_stmt 0 view .LVU202 617 0042 C36C ldr r3, [r0, #76] 3793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount--; 618 .loc 1 3793 25 view .LVU203 619 0044 0233 adds r3, r3, #2 620 0046 C364 str r3, [r0, #76] 3794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 621 .loc 1 3794 7 is_stmt 1 view .LVU204 3794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 622 .loc 1 3794 12 is_stmt 0 view .LVU205 623 0048 B0F85230 ldrh r3, [r0, #82] 624 004c 9BB2 uxth r3, r3 3794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 625 .loc 1 3794 25 view .LVU206 626 004e 013B subs r3, r3, #1 627 0050 9BB2 uxth r3, r3 628 0052 A0F85230 strh r3, [r0, #82] @ movhi 629 .loc 1 3797 1 view .LVU207 630 0056 D6E7 b .L14 631 .cfi_endproc 632 .LFE192: 634 .section .text.HAL_UART_MspInit,"ax",%progbits 635 .align 1 636 .weak HAL_UART_MspInit 637 .syntax unified 638 .thumb 639 .thumb_func 641 HAL_UART_MspInit: 642 .LVL48: 643 .LFB135: 654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 644 .loc 1 654 1 is_stmt 1 view -0 645 .cfi_startproc 646 @ args = 0, pretend = 0, frame = 0 647 @ frame_needed = 0, uses_anonymous_args = 0 648 @ link register save eliminated. 656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 649 .loc 1 656 3 view .LVU209 661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 650 .loc 1 661 1 is_stmt 0 view .LVU210 651 0000 7047 bx lr 652 .cfi_endproc 653 .LFE135: 655 .section .text.HAL_UART_MspDeInit,"ax",%progbits 656 .align 1 657 .weak HAL_UART_MspDeInit ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 101 658 .syntax unified 659 .thumb 660 .thumb_func 662 HAL_UART_MspDeInit: 663 .LVL49: 664 .LFB136: 669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 665 .loc 1 669 1 is_stmt 1 view -0 666 .cfi_startproc 667 @ args = 0, pretend = 0, frame = 0 668 @ frame_needed = 0, uses_anonymous_args = 0 669 @ link register save eliminated. 671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 670 .loc 1 671 3 view .LVU212 676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 671 .loc 1 676 1 is_stmt 0 view .LVU213 672 0000 7047 bx lr 673 .cfi_endproc 674 .LFE136: 676 .section .text.HAL_UART_DeInit,"ax",%progbits 677 .align 1 678 .global HAL_UART_DeInit 679 .syntax unified 680 .thumb 681 .thumb_func 683 HAL_UART_DeInit: 684 .LVL50: 685 .LFB134: 607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */ 686 .loc 1 607 1 is_stmt 1 view -0 687 .cfi_startproc 688 @ args = 0, pretend = 0, frame = 0 689 @ frame_needed = 0, uses_anonymous_args = 0 609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 690 .loc 1 609 3 view .LVU215 609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 691 .loc 1 609 6 is_stmt 0 view .LVU216 692 0000 E0B1 cbz r0, .L24 607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */ 693 .loc 1 607 1 view .LVU217 694 0002 38B5 push {r3, r4, r5, lr} 695 .cfi_def_cfa_offset 16 696 .cfi_offset 3, -16 697 .cfi_offset 4, -12 698 .cfi_offset 5, -8 699 .cfi_offset 14, -4 700 0004 0546 mov r5, r0 615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 701 .loc 1 615 3 is_stmt 1 view .LVU218 617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 702 .loc 1 617 3 view .LVU219 617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 703 .loc 1 617 17 is_stmt 0 view .LVU220 704 0006 2423 movs r3, #36 705 0008 C367 str r3, [r0, #124] 619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 706 .loc 1 619 3 is_stmt 1 view .LVU221 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 102 707 000a 0268 ldr r2, [r0] 708 000c 1368 ldr r3, [r2] 709 000e 23F00103 bic r3, r3, #1 710 0012 1360 str r3, [r2] 621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->CR2 = 0x0U; 711 .loc 1 621 3 view .LVU222 621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->CR2 = 0x0U; 712 .loc 1 621 8 is_stmt 0 view .LVU223 713 0014 0368 ldr r3, [r0] 621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->CR2 = 0x0U; 714 .loc 1 621 24 view .LVU224 715 0016 0024 movs r4, #0 716 0018 1C60 str r4, [r3] 622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->CR3 = 0x0U; 717 .loc 1 622 3 is_stmt 1 view .LVU225 622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->CR3 = 0x0U; 718 .loc 1 622 8 is_stmt 0 view .LVU226 719 001a 0368 ldr r3, [r0] 622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->CR3 = 0x0U; 720 .loc 1 622 24 view .LVU227 721 001c 5C60 str r4, [r3, #4] 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 722 .loc 1 623 3 is_stmt 1 view .LVU228 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 723 .loc 1 623 8 is_stmt 0 view .LVU229 724 001e 0368 ldr r3, [r0] 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 725 .loc 1 623 24 view .LVU230 726 0020 9C60 str r4, [r3, #8] 634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 727 .loc 1 634 3 is_stmt 1 view .LVU231 728 0022 FFF7FEFF bl HAL_UART_MspDeInit 729 .LVL51: 637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET; 730 .loc 1 637 3 view .LVU232 637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET; 731 .loc 1 637 20 is_stmt 0 view .LVU233 732 0026 C5F88440 str r4, [r5, #132] 638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET; 733 .loc 1 638 3 is_stmt 1 view .LVU234 638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET; 734 .loc 1 638 17 is_stmt 0 view .LVU235 735 002a EC67 str r4, [r5, #124] 639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 736 .loc 1 639 3 is_stmt 1 view .LVU236 639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 737 .loc 1 639 18 is_stmt 0 view .LVU237 738 002c C5F88040 str r4, [r5, #128] 640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 739 .loc 1 640 3 is_stmt 1 view .LVU238 640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 740 .loc 1 640 24 is_stmt 0 view .LVU239 741 0030 2C66 str r4, [r5, #96] 641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 742 .loc 1 641 3 is_stmt 1 view .LVU240 641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 743 .loc 1 641 22 is_stmt 0 view .LVU241 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 103 744 0032 6C66 str r4, [r5, #100] 643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 745 .loc 1 643 3 is_stmt 1 view .LVU242 643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 746 .loc 1 643 3 view .LVU243 747 0034 85F87840 strb r4, [r5, #120] 643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 748 .loc 1 643 3 view .LVU244 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 749 .loc 1 645 3 view .LVU245 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 750 .loc 1 645 10 is_stmt 0 view .LVU246 751 0038 2046 mov r0, r4 646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 752 .loc 1 646 1 view .LVU247 753 003a 38BD pop {r3, r4, r5, pc} 754 .LVL52: 755 .L24: 756 .cfi_def_cfa_offset 0 757 .cfi_restore 3 758 .cfi_restore 4 759 .cfi_restore 5 760 .cfi_restore 14 611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 761 .loc 1 611 12 view .LVU248 762 003c 0120 movs r0, #1 763 .LVL53: 646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 764 .loc 1 646 1 view .LVU249 765 003e 7047 bx lr 766 .cfi_endproc 767 .LFE134: 769 .section .text.HAL_UART_Transmit_IT,"ax",%progbits 770 .align 1 771 .global HAL_UART_Transmit_IT 772 .syntax unified 773 .thumb 774 .thumb_func 776 HAL_UART_Transmit_IT: 777 .LVL54: 778 .LFB139: 1250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 779 .loc 1 1250 1 is_stmt 1 view -0 780 .cfi_startproc 781 @ args = 0, pretend = 0, frame = 0 782 @ frame_needed = 0, uses_anonymous_args = 0 783 @ link register save eliminated. 1252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 784 .loc 1 1252 3 view .LVU251 1252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 785 .loc 1 1252 12 is_stmt 0 view .LVU252 786 0000 C36F ldr r3, [r0, #124] 1252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 787 .loc 1 1252 6 view .LVU253 788 0002 202B cmp r3, #32 789 0004 23D1 bne .L34 1254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 104 790 .loc 1 1254 5 is_stmt 1 view .LVU254 1254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 791 .loc 1 1254 8 is_stmt 0 view .LVU255 792 0006 21B3 cbz r1, .L35 1254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 793 .loc 1 1254 25 discriminator 1 view .LVU256 794 0008 2AB3 cbz r2, .L36 1259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferSize = Size; 795 .loc 1 1259 5 is_stmt 1 view .LVU257 1259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferSize = Size; 796 .loc 1 1259 24 is_stmt 0 view .LVU258 797 000a C164 str r1, [r0, #76] 1260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = Size; 798 .loc 1 1260 5 is_stmt 1 view .LVU259 1260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = Size; 799 .loc 1 1260 24 is_stmt 0 view .LVU260 800 000c A0F85020 strh r2, [r0, #80] @ movhi 1261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL; 801 .loc 1 1261 5 is_stmt 1 view .LVU261 1261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL; 802 .loc 1 1261 24 is_stmt 0 view .LVU262 803 0010 A0F85220 strh r2, [r0, #82] @ movhi 1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 804 .loc 1 1262 5 is_stmt 1 view .LVU263 1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 805 .loc 1 1262 24 is_stmt 0 view .LVU264 806 0014 0023 movs r3, #0 807 0016 C366 str r3, [r0, #108] 1264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 808 .loc 1 1264 5 is_stmt 1 view .LVU265 1264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 809 .loc 1 1264 22 is_stmt 0 view .LVU266 810 0018 C0F88430 str r3, [r0, #132] 1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 811 .loc 1 1265 5 is_stmt 1 view .LVU267 1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 812 .loc 1 1265 19 is_stmt 0 view .LVU268 813 001c 2123 movs r3, #33 814 001e C367 str r3, [r0, #124] 1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 815 .loc 1 1268 5 is_stmt 1 view .LVU269 1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 816 .loc 1 1268 21 is_stmt 0 view .LVU270 817 0020 8368 ldr r3, [r0, #8] 1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 818 .loc 1 1268 8 view .LVU271 819 0022 B3F5805F cmp r3, #4096 820 0026 0CD0 beq .L37 821 .L31: 1274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 822 .loc 1 1274 7 is_stmt 1 view .LVU272 1274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 823 .loc 1 1274 20 is_stmt 0 view .LVU273 824 0028 0C4B ldr r3, .L38 825 002a C366 str r3, [r0, #108] 826 .LVL55: 827 .L33: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 105 1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 828 .loc 1 1278 5 is_stmt 1 discriminator 1 view .LVU274 829 .LBB454: 1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 830 .loc 1 1278 5 discriminator 1 view .LVU275 1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 831 .loc 1 1278 5 discriminator 1 view .LVU276 1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 832 .loc 1 1278 5 discriminator 1 view .LVU277 833 002c 0268 ldr r2, [r0] 834 .LVL56: 835 .LBB455: 836 .LBI455: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 837 .loc 2 1068 31 discriminator 1 view .LVU278 838 .LBB456: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 839 .loc 2 1070 5 discriminator 1 view .LVU279 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 840 .loc 2 1072 4 discriminator 1 view .LVU280 841 .syntax unified 842 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 843 002e 52E8003F ldrex r3, [r2] 844 @ 0 "" 2 845 .LVL57: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 846 .loc 2 1073 4 discriminator 1 view .LVU281 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 847 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU282 848 .thumb 849 .syntax unified 850 .LBE456: 851 .LBE455: 1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 852 .loc 1 1278 5 discriminator 1 view .LVU283 853 0032 43F08003 orr r3, r3, #128 854 .LVL58: 1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 855 .loc 1 1278 5 is_stmt 1 discriminator 1 view .LVU284 856 .LBB457: 857 .LBI457: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 858 .loc 2 1119 31 discriminator 1 view .LVU285 859 .LBB458: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 860 .loc 2 1121 4 discriminator 1 view .LVU286 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 861 .loc 2 1123 4 discriminator 1 view .LVU287 862 .syntax unified 863 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 864 0036 42E80031 strex r1, r3, [r2] 865 @ 0 "" 2 866 .LVL59: 867 .loc 2 1124 4 discriminator 1 view .LVU288 868 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU289 869 .thumb 870 .syntax unified ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 106 871 .LBE458: 872 .LBE457: 1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 873 .loc 1 1278 5 discriminator 1 view .LVU290 874 003a 0029 cmp r1, #0 875 003c F6D1 bne .L33 876 .LBE454: 1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 877 .loc 1 1280 12 view .LVU291 878 003e 0020 movs r0, #0 879 .LVL60: 880 .LBB459: 1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 881 .loc 1 1280 12 view .LVU292 882 0040 7047 bx lr 883 .LVL61: 884 .L37: 1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 885 .loc 1 1280 12 view .LVU293 886 .LBE459: 1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 887 .loc 1 1268 71 discriminator 1 view .LVU294 888 0042 0369 ldr r3, [r0, #16] 1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 889 .loc 1 1268 56 discriminator 1 view .LVU295 890 0044 002B cmp r3, #0 891 0046 EFD1 bne .L31 1270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 892 .loc 1 1270 7 is_stmt 1 view .LVU296 1270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 893 .loc 1 1270 20 is_stmt 0 view .LVU297 894 0048 054B ldr r3, .L38+4 895 004a C366 str r3, [r0, #108] 896 004c EEE7 b .L33 897 .L34: 1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 898 .loc 1 1284 12 view .LVU298 899 004e 0220 movs r0, #2 900 .LVL62: 1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 901 .loc 1 1284 12 view .LVU299 902 0050 7047 bx lr 903 .LVL63: 904 .L35: 1256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 905 .loc 1 1256 14 view .LVU300 906 0052 0120 movs r0, #1 907 .LVL64: 1256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 908 .loc 1 1256 14 view .LVU301 909 0054 7047 bx lr 910 .LVL65: 911 .L36: 1256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 912 .loc 1 1256 14 view .LVU302 913 0056 0120 movs r0, #1 914 .LVL66: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 107 1286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 915 .loc 1 1286 1 view .LVU303 916 0058 7047 bx lr 917 .L39: 918 005a 00BF .align 2 919 .L38: 920 005c 00000000 .word UART_TxISR_8BIT 921 0060 00000000 .word UART_TxISR_16BIT 922 .cfi_endproc 923 .LFE139: 925 .section .text.HAL_UART_Transmit_DMA,"ax",%progbits 926 .align 1 927 .global HAL_UART_Transmit_DMA 928 .syntax unified 929 .thumb 930 .thumb_func 932 HAL_UART_Transmit_DMA: 933 .LVL67: 934 .LFB141: 1337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 935 .loc 1 1337 1 is_stmt 1 view -0 936 .cfi_startproc 937 @ args = 0, pretend = 0, frame = 0 938 @ frame_needed = 0, uses_anonymous_args = 0 1337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 939 .loc 1 1337 1 is_stmt 0 view .LVU305 940 0000 1346 mov r3, r2 1339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 941 .loc 1 1339 3 is_stmt 1 view .LVU306 1339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 942 .loc 1 1339 12 is_stmt 0 view .LVU307 943 0002 C26F ldr r2, [r0, #124] 944 .LVL68: 1339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 945 .loc 1 1339 6 view .LVU308 946 0004 202A cmp r2, #32 947 0006 3BD1 bne .L44 1337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 948 .loc 1 1337 1 view .LVU309 949 0008 10B5 push {r4, lr} 950 .cfi_def_cfa_offset 8 951 .cfi_offset 4, -8 952 .cfi_offset 14, -4 953 000a 0446 mov r4, r0 1341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 954 .loc 1 1341 5 is_stmt 1 view .LVU310 1341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 955 .loc 1 1341 8 is_stmt 0 view .LVU311 956 000c 0029 cmp r1, #0 957 000e 39D0 beq .L45 1341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 958 .loc 1 1341 25 discriminator 1 view .LVU312 959 0010 002B cmp r3, #0 960 0012 39D0 beq .L46 1346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferSize = Size; 961 .loc 1 1346 5 is_stmt 1 view .LVU313 1346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferSize = Size; ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 108 962 .loc 1 1346 24 is_stmt 0 view .LVU314 963 0014 C164 str r1, [r0, #76] 1347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = Size; 964 .loc 1 1347 5 is_stmt 1 view .LVU315 1347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = Size; 965 .loc 1 1347 24 is_stmt 0 view .LVU316 966 0016 A0F85030 strh r3, [r0, #80] @ movhi 1348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 967 .loc 1 1348 5 is_stmt 1 view .LVU317 1348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 968 .loc 1 1348 24 is_stmt 0 view .LVU318 969 001a A0F85230 strh r3, [r0, #82] @ movhi 1350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 970 .loc 1 1350 5 is_stmt 1 view .LVU319 1350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 971 .loc 1 1350 22 is_stmt 0 view .LVU320 972 001e 0022 movs r2, #0 973 0020 C0F88420 str r2, [r0, #132] 1351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 974 .loc 1 1351 5 is_stmt 1 view .LVU321 1351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 975 .loc 1 1351 19 is_stmt 0 view .LVU322 976 0024 2122 movs r2, #33 977 0026 C267 str r2, [r0, #124] 1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 978 .loc 1 1353 5 is_stmt 1 view .LVU323 1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 979 .loc 1 1353 14 is_stmt 0 view .LVU324 980 0028 026F ldr r2, [r0, #112] 1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 981 .loc 1 1353 8 view .LVU325 982 002a C2B1 cbz r2, .L42 1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 983 .loc 1 1356 7 is_stmt 1 view .LVU326 1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 984 .loc 1 1356 39 is_stmt 0 view .LVU327 985 002c 1749 ldr r1, .L51 986 .LVL69: 1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 987 .loc 1 1356 39 view .LVU328 988 002e 9162 str r1, [r2, #40] 989 .LVL70: 1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 990 .loc 1 1359 7 is_stmt 1 view .LVU329 1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 991 .loc 1 1359 12 is_stmt 0 view .LVU330 992 0030 026F ldr r2, [r0, #112] 1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 993 .loc 1 1359 43 view .LVU331 994 0032 1749 ldr r1, .L51+4 995 0034 D162 str r1, [r2, #44] 1362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 996 .loc 1 1362 7 is_stmt 1 view .LVU332 1362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 997 .loc 1 1362 12 is_stmt 0 view .LVU333 998 0036 026F ldr r2, [r0, #112] 1362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 109 999 .loc 1 1362 40 view .LVU334 1000 0038 1649 ldr r1, .L51+8 1001 003a 1163 str r1, [r2, #48] 1365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1002 .loc 1 1365 7 is_stmt 1 view .LVU335 1365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1003 .loc 1 1365 12 is_stmt 0 view .LVU336 1004 003c 026F ldr r2, [r0, #112] 1365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1005 .loc 1 1365 40 view .LVU337 1006 003e 0021 movs r1, #0 1007 0040 5163 str r1, [r2, #52] 1368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1008 .loc 1 1368 7 is_stmt 1 view .LVU338 1368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1009 .loc 1 1368 88 is_stmt 0 view .LVU339 1010 0042 0268 ldr r2, [r0] 1368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1011 .loc 1 1368 11 view .LVU340 1012 0044 2832 adds r2, r2, #40 1013 0046 C16C ldr r1, [r0, #76] 1014 0048 006F ldr r0, [r0, #112] 1015 .LVL71: 1368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1016 .loc 1 1368 11 view .LVU341 1017 004a FFF7FEFF bl HAL_DMA_Start_IT 1018 .LVL72: 1368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1019 .loc 1 1368 10 view .LVU342 1020 004e 30B1 cbz r0, .L42 1371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1021 .loc 1 1371 9 is_stmt 1 view .LVU343 1371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1022 .loc 1 1371 26 is_stmt 0 view .LVU344 1023 0050 1023 movs r3, #16 1024 0052 C4F88430 str r3, [r4, #132] 1374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1025 .loc 1 1374 9 is_stmt 1 view .LVU345 1374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1026 .loc 1 1374 23 is_stmt 0 view .LVU346 1027 0056 2023 movs r3, #32 1028 0058 E367 str r3, [r4, #124] 1376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1029 .loc 1 1376 9 is_stmt 1 view .LVU347 1376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1030 .loc 1 1376 16 is_stmt 0 view .LVU348 1031 005a 0120 movs r0, #1 1032 005c 0FE0 b .L41 1033 .L42: 1380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1034 .loc 1 1380 5 is_stmt 1 view .LVU349 1035 005e 2368 ldr r3, [r4] 1036 0060 4022 movs r2, #64 1037 0062 1A62 str r2, [r3, #32] 1038 .L43: 1384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1039 .loc 1 1384 5 discriminator 1 view .LVU350 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 110 1040 .LBB460: 1384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1041 .loc 1 1384 5 discriminator 1 view .LVU351 1384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1042 .loc 1 1384 5 discriminator 1 view .LVU352 1384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1043 .loc 1 1384 5 discriminator 1 view .LVU353 1044 0064 2268 ldr r2, [r4] 1045 .LVL73: 1046 .LBB461: 1047 .LBI461: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1048 .loc 2 1068 31 discriminator 1 view .LVU354 1049 .LBB462: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1050 .loc 2 1070 5 discriminator 1 view .LVU355 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1051 .loc 2 1072 4 discriminator 1 view .LVU356 1052 0066 02F10803 add r3, r2, #8 1053 .LVL74: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1054 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU357 1055 .syntax unified 1056 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1057 006a 53E8003F ldrex r3, [r3] 1058 @ 0 "" 2 1059 .LVL75: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1060 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU358 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1061 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU359 1062 .thumb 1063 .syntax unified 1064 .LBE462: 1065 .LBE461: 1384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1066 .loc 1 1384 5 discriminator 1 view .LVU360 1067 006e 43F08003 orr r3, r3, #128 1068 .LVL76: 1384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1069 .loc 1 1384 5 is_stmt 1 discriminator 1 view .LVU361 1070 .LBB463: 1071 .LBI463: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1072 .loc 2 1119 31 discriminator 1 view .LVU362 1073 .LBB464: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1074 .loc 2 1121 4 discriminator 1 view .LVU363 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1075 .loc 2 1123 4 discriminator 1 view .LVU364 1076 0072 0832 adds r2, r2, #8 1077 .LVL77: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1078 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU365 1079 .syntax unified 1080 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1081 0074 42E80031 strex r1, r3, [r2] ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 111 1082 @ 0 "" 2 1083 .LVL78: 1084 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU366 1085 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU367 1086 .thumb 1087 .syntax unified 1088 .LBE464: 1089 .LBE463: 1384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1090 .loc 1 1384 5 discriminator 1 view .LVU368 1091 0078 0029 cmp r1, #0 1092 007a F3D1 bne .L43 1093 .LBE460: 1386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1094 .loc 1 1386 12 view .LVU369 1095 007c 0020 movs r0, #0 1096 .LVL79: 1097 .L41: 1392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1098 .loc 1 1392 1 view .LVU370 1099 007e 10BD pop {r4, pc} 1100 .LVL80: 1101 .L44: 1102 .cfi_def_cfa_offset 0 1103 .cfi_restore 4 1104 .cfi_restore 14 1390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1105 .loc 1 1390 12 view .LVU371 1106 0080 0220 movs r0, #2 1107 .LVL81: 1392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1108 .loc 1 1392 1 view .LVU372 1109 0082 7047 bx lr 1110 .LVL82: 1111 .L45: 1112 .cfi_def_cfa_offset 8 1113 .cfi_offset 4, -8 1114 .cfi_offset 14, -4 1343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1115 .loc 1 1343 14 view .LVU373 1116 0084 0120 movs r0, #1 1117 .LVL83: 1343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1118 .loc 1 1343 14 view .LVU374 1119 0086 FAE7 b .L41 1120 .LVL84: 1121 .L46: 1343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1122 .loc 1 1343 14 view .LVU375 1123 0088 0120 movs r0, #1 1124 .LVL85: 1343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1125 .loc 1 1343 14 view .LVU376 1126 008a F8E7 b .L41 1127 .L52: 1128 .align 2 1129 .L51: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 112 1130 008c 00000000 .word UART_DMATransmitCplt 1131 0090 00000000 .word UART_DMATxHalfCplt 1132 0094 00000000 .word UART_DMAError 1133 .cfi_endproc 1134 .LFE141: 1136 .section .text.HAL_UART_DMAPause,"ax",%progbits 1137 .align 1 1138 .global HAL_UART_DMAPause 1139 .syntax unified 1140 .thumb 1141 .thumb_func 1143 HAL_UART_DMAPause: 1144 .LVL86: 1145 .LFB143: 1440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; 1146 .loc 1 1440 1 is_stmt 1 view -0 1147 .cfi_startproc 1148 @ args = 0, pretend = 0, frame = 0 1149 @ frame_needed = 0, uses_anonymous_args = 0 1150 @ link register save eliminated. 1440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; 1151 .loc 1 1440 1 is_stmt 0 view .LVU378 1152 0000 10B4 push {r4} 1153 .cfi_def_cfa_offset 4 1154 .cfi_offset 4, -4 1441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1155 .loc 1 1441 3 is_stmt 1 view .LVU379 1441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1156 .loc 1 1441 31 is_stmt 0 view .LVU380 1157 0002 C26F ldr r2, [r0, #124] 1158 .LVL87: 1442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1159 .loc 1 1442 3 is_stmt 1 view .LVU381 1442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1160 .loc 1 1442 31 is_stmt 0 view .LVU382 1161 0004 D0F88040 ldr r4, [r0, #128] 1162 .LVL88: 1444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1163 .loc 1 1444 3 is_stmt 1 view .LVU383 1444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1164 .loc 1 1444 8 is_stmt 0 view .LVU384 1165 0008 0368 ldr r3, [r0] 1166 000a 9B68 ldr r3, [r3, #8] 1444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1167 .loc 1 1444 6 view .LVU385 1168 000c 13F0800F tst r3, #128 1169 0010 01D0 beq .L54 1444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1170 .loc 1 1444 62 discriminator 1 view .LVU386 1171 0012 212A cmp r2, #33 1172 0014 0AD0 beq .L55 1173 .LVL89: 1174 .L54: 1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1175 .loc 1 1448 5 is_stmt 1 discriminator 2 view .LVU387 1450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1176 .loc 1 1450 3 discriminator 2 view .LVU388 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 113 1450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1177 .loc 1 1450 8 is_stmt 0 discriminator 2 view .LVU389 1178 0016 0368 ldr r3, [r0] 1179 0018 9B68 ldr r3, [r3, #8] 1450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1180 .loc 1 1450 6 discriminator 2 view .LVU390 1181 001a 13F0400F tst r3, #64 1182 001e 01D0 beq .L56 1450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1183 .loc 1 1450 62 discriminator 1 view .LVU391 1184 0020 222C cmp r4, #34 1185 0022 10D0 beq .L57 1186 .L56: 1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1187 .loc 1 1458 5 is_stmt 1 discriminator 2 view .LVU392 1461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1188 .loc 1 1461 3 discriminator 2 view .LVU393 1462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1189 .loc 1 1462 1 is_stmt 0 discriminator 2 view .LVU394 1190 0024 0020 movs r0, #0 1191 .LVL90: 1462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1192 .loc 1 1462 1 discriminator 2 view .LVU395 1193 0026 5DF8044B ldr r4, [sp], #4 1194 .cfi_remember_state 1195 .cfi_restore 4 1196 .cfi_def_cfa_offset 0 1197 .LVL91: 1462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1198 .loc 1 1462 1 discriminator 2 view .LVU396 1199 002a 7047 bx lr 1200 .LVL92: 1201 .L55: 1202 .cfi_restore_state 1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1203 .loc 1 1448 5 is_stmt 1 discriminator 1 view .LVU397 1204 .LBB465: 1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1205 .loc 1 1448 5 discriminator 1 view .LVU398 1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1206 .loc 1 1448 5 discriminator 1 view .LVU399 1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1207 .loc 1 1448 5 discriminator 1 view .LVU400 1208 002c 0268 ldr r2, [r0] 1209 .LVL93: 1210 .LBB466: 1211 .LBI466: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1212 .loc 2 1068 31 discriminator 1 view .LVU401 1213 .LBB467: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1214 .loc 2 1070 5 discriminator 1 view .LVU402 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1215 .loc 2 1072 4 discriminator 1 view .LVU403 1216 002e 02F10803 add r3, r2, #8 1217 .LVL94: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 114 1218 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU404 1219 .syntax unified 1220 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1221 0032 53E8003F ldrex r3, [r3] 1222 @ 0 "" 2 1223 .LVL95: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1224 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU405 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1225 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU406 1226 .thumb 1227 .syntax unified 1228 .LBE467: 1229 .LBE466: 1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1230 .loc 1 1448 5 discriminator 1 view .LVU407 1231 0036 23F08003 bic r3, r3, #128 1232 .LVL96: 1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1233 .loc 1 1448 5 is_stmt 1 discriminator 1 view .LVU408 1234 .LBB468: 1235 .LBI468: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1236 .loc 2 1119 31 discriminator 1 view .LVU409 1237 .LBB469: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1238 .loc 2 1121 4 discriminator 1 view .LVU410 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1239 .loc 2 1123 4 discriminator 1 view .LVU411 1240 003a 0832 adds r2, r2, #8 1241 .LVL97: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1242 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU412 1243 .syntax unified 1244 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1245 003c 42E80031 strex r1, r3, [r2] 1246 @ 0 "" 2 1247 .LVL98: 1248 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU413 1249 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU414 1250 .thumb 1251 .syntax unified 1252 .LBE469: 1253 .LBE468: 1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1254 .loc 1 1448 5 discriminator 1 view .LVU415 1255 0040 0029 cmp r1, #0 1256 0042 F3D1 bne .L55 1257 0044 E7E7 b .L54 1258 .LVL99: 1259 .L57: 1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1260 .loc 1 1448 5 discriminator 1 view .LVU416 1261 .LBE465: 1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1262 .loc 1 1454 5 is_stmt 1 discriminator 1 view .LVU417 1263 .LBB470: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 115 1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1264 .loc 1 1454 5 discriminator 1 view .LVU418 1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1265 .loc 1 1454 5 discriminator 1 view .LVU419 1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1266 .loc 1 1454 5 discriminator 1 view .LVU420 1267 0046 0268 ldr r2, [r0] 1268 .LVL100: 1269 .LBB471: 1270 .LBI471: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1271 .loc 2 1068 31 discriminator 1 view .LVU421 1272 .LBB472: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1273 .loc 2 1070 5 discriminator 1 view .LVU422 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1274 .loc 2 1072 4 discriminator 1 view .LVU423 1275 .syntax unified 1276 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1277 0048 52E8003F ldrex r3, [r2] 1278 @ 0 "" 2 1279 .LVL101: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1280 .loc 2 1073 4 discriminator 1 view .LVU424 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1281 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU425 1282 .thumb 1283 .syntax unified 1284 .LBE472: 1285 .LBE471: 1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1286 .loc 1 1454 5 discriminator 1 view .LVU426 1287 004c 23F48073 bic r3, r3, #256 1288 .LVL102: 1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1289 .loc 1 1454 5 is_stmt 1 discriminator 1 view .LVU427 1290 .LBB473: 1291 .LBI473: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1292 .loc 2 1119 31 discriminator 1 view .LVU428 1293 .LBB474: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1294 .loc 2 1121 4 discriminator 1 view .LVU429 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1295 .loc 2 1123 4 discriminator 1 view .LVU430 1296 .syntax unified 1297 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1298 0050 42E80031 strex r1, r3, [r2] 1299 @ 0 "" 2 1300 .LVL103: 1301 .loc 2 1124 4 discriminator 1 view .LVU431 1302 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU432 1303 .thumb 1304 .syntax unified 1305 .LBE474: 1306 .LBE473: 1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 116 1307 .loc 1 1454 5 discriminator 1 view .LVU433 1308 0054 0029 cmp r1, #0 1309 0056 F6D1 bne .L57 1310 .LVL104: 1311 .L58: 1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1312 .loc 1 1454 5 discriminator 1 view .LVU434 1313 .LBE470: 1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1314 .loc 1 1454 5 is_stmt 1 discriminator 1 view .LVU435 1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1315 .loc 1 1455 5 discriminator 1 view .LVU436 1316 .LBB475: 1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1317 .loc 1 1455 5 discriminator 1 view .LVU437 1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1318 .loc 1 1455 5 discriminator 1 view .LVU438 1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1319 .loc 1 1455 5 discriminator 1 view .LVU439 1320 0058 0268 ldr r2, [r0] 1321 .LVL105: 1322 .LBB476: 1323 .LBI476: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1324 .loc 2 1068 31 discriminator 1 view .LVU440 1325 .LBB477: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1326 .loc 2 1070 5 discriminator 1 view .LVU441 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1327 .loc 2 1072 4 discriminator 1 view .LVU442 1328 005a 02F10803 add r3, r2, #8 1329 .LVL106: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1330 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU443 1331 .syntax unified 1332 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1333 005e 53E8003F ldrex r3, [r3] 1334 @ 0 "" 2 1335 .LVL107: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1336 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU444 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1337 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU445 1338 .thumb 1339 .syntax unified 1340 .LBE477: 1341 .LBE476: 1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1342 .loc 1 1455 5 discriminator 1 view .LVU446 1343 0062 23F00103 bic r3, r3, #1 1344 .LVL108: 1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1345 .loc 1 1455 5 is_stmt 1 discriminator 1 view .LVU447 1346 .LBB478: 1347 .LBI478: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1348 .loc 2 1119 31 discriminator 1 view .LVU448 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 117 1349 .LBB479: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1350 .loc 2 1121 4 discriminator 1 view .LVU449 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1351 .loc 2 1123 4 discriminator 1 view .LVU450 1352 0066 0832 adds r2, r2, #8 1353 .LVL109: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1354 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU451 1355 .syntax unified 1356 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1357 0068 42E80031 strex r1, r3, [r2] 1358 @ 0 "" 2 1359 .LVL110: 1360 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU452 1361 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU453 1362 .thumb 1363 .syntax unified 1364 .LBE479: 1365 .LBE478: 1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1366 .loc 1 1455 5 discriminator 1 view .LVU454 1367 006c 0029 cmp r1, #0 1368 006e F3D1 bne .L58 1369 .LVL111: 1370 .L59: 1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1371 .loc 1 1455 5 discriminator 1 view .LVU455 1372 .LBE475: 1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1373 .loc 1 1455 5 is_stmt 1 discriminator 1 view .LVU456 1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1374 .loc 1 1458 5 discriminator 1 view .LVU457 1375 .LBB480: 1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1376 .loc 1 1458 5 discriminator 1 view .LVU458 1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1377 .loc 1 1458 5 discriminator 1 view .LVU459 1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1378 .loc 1 1458 5 discriminator 1 view .LVU460 1379 0070 0268 ldr r2, [r0] 1380 .LVL112: 1381 .LBB481: 1382 .LBI481: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1383 .loc 2 1068 31 discriminator 1 view .LVU461 1384 .LBB482: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1385 .loc 2 1070 5 discriminator 1 view .LVU462 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1386 .loc 2 1072 4 discriminator 1 view .LVU463 1387 0072 02F10803 add r3, r2, #8 1388 .LVL113: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1389 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU464 1390 .syntax unified 1391 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 118 1392 0076 53E8003F ldrex r3, [r3] 1393 @ 0 "" 2 1394 .LVL114: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1395 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU465 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1396 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU466 1397 .thumb 1398 .syntax unified 1399 .LBE482: 1400 .LBE481: 1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1401 .loc 1 1458 5 discriminator 1 view .LVU467 1402 007a 23F04003 bic r3, r3, #64 1403 .LVL115: 1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1404 .loc 1 1458 5 is_stmt 1 discriminator 1 view .LVU468 1405 .LBB483: 1406 .LBI483: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1407 .loc 2 1119 31 discriminator 1 view .LVU469 1408 .LBB484: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1409 .loc 2 1121 4 discriminator 1 view .LVU470 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1410 .loc 2 1123 4 discriminator 1 view .LVU471 1411 007e 0832 adds r2, r2, #8 1412 .LVL116: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1413 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU472 1414 .syntax unified 1415 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1416 0080 42E80031 strex r1, r3, [r2] 1417 @ 0 "" 2 1418 .LVL117: 1419 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU473 1420 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU474 1421 .thumb 1422 .syntax unified 1423 .LBE484: 1424 .LBE483: 1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1425 .loc 1 1458 5 discriminator 1 view .LVU475 1426 0084 0029 cmp r1, #0 1427 0086 F3D1 bne .L59 1428 0088 CCE7 b .L56 1429 .LBE480: 1430 .cfi_endproc 1431 .LFE143: 1433 .section .text.HAL_UART_DMAResume,"ax",%progbits 1434 .align 1 1435 .global HAL_UART_DMAResume 1436 .syntax unified 1437 .thumb 1438 .thumb_func 1440 HAL_UART_DMAResume: 1441 .LVL118: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 119 1442 .LFB144: 1470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) 1443 .loc 1 1470 1 is_stmt 1 view -0 1444 .cfi_startproc 1445 @ args = 0, pretend = 0, frame = 0 1446 @ frame_needed = 0, uses_anonymous_args = 0 1447 @ link register save eliminated. 1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1448 .loc 1 1471 3 view .LVU477 1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1449 .loc 1 1471 12 is_stmt 0 view .LVU478 1450 0000 C36F ldr r3, [r0, #124] 1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1451 .loc 1 1471 6 view .LVU479 1452 0002 212B cmp r3, #33 1453 0004 05D0 beq .L63 1454 .L62: 1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1455 .loc 1 1474 5 is_stmt 1 discriminator 2 view .LVU480 1476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1456 .loc 1 1476 3 discriminator 2 view .LVU481 1476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1457 .loc 1 1476 12 is_stmt 0 discriminator 2 view .LVU482 1458 0006 D0F88030 ldr r3, [r0, #128] 1476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1459 .loc 1 1476 6 discriminator 2 view .LVU483 1460 000a 222B cmp r3, #34 1461 000c 0ED0 beq .L69 1462 .L64: 1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1463 .loc 1 1489 5 is_stmt 1 discriminator 2 view .LVU484 1492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1464 .loc 1 1492 3 discriminator 2 view .LVU485 1493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1465 .loc 1 1493 1 is_stmt 0 discriminator 2 view .LVU486 1466 000e 0020 movs r0, #0 1467 .LVL119: 1493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1468 .loc 1 1493 1 discriminator 2 view .LVU487 1469 0010 7047 bx lr 1470 .LVL120: 1471 .L63: 1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1472 .loc 1 1474 5 is_stmt 1 discriminator 1 view .LVU488 1473 .LBB485: 1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1474 .loc 1 1474 5 discriminator 1 view .LVU489 1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1475 .loc 1 1474 5 discriminator 1 view .LVU490 1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1476 .loc 1 1474 5 discriminator 1 view .LVU491 1477 0012 0268 ldr r2, [r0] 1478 .LVL121: 1479 .LBB486: 1480 .LBI486: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1481 .loc 2 1068 31 discriminator 1 view .LVU492 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 120 1482 .LBB487: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1483 .loc 2 1070 5 discriminator 1 view .LVU493 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1484 .loc 2 1072 4 discriminator 1 view .LVU494 1485 0014 02F10803 add r3, r2, #8 1486 .LVL122: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1487 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU495 1488 .syntax unified 1489 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1490 0018 53E8003F ldrex r3, [r3] 1491 @ 0 "" 2 1492 .LVL123: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1493 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU496 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1494 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU497 1495 .thumb 1496 .syntax unified 1497 .LBE487: 1498 .LBE486: 1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1499 .loc 1 1474 5 discriminator 1 view .LVU498 1500 001c 43F08003 orr r3, r3, #128 1501 .LVL124: 1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1502 .loc 1 1474 5 is_stmt 1 discriminator 1 view .LVU499 1503 .LBB488: 1504 .LBI488: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1505 .loc 2 1119 31 discriminator 1 view .LVU500 1506 .LBB489: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1507 .loc 2 1121 4 discriminator 1 view .LVU501 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1508 .loc 2 1123 4 discriminator 1 view .LVU502 1509 0020 0832 adds r2, r2, #8 1510 .LVL125: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1511 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU503 1512 .syntax unified 1513 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1514 0022 42E80031 strex r1, r3, [r2] 1515 @ 0 "" 2 1516 .LVL126: 1517 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU504 1518 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU505 1519 .thumb 1520 .syntax unified 1521 .LBE489: 1522 .LBE488: 1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1523 .loc 1 1474 5 discriminator 1 view .LVU506 1524 0026 0029 cmp r1, #0 1525 0028 F3D1 bne .L63 1526 002a ECE7 b .L62 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 121 1527 .LVL127: 1528 .L69: 1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1529 .loc 1 1474 5 discriminator 1 view .LVU507 1530 .LBE485: 1479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1531 .loc 1 1479 5 is_stmt 1 view .LVU508 1532 002c 0368 ldr r3, [r0] 1533 002e 0822 movs r2, #8 1534 0030 1A62 str r2, [r3, #32] 1482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1535 .loc 1 1482 5 view .LVU509 1482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1536 .loc 1 1482 20 is_stmt 0 view .LVU510 1537 0032 0369 ldr r3, [r0, #16] 1482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1538 .loc 1 1482 8 view .LVU511 1539 0034 43B1 cbz r3, .L67 1540 .L66: 1484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1541 .loc 1 1484 7 is_stmt 1 discriminator 1 view .LVU512 1542 .LBB490: 1484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1543 .loc 1 1484 7 discriminator 1 view .LVU513 1484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1544 .loc 1 1484 7 discriminator 1 view .LVU514 1484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1545 .loc 1 1484 7 discriminator 1 view .LVU515 1546 0036 0268 ldr r2, [r0] 1547 .LVL128: 1548 .LBB491: 1549 .LBI491: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1550 .loc 2 1068 31 discriminator 1 view .LVU516 1551 .LBB492: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1552 .loc 2 1070 5 discriminator 1 view .LVU517 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1553 .loc 2 1072 4 discriminator 1 view .LVU518 1554 .syntax unified 1555 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1556 0038 52E8003F ldrex r3, [r2] 1557 @ 0 "" 2 1558 .LVL129: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1559 .loc 2 1073 4 discriminator 1 view .LVU519 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1560 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU520 1561 .thumb 1562 .syntax unified 1563 .LBE492: 1564 .LBE491: 1484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1565 .loc 1 1484 7 discriminator 1 view .LVU521 1566 003c 43F48073 orr r3, r3, #256 1567 .LVL130: 1484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 122 1568 .loc 1 1484 7 is_stmt 1 discriminator 1 view .LVU522 1569 .LBB493: 1570 .LBI493: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1571 .loc 2 1119 31 discriminator 1 view .LVU523 1572 .LBB494: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1573 .loc 2 1121 4 discriminator 1 view .LVU524 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1574 .loc 2 1123 4 discriminator 1 view .LVU525 1575 .syntax unified 1576 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1577 0040 42E80031 strex r1, r3, [r2] 1578 @ 0 "" 2 1579 .LVL131: 1580 .loc 2 1124 4 discriminator 1 view .LVU526 1581 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU527 1582 .thumb 1583 .syntax unified 1584 .LBE494: 1585 .LBE493: 1484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1586 .loc 1 1484 7 discriminator 1 view .LVU528 1587 0044 0029 cmp r1, #0 1588 0046 F6D1 bne .L66 1589 .LVL132: 1590 .L67: 1484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1591 .loc 1 1484 7 discriminator 1 view .LVU529 1592 .LBE490: 1484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1593 .loc 1 1484 7 is_stmt 1 discriminator 1 view .LVU530 1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1594 .loc 1 1486 5 discriminator 1 view .LVU531 1595 .LBB495: 1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1596 .loc 1 1486 5 discriminator 1 view .LVU532 1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1597 .loc 1 1486 5 discriminator 1 view .LVU533 1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1598 .loc 1 1486 5 discriminator 1 view .LVU534 1599 0048 0268 ldr r2, [r0] 1600 .LVL133: 1601 .LBB496: 1602 .LBI496: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1603 .loc 2 1068 31 discriminator 1 view .LVU535 1604 .LBB497: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1605 .loc 2 1070 5 discriminator 1 view .LVU536 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1606 .loc 2 1072 4 discriminator 1 view .LVU537 1607 004a 02F10803 add r3, r2, #8 1608 .LVL134: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1609 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU538 1610 .syntax unified ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 123 1611 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1612 004e 53E8003F ldrex r3, [r3] 1613 @ 0 "" 2 1614 .LVL135: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1615 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU539 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1616 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU540 1617 .thumb 1618 .syntax unified 1619 .LBE497: 1620 .LBE496: 1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1621 .loc 1 1486 5 discriminator 1 view .LVU541 1622 0052 43F00103 orr r3, r3, #1 1623 .LVL136: 1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1624 .loc 1 1486 5 is_stmt 1 discriminator 1 view .LVU542 1625 .LBB498: 1626 .LBI498: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1627 .loc 2 1119 31 discriminator 1 view .LVU543 1628 .LBB499: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1629 .loc 2 1121 4 discriminator 1 view .LVU544 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1630 .loc 2 1123 4 discriminator 1 view .LVU545 1631 0056 0832 adds r2, r2, #8 1632 .LVL137: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1633 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU546 1634 .syntax unified 1635 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1636 0058 42E80031 strex r1, r3, [r2] 1637 @ 0 "" 2 1638 .LVL138: 1639 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU547 1640 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU548 1641 .thumb 1642 .syntax unified 1643 .LBE499: 1644 .LBE498: 1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1645 .loc 1 1486 5 discriminator 1 view .LVU549 1646 005c 0029 cmp r1, #0 1647 005e F3D1 bne .L67 1648 .LVL139: 1649 .L68: 1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1650 .loc 1 1486 5 discriminator 1 view .LVU550 1651 .LBE495: 1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1652 .loc 1 1486 5 is_stmt 1 discriminator 1 view .LVU551 1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1653 .loc 1 1489 5 discriminator 1 view .LVU552 1654 .LBB500: 1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 124 1655 .loc 1 1489 5 discriminator 1 view .LVU553 1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1656 .loc 1 1489 5 discriminator 1 view .LVU554 1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1657 .loc 1 1489 5 discriminator 1 view .LVU555 1658 0060 0268 ldr r2, [r0] 1659 .LVL140: 1660 .LBB501: 1661 .LBI501: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1662 .loc 2 1068 31 discriminator 1 view .LVU556 1663 .LBB502: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1664 .loc 2 1070 5 discriminator 1 view .LVU557 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1665 .loc 2 1072 4 discriminator 1 view .LVU558 1666 0062 02F10803 add r3, r2, #8 1667 .LVL141: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1668 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU559 1669 .syntax unified 1670 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1671 0066 53E8003F ldrex r3, [r3] 1672 @ 0 "" 2 1673 .LVL142: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1674 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU560 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1675 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU561 1676 .thumb 1677 .syntax unified 1678 .LBE502: 1679 .LBE501: 1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1680 .loc 1 1489 5 discriminator 1 view .LVU562 1681 006a 43F04003 orr r3, r3, #64 1682 .LVL143: 1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1683 .loc 1 1489 5 is_stmt 1 discriminator 1 view .LVU563 1684 .LBB503: 1685 .LBI503: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1686 .loc 2 1119 31 discriminator 1 view .LVU564 1687 .LBB504: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1688 .loc 2 1121 4 discriminator 1 view .LVU565 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1689 .loc 2 1123 4 discriminator 1 view .LVU566 1690 006e 0832 adds r2, r2, #8 1691 .LVL144: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1692 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU567 1693 .syntax unified 1694 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1695 0070 42E80031 strex r1, r3, [r2] 1696 @ 0 "" 2 1697 .LVL145: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 125 1698 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU568 1699 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU569 1700 .thumb 1701 .syntax unified 1702 .LBE504: 1703 .LBE503: 1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1704 .loc 1 1489 5 discriminator 1 view .LVU570 1705 0074 0029 cmp r1, #0 1706 0076 F3D1 bne .L68 1707 0078 C9E7 b .L64 1708 .LBE500: 1709 .cfi_endproc 1710 .LFE144: 1712 .section .text.HAL_UART_DMAStop,"ax",%progbits 1713 .align 1 1714 .global HAL_UART_DMAStop 1715 .syntax unified 1716 .thumb 1717 .thumb_func 1719 HAL_UART_DMAStop: 1720 .LVL146: 1721 .LFB145: 1501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application 1722 .loc 1 1501 1 is_stmt 1 view -0 1723 .cfi_startproc 1724 @ args = 0, pretend = 0, frame = 0 1725 @ frame_needed = 0, uses_anonymous_args = 0 1501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application 1726 .loc 1 1501 1 is_stmt 0 view .LVU572 1727 0000 38B5 push {r3, r4, r5, lr} 1728 .cfi_def_cfa_offset 16 1729 .cfi_offset 3, -16 1730 .cfi_offset 4, -12 1731 .cfi_offset 5, -8 1732 .cfi_offset 14, -4 1733 0002 0446 mov r4, r0 1509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1734 .loc 1 1509 3 is_stmt 1 view .LVU573 1509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1735 .loc 1 1509 31 is_stmt 0 view .LVU574 1736 0004 C26F ldr r2, [r0, #124] 1737 .LVL147: 1510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1738 .loc 1 1510 3 is_stmt 1 view .LVU575 1510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1739 .loc 1 1510 31 is_stmt 0 view .LVU576 1740 0006 D0F88050 ldr r5, [r0, #128] 1741 .LVL148: 1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1742 .loc 1 1513 3 is_stmt 1 view .LVU577 1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1743 .loc 1 1513 8 is_stmt 0 view .LVU578 1744 000a 0368 ldr r3, [r0] 1745 000c 9B68 ldr r3, [r3, #8] 1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1746 .loc 1 1513 6 view .LVU579 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 126 1747 000e 13F0800F tst r3, #128 1748 0012 01D0 beq .L71 1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1749 .loc 1 1513 62 discriminator 1 view .LVU580 1750 0014 212A cmp r2, #33 1751 0016 08D0 beq .L72 1752 .LVL149: 1753 .L71: 1537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1754 .loc 1 1537 3 is_stmt 1 view .LVU581 1537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1755 .loc 1 1537 8 is_stmt 0 view .LVU582 1756 0018 2368 ldr r3, [r4] 1757 001a 9B68 ldr r3, [r3, #8] 1537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1758 .loc 1 1537 6 view .LVU583 1759 001c 13F0400F tst r3, #64 1760 0020 42D0 beq .L77 1537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1761 .loc 1 1537 62 discriminator 1 view .LVU584 1762 0022 222D cmp r5, #34 1763 0024 20D0 beq .L75 1560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1764 .loc 1 1560 10 view .LVU585 1765 0026 0020 movs r0, #0 1766 0028 3FE0 b .L74 1767 .LVL150: 1768 .L72: 1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1769 .loc 1 1516 5 is_stmt 1 discriminator 1 view .LVU586 1770 .LBB505: 1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1771 .loc 1 1516 5 discriminator 1 view .LVU587 1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1772 .loc 1 1516 5 discriminator 1 view .LVU588 1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1773 .loc 1 1516 5 discriminator 1 view .LVU589 1774 002a 2268 ldr r2, [r4] 1775 .LVL151: 1776 .LBB506: 1777 .LBI506: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1778 .loc 2 1068 31 discriminator 1 view .LVU590 1779 .LBB507: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1780 .loc 2 1070 5 discriminator 1 view .LVU591 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1781 .loc 2 1072 4 discriminator 1 view .LVU592 1782 002c 02F10803 add r3, r2, #8 1783 .LVL152: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1784 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU593 1785 .syntax unified 1786 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1787 0030 53E8003F ldrex r3, [r3] 1788 @ 0 "" 2 1789 .LVL153: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 127 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1790 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU594 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1791 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU595 1792 .thumb 1793 .syntax unified 1794 .LBE507: 1795 .LBE506: 1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1796 .loc 1 1516 5 discriminator 1 view .LVU596 1797 0034 23F08003 bic r3, r3, #128 1798 .LVL154: 1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1799 .loc 1 1516 5 is_stmt 1 discriminator 1 view .LVU597 1800 .LBB508: 1801 .LBI508: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1802 .loc 2 1119 31 discriminator 1 view .LVU598 1803 .LBB509: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1804 .loc 2 1121 4 discriminator 1 view .LVU599 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1805 .loc 2 1123 4 discriminator 1 view .LVU600 1806 0038 0832 adds r2, r2, #8 1807 .LVL155: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1808 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU601 1809 .syntax unified 1810 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1811 003a 42E80031 strex r1, r3, [r2] 1812 @ 0 "" 2 1813 .LVL156: 1814 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU602 1815 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU603 1816 .thumb 1817 .syntax unified 1818 .LBE509: 1819 .LBE508: 1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1820 .loc 1 1516 5 discriminator 1 view .LVU604 1821 003e 0029 cmp r1, #0 1822 0040 F3D1 bne .L72 1823 .LBE505: 1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1824 .loc 1 1516 5 is_stmt 1 discriminator 2 view .LVU605 1519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1825 .loc 1 1519 5 discriminator 2 view .LVU606 1519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1826 .loc 1 1519 14 is_stmt 0 discriminator 2 view .LVU607 1827 0042 206F ldr r0, [r4, #112] 1828 .LVL157: 1519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1829 .loc 1 1519 8 discriminator 2 view .LVU608 1830 0044 10B1 cbz r0, .L73 1521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1831 .loc 1 1521 7 is_stmt 1 view .LVU609 1521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 128 1832 .loc 1 1521 11 is_stmt 0 view .LVU610 1833 0046 FFF7FEFF bl HAL_DMA_Abort 1834 .LVL158: 1521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1835 .loc 1 1521 10 view .LVU611 1836 004a 18B9 cbnz r0, .L80 1837 .L73: 1533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1838 .loc 1 1533 5 is_stmt 1 view .LVU612 1839 004c 2046 mov r0, r4 1840 004e FFF7FEFF bl UART_EndTxTransfer 1841 .LVL159: 1842 0052 E1E7 b .L71 1843 .L80: 1523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1844 .loc 1 1523 9 view .LVU613 1523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1845 .loc 1 1523 13 is_stmt 0 view .LVU614 1846 0054 206F ldr r0, [r4, #112] 1847 0056 FFF7FEFF bl HAL_DMA_GetError 1848 .LVL160: 1523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1849 .loc 1 1523 12 view .LVU615 1850 005a 2028 cmp r0, #32 1851 005c F6D1 bne .L73 1526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1852 .loc 1 1526 11 is_stmt 1 view .LVU616 1526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1853 .loc 1 1526 28 is_stmt 0 view .LVU617 1854 005e 1023 movs r3, #16 1855 0060 C4F88430 str r3, [r4, #132] 1528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1856 .loc 1 1528 11 is_stmt 1 view .LVU618 1528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1857 .loc 1 1528 18 is_stmt 0 view .LVU619 1858 0064 0320 movs r0, #3 1859 0066 20E0 b .L74 1860 .LVL161: 1861 .L75: 1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1862 .loc 1 1540 5 is_stmt 1 discriminator 1 view .LVU620 1863 .LBB510: 1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1864 .loc 1 1540 5 discriminator 1 view .LVU621 1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1865 .loc 1 1540 5 discriminator 1 view .LVU622 1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1866 .loc 1 1540 5 discriminator 1 view .LVU623 1867 0068 2268 ldr r2, [r4] 1868 .LVL162: 1869 .LBB511: 1870 .LBI511: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1871 .loc 2 1068 31 discriminator 1 view .LVU624 1872 .LBB512: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1873 .loc 2 1070 5 discriminator 1 view .LVU625 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 129 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1874 .loc 2 1072 4 discriminator 1 view .LVU626 1875 006a 02F10803 add r3, r2, #8 1876 .LVL163: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1877 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU627 1878 .syntax unified 1879 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1880 006e 53E8003F ldrex r3, [r3] 1881 @ 0 "" 2 1882 .LVL164: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1883 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU628 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1884 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU629 1885 .thumb 1886 .syntax unified 1887 .LBE512: 1888 .LBE511: 1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1889 .loc 1 1540 5 discriminator 1 view .LVU630 1890 0072 23F04003 bic r3, r3, #64 1891 .LVL165: 1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1892 .loc 1 1540 5 is_stmt 1 discriminator 1 view .LVU631 1893 .LBB513: 1894 .LBI513: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1895 .loc 2 1119 31 discriminator 1 view .LVU632 1896 .LBB514: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1897 .loc 2 1121 4 discriminator 1 view .LVU633 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1898 .loc 2 1123 4 discriminator 1 view .LVU634 1899 0076 0832 adds r2, r2, #8 1900 .LVL166: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1901 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU635 1902 .syntax unified 1903 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1904 0078 42E80031 strex r1, r3, [r2] 1905 @ 0 "" 2 1906 .LVL167: 1907 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU636 1908 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU637 1909 .thumb 1910 .syntax unified 1911 .LBE514: 1912 .LBE513: 1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1913 .loc 1 1540 5 discriminator 1 view .LVU638 1914 007c 0029 cmp r1, #0 1915 007e F3D1 bne .L75 1916 .LBE510: 1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1917 .loc 1 1540 5 is_stmt 1 discriminator 2 view .LVU639 1543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 130 1918 .loc 1 1543 5 discriminator 2 view .LVU640 1543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1919 .loc 1 1543 14 is_stmt 0 discriminator 2 view .LVU641 1920 0080 606F ldr r0, [r4, #116] 1543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1921 .loc 1 1543 8 discriminator 2 view .LVU642 1922 0082 10B1 cbz r0, .L76 1545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1923 .loc 1 1545 7 is_stmt 1 view .LVU643 1545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1924 .loc 1 1545 11 is_stmt 0 view .LVU644 1925 0084 FFF7FEFF bl HAL_DMA_Abort 1926 .LVL168: 1545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1927 .loc 1 1545 10 view .LVU645 1928 0088 20B9 cbnz r0, .L81 1929 .L76: 1557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1930 .loc 1 1557 5 is_stmt 1 view .LVU646 1931 008a 2046 mov r0, r4 1932 008c FFF7FEFF bl UART_EndRxTransfer 1933 .LVL169: 1560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1934 .loc 1 1560 10 is_stmt 0 view .LVU647 1935 0090 0020 movs r0, #0 1936 0092 0AE0 b .L74 1937 .L81: 1547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1938 .loc 1 1547 9 is_stmt 1 view .LVU648 1547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1939 .loc 1 1547 13 is_stmt 0 view .LVU649 1940 0094 606F ldr r0, [r4, #116] 1941 0096 FFF7FEFF bl HAL_DMA_GetError 1942 .LVL170: 1547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1943 .loc 1 1547 12 view .LVU650 1944 009a 2028 cmp r0, #32 1945 009c F5D1 bne .L76 1550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1946 .loc 1 1550 11 is_stmt 1 view .LVU651 1550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1947 .loc 1 1550 28 is_stmt 0 view .LVU652 1948 009e 1023 movs r3, #16 1949 00a0 C4F88430 str r3, [r4, #132] 1552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1950 .loc 1 1552 11 is_stmt 1 view .LVU653 1552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1951 .loc 1 1552 18 is_stmt 0 view .LVU654 1952 00a4 0320 movs r0, #3 1953 00a6 00E0 b .L74 1954 .LVL171: 1955 .L77: 1560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1956 .loc 1 1560 10 view .LVU655 1957 00a8 0020 movs r0, #0 1958 .L74: 1561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 131 1959 .loc 1 1561 1 view .LVU656 1960 00aa 38BD pop {r3, r4, r5, pc} 1561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1961 .loc 1 1561 1 view .LVU657 1962 .cfi_endproc 1963 .LFE145: 1965 .section .text.HAL_UART_Abort,"ax",%progbits 1966 .align 1 1967 .global HAL_UART_Abort 1968 .syntax unified 1969 .thumb 1970 .thumb_func 1972 HAL_UART_Abort: 1973 .LVL172: 1974 .LFB146: 1576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 1975 .loc 1 1576 1 is_stmt 1 view -0 1976 .cfi_startproc 1977 @ args = 0, pretend = 0, frame = 0 1978 @ frame_needed = 0, uses_anonymous_args = 0 1576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 1979 .loc 1 1576 1 is_stmt 0 view .LVU659 1980 0000 10B5 push {r4, lr} 1981 .cfi_def_cfa_offset 8 1982 .cfi_offset 4, -8 1983 .cfi_offset 14, -4 1984 0002 0446 mov r4, r0 1985 .L83: 1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1986 .loc 1 1578 3 is_stmt 1 discriminator 1 view .LVU660 1987 .LBB515: 1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1988 .loc 1 1578 3 discriminator 1 view .LVU661 1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1989 .loc 1 1578 3 discriminator 1 view .LVU662 1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1990 .loc 1 1578 3 discriminator 1 view .LVU663 1991 0004 2268 ldr r2, [r4] 1992 .LVL173: 1993 .LBB516: 1994 .LBI516: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1995 .loc 2 1068 31 discriminator 1 view .LVU664 1996 .LBB517: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1997 .loc 2 1070 5 discriminator 1 view .LVU665 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1998 .loc 2 1072 4 discriminator 1 view .LVU666 1999 .syntax unified 2000 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2001 0006 52E8003F ldrex r3, [r2] 2002 @ 0 "" 2 2003 .LVL174: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2004 .loc 2 1073 4 discriminator 1 view .LVU667 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2005 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU668 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 132 2006 .thumb 2007 .syntax unified 2008 .LBE517: 2009 .LBE516: 1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2010 .loc 1 1578 3 discriminator 1 view .LVU669 2011 000a 23F4F073 bic r3, r3, #480 2012 .LVL175: 1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2013 .loc 1 1578 3 is_stmt 1 discriminator 1 view .LVU670 2014 .LBB518: 2015 .LBI518: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2016 .loc 2 1119 31 discriminator 1 view .LVU671 2017 .LBB519: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2018 .loc 2 1121 4 discriminator 1 view .LVU672 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2019 .loc 2 1123 4 discriminator 1 view .LVU673 2020 .syntax unified 2021 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2022 000e 42E80031 strex r1, r3, [r2] 2023 @ 0 "" 2 2024 .LVL176: 2025 .loc 2 1124 4 discriminator 1 view .LVU674 2026 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU675 2027 .thumb 2028 .syntax unified 2029 .LBE519: 2030 .LBE518: 1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2031 .loc 1 1578 3 discriminator 1 view .LVU676 2032 0012 0029 cmp r1, #0 2033 0014 F6D1 bne .L83 2034 .LVL177: 2035 .L84: 1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2036 .loc 1 1578 3 discriminator 1 view .LVU677 2037 .LBE515: 1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2038 .loc 1 1578 3 is_stmt 1 discriminator 1 view .LVU678 1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2039 .loc 1 1579 3 discriminator 1 view .LVU679 2040 .LBB520: 1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2041 .loc 1 1579 3 discriminator 1 view .LVU680 1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2042 .loc 1 1579 3 discriminator 1 view .LVU681 1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2043 .loc 1 1579 3 discriminator 1 view .LVU682 2044 0016 2268 ldr r2, [r4] 2045 .LVL178: 2046 .LBB521: 2047 .LBI521: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2048 .loc 2 1068 31 discriminator 1 view .LVU683 2049 .LBB522: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 133 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2050 .loc 2 1070 5 discriminator 1 view .LVU684 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2051 .loc 2 1072 4 discriminator 1 view .LVU685 2052 0018 02F10803 add r3, r2, #8 2053 .LVL179: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2054 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU686 2055 .syntax unified 2056 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2057 001c 53E8003F ldrex r3, [r3] 2058 @ 0 "" 2 2059 .LVL180: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2060 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU687 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2061 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU688 2062 .thumb 2063 .syntax unified 2064 .LBE522: 2065 .LBE521: 1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2066 .loc 1 1579 3 discriminator 1 view .LVU689 2067 0020 23F00103 bic r3, r3, #1 2068 .LVL181: 1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2069 .loc 1 1579 3 is_stmt 1 discriminator 1 view .LVU690 2070 .LBB523: 2071 .LBI523: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2072 .loc 2 1119 31 discriminator 1 view .LVU691 2073 .LBB524: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2074 .loc 2 1121 4 discriminator 1 view .LVU692 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2075 .loc 2 1123 4 discriminator 1 view .LVU693 2076 0024 0832 adds r2, r2, #8 2077 .LVL182: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2078 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU694 2079 .syntax unified 2080 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2081 0026 42E80031 strex r1, r3, [r2] 2082 @ 0 "" 2 2083 .LVL183: 2084 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU695 2085 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU696 2086 .thumb 2087 .syntax unified 2088 .LBE524: 2089 .LBE523: 1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2090 .loc 1 1579 3 discriminator 1 view .LVU697 2091 002a 0029 cmp r1, #0 2092 002c F3D1 bne .L84 2093 .LBE520: 1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 134 2094 .loc 1 1579 3 is_stmt 1 discriminator 2 view .LVU698 1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2095 .loc 1 1582 3 discriminator 2 view .LVU699 1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2096 .loc 1 1582 12 is_stmt 0 discriminator 2 view .LVU700 2097 002e 236E ldr r3, [r4, #96] 2098 .LVL184: 1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2099 .loc 1 1582 6 discriminator 2 view .LVU701 2100 0030 012B cmp r3, #1 2101 0032 47D0 beq .L86 2102 .L85: 1584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2103 .loc 1 1584 5 is_stmt 1 discriminator 2 view .LVU702 1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2104 .loc 1 1588 3 discriminator 2 view .LVU703 1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2105 .loc 1 1588 7 is_stmt 0 discriminator 2 view .LVU704 2106 0034 2368 ldr r3, [r4] 2107 0036 9B68 ldr r3, [r3, #8] 1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2108 .loc 1 1588 6 discriminator 2 view .LVU705 2109 0038 13F0800F tst r3, #128 2110 003c 14D0 beq .L87 2111 .L88: 1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2112 .loc 1 1591 5 is_stmt 1 discriminator 1 view .LVU706 2113 .LBB525: 1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2114 .loc 1 1591 5 discriminator 1 view .LVU707 1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2115 .loc 1 1591 5 discriminator 1 view .LVU708 1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2116 .loc 1 1591 5 discriminator 1 view .LVU709 2117 003e 2268 ldr r2, [r4] 2118 .LVL185: 2119 .LBB526: 2120 .LBI526: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2121 .loc 2 1068 31 discriminator 1 view .LVU710 2122 .LBB527: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2123 .loc 2 1070 5 discriminator 1 view .LVU711 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2124 .loc 2 1072 4 discriminator 1 view .LVU712 2125 0040 02F10803 add r3, r2, #8 2126 .LVL186: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2127 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU713 2128 .syntax unified 2129 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2130 0044 53E8003F ldrex r3, [r3] 2131 @ 0 "" 2 2132 .LVL187: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2133 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU714 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 135 2134 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU715 2135 .thumb 2136 .syntax unified 2137 .LBE527: 2138 .LBE526: 1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2139 .loc 1 1591 5 discriminator 1 view .LVU716 2140 0048 23F08003 bic r3, r3, #128 2141 .LVL188: 1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2142 .loc 1 1591 5 is_stmt 1 discriminator 1 view .LVU717 2143 .LBB528: 2144 .LBI528: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2145 .loc 2 1119 31 discriminator 1 view .LVU718 2146 .LBB529: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2147 .loc 2 1121 4 discriminator 1 view .LVU719 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2148 .loc 2 1123 4 discriminator 1 view .LVU720 2149 004c 0832 adds r2, r2, #8 2150 .LVL189: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2151 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU721 2152 .syntax unified 2153 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2154 004e 42E80031 strex r1, r3, [r2] 2155 @ 0 "" 2 2156 .LVL190: 2157 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU722 2158 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU723 2159 .thumb 2160 .syntax unified 2161 .LBE529: 2162 .LBE528: 1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2163 .loc 1 1591 5 discriminator 1 view .LVU724 2164 0052 0029 cmp r1, #0 2165 0054 F3D1 bne .L88 2166 .LBE525: 1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2167 .loc 1 1591 5 is_stmt 1 discriminator 2 view .LVU725 1594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2168 .loc 1 1594 5 discriminator 2 view .LVU726 1594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2169 .loc 1 1594 14 is_stmt 0 discriminator 2 view .LVU727 2170 0056 236F ldr r3, [r4, #112] 2171 .LVL191: 1594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2172 .loc 1 1594 8 discriminator 2 view .LVU728 2173 0058 33B1 cbz r3, .L87 1598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2174 .loc 1 1598 7 is_stmt 1 view .LVU729 1598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2175 .loc 1 1598 40 is_stmt 0 view .LVU730 2176 005a 0022 movs r2, #0 2177 005c 5A63 str r2, [r3, #52] ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 136 1600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2178 .loc 1 1600 7 is_stmt 1 view .LVU731 1600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2179 .loc 1 1600 11 is_stmt 0 view .LVU732 2180 005e 206F ldr r0, [r4, #112] 2181 .LVL192: 1600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2182 .loc 1 1600 11 view .LVU733 2183 0060 FFF7FEFF bl HAL_DMA_Abort 2184 .LVL193: 1600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2185 .loc 1 1600 10 view .LVU734 2186 0064 0028 cmp r0, #0 2187 0066 37D1 bne .L93 2188 .LVL194: 2189 .L87: 1614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2190 .loc 1 1614 3 is_stmt 1 view .LVU735 1614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2191 .loc 1 1614 7 is_stmt 0 view .LVU736 2192 0068 2368 ldr r3, [r4] 2193 006a 9B68 ldr r3, [r3, #8] 1614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2194 .loc 1 1614 6 view .LVU737 2195 006c 13F0400F tst r3, #64 2196 0070 13D0 beq .L90 2197 .L91: 1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2198 .loc 1 1617 5 is_stmt 1 discriminator 1 view .LVU738 2199 .LBB530: 1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2200 .loc 1 1617 5 discriminator 1 view .LVU739 1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2201 .loc 1 1617 5 discriminator 1 view .LVU740 1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2202 .loc 1 1617 5 discriminator 1 view .LVU741 2203 0072 2268 ldr r2, [r4] 2204 .LVL195: 2205 .LBB531: 2206 .LBI531: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2207 .loc 2 1068 31 discriminator 1 view .LVU742 2208 .LBB532: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2209 .loc 2 1070 5 discriminator 1 view .LVU743 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2210 .loc 2 1072 4 discriminator 1 view .LVU744 2211 0074 02F10803 add r3, r2, #8 2212 .LVL196: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2213 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU745 2214 .syntax unified 2215 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2216 0078 53E8003F ldrex r3, [r3] 2217 @ 0 "" 2 2218 .LVL197: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 137 2219 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU746 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2220 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU747 2221 .thumb 2222 .syntax unified 2223 .LBE532: 2224 .LBE531: 1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2225 .loc 1 1617 5 discriminator 1 view .LVU748 2226 007c 23F04003 bic r3, r3, #64 2227 .LVL198: 1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2228 .loc 1 1617 5 is_stmt 1 discriminator 1 view .LVU749 2229 .LBB533: 2230 .LBI533: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2231 .loc 2 1119 31 discriminator 1 view .LVU750 2232 .LBB534: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2233 .loc 2 1121 4 discriminator 1 view .LVU751 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2234 .loc 2 1123 4 discriminator 1 view .LVU752 2235 0080 0832 adds r2, r2, #8 2236 .LVL199: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2237 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU753 2238 .syntax unified 2239 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2240 0082 42E80031 strex r1, r3, [r2] 2241 @ 0 "" 2 2242 .LVL200: 2243 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU754 2244 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU755 2245 .thumb 2246 .syntax unified 2247 .LBE534: 2248 .LBE533: 1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2249 .loc 1 1617 5 discriminator 1 view .LVU756 2250 0086 0029 cmp r1, #0 2251 0088 F3D1 bne .L91 2252 .LBE530: 1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2253 .loc 1 1617 5 is_stmt 1 discriminator 2 view .LVU757 1620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2254 .loc 1 1620 5 discriminator 2 view .LVU758 1620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2255 .loc 1 1620 14 is_stmt 0 discriminator 2 view .LVU759 2256 008a 636F ldr r3, [r4, #116] 2257 .LVL201: 1620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2258 .loc 1 1620 8 discriminator 2 view .LVU760 2259 008c 2BB1 cbz r3, .L90 1624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2260 .loc 1 1624 7 is_stmt 1 view .LVU761 1624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2261 .loc 1 1624 40 is_stmt 0 view .LVU762 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 138 2262 008e 0022 movs r2, #0 2263 0090 5A63 str r2, [r3, #52] 1626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2264 .loc 1 1626 7 is_stmt 1 view .LVU763 1626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2265 .loc 1 1626 11 is_stmt 0 view .LVU764 2266 0092 606F ldr r0, [r4, #116] 2267 0094 FFF7FEFF bl HAL_DMA_Abort 2268 .LVL202: 1626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2269 .loc 1 1626 10 view .LVU765 2270 0098 40BB cbnz r0, .L94 2271 .LVL203: 2272 .L90: 1640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 2273 .loc 1 1640 3 is_stmt 1 view .LVU766 1640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 2274 .loc 1 1640 22 is_stmt 0 view .LVU767 2275 009a 0020 movs r0, #0 2276 009c A4F85200 strh r0, [r4, #82] @ movhi 1641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2277 .loc 1 1641 3 is_stmt 1 view .LVU768 1641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2278 .loc 1 1641 22 is_stmt 0 view .LVU769 2279 00a0 A4F85A00 strh r0, [r4, #90] @ movhi 1644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2280 .loc 1 1644 3 is_stmt 1 view .LVU770 2281 00a4 2368 ldr r3, [r4] 2282 00a6 0F22 movs r2, #15 2283 00a8 1A62 str r2, [r3, #32] 1648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2284 .loc 1 1648 3 view .LVU771 2285 00aa 2268 ldr r2, [r4] 2286 00ac 9369 ldr r3, [r2, #24] 2287 00ae 43F00803 orr r3, r3, #8 2288 00b2 9361 str r3, [r2, #24] 1651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2289 .loc 1 1651 3 view .LVU772 1651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2290 .loc 1 1651 18 is_stmt 0 view .LVU773 2291 00b4 2023 movs r3, #32 2292 00b6 E367 str r3, [r4, #124] 1652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2293 .loc 1 1652 3 is_stmt 1 view .LVU774 1652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2294 .loc 1 1652 18 is_stmt 0 view .LVU775 2295 00b8 C4F88030 str r3, [r4, #128] 1653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2296 .loc 1 1653 3 is_stmt 1 view .LVU776 1653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2297 .loc 1 1653 24 is_stmt 0 view .LVU777 2298 00bc 2066 str r0, [r4, #96] 1655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2299 .loc 1 1655 3 is_stmt 1 view .LVU778 1655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2300 .loc 1 1655 20 is_stmt 0 view .LVU779 2301 00be C4F88400 str r0, [r4, #132] ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 139 1657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2302 .loc 1 1657 3 is_stmt 1 view .LVU780 2303 .L89: 1658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2304 .loc 1 1658 1 is_stmt 0 view .LVU781 2305 00c2 10BD pop {r4, pc} 2306 .LVL204: 2307 .L86: 1584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2308 .loc 1 1584 5 is_stmt 1 discriminator 1 view .LVU782 2309 .LBB535: 1584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2310 .loc 1 1584 5 discriminator 1 view .LVU783 1584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2311 .loc 1 1584 5 discriminator 1 view .LVU784 1584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2312 .loc 1 1584 5 discriminator 1 view .LVU785 2313 00c4 2268 ldr r2, [r4] 2314 .LVL205: 2315 .LBB536: 2316 .LBI536: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2317 .loc 2 1068 31 discriminator 1 view .LVU786 2318 .LBB537: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2319 .loc 2 1070 5 discriminator 1 view .LVU787 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2320 .loc 2 1072 4 discriminator 1 view .LVU788 2321 .syntax unified 2322 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2323 00c6 52E8003F ldrex r3, [r2] 2324 @ 0 "" 2 2325 .LVL206: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2326 .loc 2 1073 4 discriminator 1 view .LVU789 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2327 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU790 2328 .thumb 2329 .syntax unified 2330 .LBE537: 2331 .LBE536: 1584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2332 .loc 1 1584 5 discriminator 1 view .LVU791 2333 00ca 23F01003 bic r3, r3, #16 2334 .LVL207: 1584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2335 .loc 1 1584 5 is_stmt 1 discriminator 1 view .LVU792 2336 .LBB538: 2337 .LBI538: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2338 .loc 2 1119 31 discriminator 1 view .LVU793 2339 .LBB539: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2340 .loc 2 1121 4 discriminator 1 view .LVU794 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2341 .loc 2 1123 4 discriminator 1 view .LVU795 2342 .syntax unified ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 140 2343 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2344 00ce 42E80031 strex r1, r3, [r2] 2345 @ 0 "" 2 2346 .LVL208: 2347 .loc 2 1124 4 discriminator 1 view .LVU796 2348 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU797 2349 .thumb 2350 .syntax unified 2351 .LBE539: 2352 .LBE538: 1584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2353 .loc 1 1584 5 discriminator 1 view .LVU798 2354 00d2 0029 cmp r1, #0 2355 00d4 F6D1 bne .L86 2356 00d6 ADE7 b .L85 2357 .LVL209: 2358 .L93: 1584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2359 .loc 1 1584 5 discriminator 1 view .LVU799 2360 .LBE535: 1602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2361 .loc 1 1602 9 is_stmt 1 view .LVU800 1602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2362 .loc 1 1602 13 is_stmt 0 view .LVU801 2363 00d8 206F ldr r0, [r4, #112] 2364 00da FFF7FEFF bl HAL_DMA_GetError 2365 .LVL210: 1602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2366 .loc 1 1602 12 view .LVU802 2367 00de 2028 cmp r0, #32 2368 00e0 C2D1 bne .L87 1605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2369 .loc 1 1605 11 is_stmt 1 view .LVU803 1605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2370 .loc 1 1605 28 is_stmt 0 view .LVU804 2371 00e2 1023 movs r3, #16 2372 00e4 C4F88430 str r3, [r4, #132] 1607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2373 .loc 1 1607 11 is_stmt 1 view .LVU805 1607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2374 .loc 1 1607 18 is_stmt 0 view .LVU806 2375 00e8 0320 movs r0, #3 2376 00ea EAE7 b .L89 2377 .LVL211: 2378 .L94: 1628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2379 .loc 1 1628 9 is_stmt 1 view .LVU807 1628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2380 .loc 1 1628 13 is_stmt 0 view .LVU808 2381 00ec 606F ldr r0, [r4, #116] 2382 00ee FFF7FEFF bl HAL_DMA_GetError 2383 .LVL212: 1628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2384 .loc 1 1628 12 view .LVU809 2385 00f2 2028 cmp r0, #32 2386 00f4 D1D1 bne .L90 1631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 141 2387 .loc 1 1631 11 is_stmt 1 view .LVU810 1631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2388 .loc 1 1631 28 is_stmt 0 view .LVU811 2389 00f6 1023 movs r3, #16 2390 00f8 C4F88430 str r3, [r4, #132] 1633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2391 .loc 1 1633 11 is_stmt 1 view .LVU812 1633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2392 .loc 1 1633 18 is_stmt 0 view .LVU813 2393 00fc 0320 movs r0, #3 2394 00fe E0E7 b .L89 2395 .cfi_endproc 2396 .LFE146: 2398 .section .text.HAL_UART_AbortTransmit,"ax",%progbits 2399 .align 1 2400 .global HAL_UART_AbortTransmit 2401 .syntax unified 2402 .thumb 2403 .thumb_func 2405 HAL_UART_AbortTransmit: 2406 .LVL213: 2407 .LFB147: 1673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */ 2408 .loc 1 1673 1 is_stmt 1 view -0 2409 .cfi_startproc 2410 @ args = 0, pretend = 0, frame = 0 2411 @ frame_needed = 0, uses_anonymous_args = 0 1673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */ 2412 .loc 1 1673 1 is_stmt 0 view .LVU815 2413 0000 10B5 push {r4, lr} 2414 .cfi_def_cfa_offset 8 2415 .cfi_offset 4, -8 2416 .cfi_offset 14, -4 2417 0002 0446 mov r4, r0 2418 .L96: 1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2419 .loc 1 1675 3 is_stmt 1 discriminator 1 view .LVU816 2420 .LBB540: 1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2421 .loc 1 1675 3 discriminator 1 view .LVU817 1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2422 .loc 1 1675 3 discriminator 1 view .LVU818 1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2423 .loc 1 1675 3 discriminator 1 view .LVU819 2424 0004 2268 ldr r2, [r4] 2425 .LVL214: 2426 .LBB541: 2427 .LBI541: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2428 .loc 2 1068 31 discriminator 1 view .LVU820 2429 .LBB542: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2430 .loc 2 1070 5 discriminator 1 view .LVU821 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2431 .loc 2 1072 4 discriminator 1 view .LVU822 2432 .syntax unified 2433 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 142 2434 0006 52E8003F ldrex r3, [r2] 2435 @ 0 "" 2 2436 .LVL215: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2437 .loc 2 1073 4 discriminator 1 view .LVU823 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2438 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU824 2439 .thumb 2440 .syntax unified 2441 .LBE542: 2442 .LBE541: 1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2443 .loc 1 1675 3 discriminator 1 view .LVU825 2444 000a 23F0C003 bic r3, r3, #192 2445 .LVL216: 1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2446 .loc 1 1675 3 is_stmt 1 discriminator 1 view .LVU826 2447 .LBB543: 2448 .LBI543: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2449 .loc 2 1119 31 discriminator 1 view .LVU827 2450 .LBB544: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2451 .loc 2 1121 4 discriminator 1 view .LVU828 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2452 .loc 2 1123 4 discriminator 1 view .LVU829 2453 .syntax unified 2454 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2455 000e 42E80031 strex r1, r3, [r2] 2456 @ 0 "" 2 2457 .LVL217: 2458 .loc 2 1124 4 discriminator 1 view .LVU830 2459 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU831 2460 .thumb 2461 .syntax unified 2462 .LBE544: 2463 .LBE543: 1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2464 .loc 1 1675 3 discriminator 1 view .LVU832 2465 0012 0029 cmp r1, #0 2466 0014 F6D1 bne .L96 2467 .LBE540: 1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2468 .loc 1 1675 3 is_stmt 1 discriminator 2 view .LVU833 1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2469 .loc 1 1678 3 discriminator 2 view .LVU834 1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2470 .loc 1 1678 7 is_stmt 0 discriminator 2 view .LVU835 2471 0016 2368 ldr r3, [r4] 2472 .LVL218: 1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2473 .loc 1 1678 7 discriminator 2 view .LVU836 2474 0018 9B68 ldr r3, [r3, #8] 1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2475 .loc 1 1678 6 discriminator 2 view .LVU837 2476 001a 13F0800F tst r3, #128 2477 001e 13D0 beq .L97 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 143 2478 .L98: 1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2479 .loc 1 1681 5 is_stmt 1 discriminator 1 view .LVU838 2480 .LBB545: 1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2481 .loc 1 1681 5 discriminator 1 view .LVU839 1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2482 .loc 1 1681 5 discriminator 1 view .LVU840 1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2483 .loc 1 1681 5 discriminator 1 view .LVU841 2484 0020 2268 ldr r2, [r4] 2485 .LVL219: 2486 .LBB546: 2487 .LBI546: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2488 .loc 2 1068 31 discriminator 1 view .LVU842 2489 .LBB547: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2490 .loc 2 1070 5 discriminator 1 view .LVU843 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2491 .loc 2 1072 4 discriminator 1 view .LVU844 2492 0022 02F10803 add r3, r2, #8 2493 .LVL220: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2494 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU845 2495 .syntax unified 2496 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2497 0026 53E8003F ldrex r3, [r3] 2498 @ 0 "" 2 2499 .LVL221: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2500 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU846 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2501 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU847 2502 .thumb 2503 .syntax unified 2504 .LBE547: 2505 .LBE546: 1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2506 .loc 1 1681 5 discriminator 1 view .LVU848 2507 002a 23F08003 bic r3, r3, #128 2508 .LVL222: 1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2509 .loc 1 1681 5 is_stmt 1 discriminator 1 view .LVU849 2510 .LBB548: 2511 .LBI548: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2512 .loc 2 1119 31 discriminator 1 view .LVU850 2513 .LBB549: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2514 .loc 2 1121 4 discriminator 1 view .LVU851 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2515 .loc 2 1123 4 discriminator 1 view .LVU852 2516 002e 0832 adds r2, r2, #8 2517 .LVL223: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2518 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU853 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 144 2519 .syntax unified 2520 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2521 0030 42E80031 strex r1, r3, [r2] 2522 @ 0 "" 2 2523 .LVL224: 2524 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU854 2525 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU855 2526 .thumb 2527 .syntax unified 2528 .LBE549: 2529 .LBE548: 1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2530 .loc 1 1681 5 discriminator 1 view .LVU856 2531 0034 0029 cmp r1, #0 2532 0036 F3D1 bne .L98 2533 .LBE545: 1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2534 .loc 1 1681 5 is_stmt 1 discriminator 2 view .LVU857 1684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2535 .loc 1 1684 5 discriminator 2 view .LVU858 1684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2536 .loc 1 1684 14 is_stmt 0 discriminator 2 view .LVU859 2537 0038 236F ldr r3, [r4, #112] 2538 .LVL225: 1684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2539 .loc 1 1684 8 discriminator 2 view .LVU860 2540 003a 2BB1 cbz r3, .L97 1688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2541 .loc 1 1688 7 is_stmt 1 view .LVU861 1688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2542 .loc 1 1688 40 is_stmt 0 view .LVU862 2543 003c 0022 movs r2, #0 2544 003e 5A63 str r2, [r3, #52] 1690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2545 .loc 1 1690 7 is_stmt 1 view .LVU863 1690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2546 .loc 1 1690 11 is_stmt 0 view .LVU864 2547 0040 206F ldr r0, [r4, #112] 2548 .LVL226: 1690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2549 .loc 1 1690 11 view .LVU865 2550 0042 FFF7FEFF bl HAL_DMA_Abort 2551 .LVL227: 1690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2552 .loc 1 1690 10 view .LVU866 2553 0046 28B9 cbnz r0, .L101 2554 .LVL228: 2555 .L97: 1704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2556 .loc 1 1704 3 is_stmt 1 view .LVU867 1704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2557 .loc 1 1704 22 is_stmt 0 view .LVU868 2558 0048 0020 movs r0, #0 2559 004a A4F85200 strh r0, [r4, #82] @ movhi 1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2560 .loc 1 1708 3 is_stmt 1 view .LVU869 1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 145 2561 .loc 1 1708 17 is_stmt 0 view .LVU870 2562 004e 2023 movs r3, #32 2563 0050 E367 str r3, [r4, #124] 1710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2564 .loc 1 1710 3 is_stmt 1 view .LVU871 2565 .L99: 1711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2566 .loc 1 1711 1 is_stmt 0 view .LVU872 2567 0052 10BD pop {r4, pc} 2568 .LVL229: 2569 .L101: 1692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2570 .loc 1 1692 9 is_stmt 1 view .LVU873 1692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2571 .loc 1 1692 13 is_stmt 0 view .LVU874 2572 0054 206F ldr r0, [r4, #112] 2573 0056 FFF7FEFF bl HAL_DMA_GetError 2574 .LVL230: 1692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2575 .loc 1 1692 12 view .LVU875 2576 005a 2028 cmp r0, #32 2577 005c F4D1 bne .L97 1695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2578 .loc 1 1695 11 is_stmt 1 view .LVU876 1695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2579 .loc 1 1695 28 is_stmt 0 view .LVU877 2580 005e 1023 movs r3, #16 2581 0060 C4F88430 str r3, [r4, #132] 1697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2582 .loc 1 1697 11 is_stmt 1 view .LVU878 1697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2583 .loc 1 1697 18 is_stmt 0 view .LVU879 2584 0064 0320 movs r0, #3 2585 0066 F4E7 b .L99 2586 .cfi_endproc 2587 .LFE147: 2589 .section .text.HAL_UART_AbortReceive,"ax",%progbits 2590 .align 1 2591 .global HAL_UART_AbortReceive 2592 .syntax unified 2593 .thumb 2594 .thumb_func 2596 HAL_UART_AbortReceive: 2597 .LVL231: 2598 .LFB148: 1726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 2599 .loc 1 1726 1 is_stmt 1 view -0 2600 .cfi_startproc 2601 @ args = 0, pretend = 0, frame = 0 2602 @ frame_needed = 0, uses_anonymous_args = 0 1726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 2603 .loc 1 1726 1 is_stmt 0 view .LVU881 2604 0000 10B5 push {r4, lr} 2605 .cfi_def_cfa_offset 8 2606 .cfi_offset 4, -8 2607 .cfi_offset 14, -4 2608 0002 0446 mov r4, r0 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 146 2609 .L103: 1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2610 .loc 1 1728 3 is_stmt 1 discriminator 1 view .LVU882 2611 .LBB550: 1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2612 .loc 1 1728 3 discriminator 1 view .LVU883 1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2613 .loc 1 1728 3 discriminator 1 view .LVU884 1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2614 .loc 1 1728 3 discriminator 1 view .LVU885 2615 0004 2268 ldr r2, [r4] 2616 .LVL232: 2617 .LBB551: 2618 .LBI551: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2619 .loc 2 1068 31 discriminator 1 view .LVU886 2620 .LBB552: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2621 .loc 2 1070 5 discriminator 1 view .LVU887 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2622 .loc 2 1072 4 discriminator 1 view .LVU888 2623 .syntax unified 2624 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2625 0006 52E8003F ldrex r3, [r2] 2626 @ 0 "" 2 2627 .LVL233: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2628 .loc 2 1073 4 discriminator 1 view .LVU889 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2629 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU890 2630 .thumb 2631 .syntax unified 2632 .LBE552: 2633 .LBE551: 1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2634 .loc 1 1728 3 discriminator 1 view .LVU891 2635 000a 23F49073 bic r3, r3, #288 2636 .LVL234: 1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2637 .loc 1 1728 3 is_stmt 1 discriminator 1 view .LVU892 2638 .LBB553: 2639 .LBI553: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2640 .loc 2 1119 31 discriminator 1 view .LVU893 2641 .LBB554: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2642 .loc 2 1121 4 discriminator 1 view .LVU894 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2643 .loc 2 1123 4 discriminator 1 view .LVU895 2644 .syntax unified 2645 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2646 000e 42E80031 strex r1, r3, [r2] 2647 @ 0 "" 2 2648 .LVL235: 2649 .loc 2 1124 4 discriminator 1 view .LVU896 2650 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU897 2651 .thumb ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 147 2652 .syntax unified 2653 .LBE554: 2654 .LBE553: 1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2655 .loc 1 1728 3 discriminator 1 view .LVU898 2656 0012 0029 cmp r1, #0 2657 0014 F6D1 bne .L103 2658 .LVL236: 2659 .L104: 1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2660 .loc 1 1728 3 discriminator 1 view .LVU899 2661 .LBE550: 1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2662 .loc 1 1728 3 is_stmt 1 discriminator 1 view .LVU900 1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2663 .loc 1 1729 3 discriminator 1 view .LVU901 2664 .LBB555: 1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2665 .loc 1 1729 3 discriminator 1 view .LVU902 1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2666 .loc 1 1729 3 discriminator 1 view .LVU903 1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2667 .loc 1 1729 3 discriminator 1 view .LVU904 2668 0016 2268 ldr r2, [r4] 2669 .LVL237: 2670 .LBB556: 2671 .LBI556: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2672 .loc 2 1068 31 discriminator 1 view .LVU905 2673 .LBB557: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2674 .loc 2 1070 5 discriminator 1 view .LVU906 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2675 .loc 2 1072 4 discriminator 1 view .LVU907 2676 0018 02F10803 add r3, r2, #8 2677 .LVL238: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2678 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU908 2679 .syntax unified 2680 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2681 001c 53E8003F ldrex r3, [r3] 2682 @ 0 "" 2 2683 .LVL239: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2684 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU909 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2685 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU910 2686 .thumb 2687 .syntax unified 2688 .LBE557: 2689 .LBE556: 1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2690 .loc 1 1729 3 discriminator 1 view .LVU911 2691 0020 23F00103 bic r3, r3, #1 2692 .LVL240: 1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2693 .loc 1 1729 3 is_stmt 1 discriminator 1 view .LVU912 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 148 2694 .LBB558: 2695 .LBI558: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2696 .loc 2 1119 31 discriminator 1 view .LVU913 2697 .LBB559: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2698 .loc 2 1121 4 discriminator 1 view .LVU914 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2699 .loc 2 1123 4 discriminator 1 view .LVU915 2700 0024 0832 adds r2, r2, #8 2701 .LVL241: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2702 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU916 2703 .syntax unified 2704 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2705 0026 42E80031 strex r1, r3, [r2] 2706 @ 0 "" 2 2707 .LVL242: 2708 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU917 2709 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU918 2710 .thumb 2711 .syntax unified 2712 .LBE559: 2713 .LBE558: 1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2714 .loc 1 1729 3 discriminator 1 view .LVU919 2715 002a 0029 cmp r1, #0 2716 002c F3D1 bne .L104 2717 .LBE555: 1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2718 .loc 1 1729 3 is_stmt 1 discriminator 2 view .LVU920 1732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2719 .loc 1 1732 3 discriminator 2 view .LVU921 1732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2720 .loc 1 1732 12 is_stmt 0 discriminator 2 view .LVU922 2721 002e 236E ldr r3, [r4, #96] 2722 .LVL243: 1732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2723 .loc 1 1732 6 discriminator 2 view .LVU923 2724 0030 012B cmp r3, #1 2725 0032 28D0 beq .L106 2726 .L105: 1734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2727 .loc 1 1734 5 is_stmt 1 discriminator 2 view .LVU924 1738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2728 .loc 1 1738 3 discriminator 2 view .LVU925 1738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2729 .loc 1 1738 7 is_stmt 0 discriminator 2 view .LVU926 2730 0034 2368 ldr r3, [r4] 2731 0036 9B68 ldr r3, [r3, #8] 1738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2732 .loc 1 1738 6 discriminator 2 view .LVU927 2733 0038 13F0400F tst r3, #64 2734 003c 13D0 beq .L107 2735 .L108: 1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2736 .loc 1 1741 5 is_stmt 1 discriminator 1 view .LVU928 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 149 2737 .LBB560: 1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2738 .loc 1 1741 5 discriminator 1 view .LVU929 1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2739 .loc 1 1741 5 discriminator 1 view .LVU930 1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2740 .loc 1 1741 5 discriminator 1 view .LVU931 2741 003e 2268 ldr r2, [r4] 2742 .LVL244: 2743 .LBB561: 2744 .LBI561: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2745 .loc 2 1068 31 discriminator 1 view .LVU932 2746 .LBB562: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2747 .loc 2 1070 5 discriminator 1 view .LVU933 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2748 .loc 2 1072 4 discriminator 1 view .LVU934 2749 0040 02F10803 add r3, r2, #8 2750 .LVL245: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2751 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU935 2752 .syntax unified 2753 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2754 0044 53E8003F ldrex r3, [r3] 2755 @ 0 "" 2 2756 .LVL246: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2757 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU936 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2758 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU937 2759 .thumb 2760 .syntax unified 2761 .LBE562: 2762 .LBE561: 1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2763 .loc 1 1741 5 discriminator 1 view .LVU938 2764 0048 23F04003 bic r3, r3, #64 2765 .LVL247: 1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2766 .loc 1 1741 5 is_stmt 1 discriminator 1 view .LVU939 2767 .LBB563: 2768 .LBI563: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2769 .loc 2 1119 31 discriminator 1 view .LVU940 2770 .LBB564: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2771 .loc 2 1121 4 discriminator 1 view .LVU941 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2772 .loc 2 1123 4 discriminator 1 view .LVU942 2773 004c 0832 adds r2, r2, #8 2774 .LVL248: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2775 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU943 2776 .syntax unified 2777 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2778 004e 42E80031 strex r1, r3, [r2] ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 150 2779 @ 0 "" 2 2780 .LVL249: 2781 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU944 2782 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU945 2783 .thumb 2784 .syntax unified 2785 .LBE564: 2786 .LBE563: 1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2787 .loc 1 1741 5 discriminator 1 view .LVU946 2788 0052 0029 cmp r1, #0 2789 0054 F3D1 bne .L108 2790 .LBE560: 1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2791 .loc 1 1741 5 is_stmt 1 discriminator 2 view .LVU947 1744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2792 .loc 1 1744 5 discriminator 2 view .LVU948 1744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2793 .loc 1 1744 14 is_stmt 0 discriminator 2 view .LVU949 2794 0056 636F ldr r3, [r4, #116] 2795 .LVL250: 1744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2796 .loc 1 1744 8 discriminator 2 view .LVU950 2797 0058 2BB1 cbz r3, .L107 1748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2798 .loc 1 1748 7 is_stmt 1 view .LVU951 1748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2799 .loc 1 1748 40 is_stmt 0 view .LVU952 2800 005a 0022 movs r2, #0 2801 005c 5A63 str r2, [r3, #52] 1750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2802 .loc 1 1750 7 is_stmt 1 view .LVU953 1750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2803 .loc 1 1750 11 is_stmt 0 view .LVU954 2804 005e 606F ldr r0, [r4, #116] 2805 .LVL251: 1750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2806 .loc 1 1750 11 view .LVU955 2807 0060 FFF7FEFF bl HAL_DMA_Abort 2808 .LVL252: 1750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2809 .loc 1 1750 10 view .LVU956 2810 0064 C8B9 cbnz r0, .L111 2811 .LVL253: 2812 .L107: 1764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2813 .loc 1 1764 3 is_stmt 1 view .LVU957 1764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2814 .loc 1 1764 22 is_stmt 0 view .LVU958 2815 0066 0020 movs r0, #0 2816 0068 A4F85A00 strh r0, [r4, #90] @ movhi 1767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2817 .loc 1 1767 3 is_stmt 1 view .LVU959 2818 006c 2368 ldr r3, [r4] 2819 006e 0F22 movs r2, #15 2820 0070 1A62 str r2, [r3, #32] 1770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 151 2821 .loc 1 1770 3 view .LVU960 2822 0072 2268 ldr r2, [r4] 2823 0074 9369 ldr r3, [r2, #24] 2824 0076 43F00803 orr r3, r3, #8 2825 007a 9361 str r3, [r2, #24] 1773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2826 .loc 1 1773 3 view .LVU961 1773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2827 .loc 1 1773 18 is_stmt 0 view .LVU962 2828 007c 2023 movs r3, #32 2829 007e C4F88030 str r3, [r4, #128] 1774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2830 .loc 1 1774 3 is_stmt 1 view .LVU963 1774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2831 .loc 1 1774 24 is_stmt 0 view .LVU964 2832 0082 2066 str r0, [r4, #96] 1776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2833 .loc 1 1776 3 is_stmt 1 view .LVU965 2834 .L109: 1777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2835 .loc 1 1777 1 is_stmt 0 view .LVU966 2836 0084 10BD pop {r4, pc} 2837 .LVL254: 2838 .L106: 1734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2839 .loc 1 1734 5 is_stmt 1 discriminator 1 view .LVU967 2840 .LBB565: 1734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2841 .loc 1 1734 5 discriminator 1 view .LVU968 1734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2842 .loc 1 1734 5 discriminator 1 view .LVU969 1734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2843 .loc 1 1734 5 discriminator 1 view .LVU970 2844 0086 2268 ldr r2, [r4] 2845 .LVL255: 2846 .LBB566: 2847 .LBI566: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2848 .loc 2 1068 31 discriminator 1 view .LVU971 2849 .LBB567: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2850 .loc 2 1070 5 discriminator 1 view .LVU972 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2851 .loc 2 1072 4 discriminator 1 view .LVU973 2852 .syntax unified 2853 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2854 0088 52E8003F ldrex r3, [r2] 2855 @ 0 "" 2 2856 .LVL256: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2857 .loc 2 1073 4 discriminator 1 view .LVU974 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2858 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU975 2859 .thumb 2860 .syntax unified 2861 .LBE567: 2862 .LBE566: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 152 1734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2863 .loc 1 1734 5 discriminator 1 view .LVU976 2864 008c 23F01003 bic r3, r3, #16 2865 .LVL257: 1734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2866 .loc 1 1734 5 is_stmt 1 discriminator 1 view .LVU977 2867 .LBB568: 2868 .LBI568: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2869 .loc 2 1119 31 discriminator 1 view .LVU978 2870 .LBB569: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2871 .loc 2 1121 4 discriminator 1 view .LVU979 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2872 .loc 2 1123 4 discriminator 1 view .LVU980 2873 .syntax unified 2874 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2875 0090 42E80031 strex r1, r3, [r2] 2876 @ 0 "" 2 2877 .LVL258: 2878 .loc 2 1124 4 discriminator 1 view .LVU981 2879 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU982 2880 .thumb 2881 .syntax unified 2882 .LBE569: 2883 .LBE568: 1734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2884 .loc 1 1734 5 discriminator 1 view .LVU983 2885 0094 0029 cmp r1, #0 2886 0096 F6D1 bne .L106 2887 0098 CCE7 b .L105 2888 .LVL259: 2889 .L111: 1734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2890 .loc 1 1734 5 discriminator 1 view .LVU984 2891 .LBE565: 1752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2892 .loc 1 1752 9 is_stmt 1 view .LVU985 1752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2893 .loc 1 1752 13 is_stmt 0 view .LVU986 2894 009a 606F ldr r0, [r4, #116] 2895 009c FFF7FEFF bl HAL_DMA_GetError 2896 .LVL260: 1752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2897 .loc 1 1752 12 view .LVU987 2898 00a0 2028 cmp r0, #32 2899 00a2 E0D1 bne .L107 1755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2900 .loc 1 1755 11 is_stmt 1 view .LVU988 1755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2901 .loc 1 1755 28 is_stmt 0 view .LVU989 2902 00a4 1023 movs r3, #16 2903 00a6 C4F88430 str r3, [r4, #132] 1757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2904 .loc 1 1757 11 is_stmt 1 view .LVU990 1757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2905 .loc 1 1757 18 is_stmt 0 view .LVU991 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 153 2906 00aa 0320 movs r0, #3 2907 00ac EAE7 b .L109 2908 .cfi_endproc 2909 .LFE148: 2911 .section .text.HAL_UART_TxCpltCallback,"ax",%progbits 2912 .align 1 2913 .weak HAL_UART_TxCpltCallback 2914 .syntax unified 2915 .thumb 2916 .thumb_func 2918 HAL_UART_TxCpltCallback: 2919 .LVL261: 2920 .LFB153: 2421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2921 .loc 1 2421 1 is_stmt 1 view -0 2922 .cfi_startproc 2923 @ args = 0, pretend = 0, frame = 0 2924 @ frame_needed = 0, uses_anonymous_args = 0 2925 @ link register save eliminated. 2423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2926 .loc 1 2423 3 view .LVU993 2428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2927 .loc 1 2428 1 is_stmt 0 view .LVU994 2928 0000 7047 bx lr 2929 .cfi_endproc 2930 .LFE153: 2932 .section .text.UART_DMATransmitCplt,"ax",%progbits 2933 .align 1 2934 .syntax unified 2935 .thumb 2936 .thumb_func 2938 UART_DMATransmitCplt: 2939 .LVL262: 2940 .LFB181: 3369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 2941 .loc 1 3369 1 is_stmt 1 view -0 2942 .cfi_startproc 2943 @ args = 0, pretend = 0, frame = 0 2944 @ frame_needed = 0, uses_anonymous_args = 0 3369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 2945 .loc 1 3369 1 is_stmt 0 view .LVU996 2946 0000 08B5 push {r3, lr} 2947 .cfi_def_cfa_offset 8 2948 .cfi_offset 3, -8 2949 .cfi_offset 14, -4 3370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2950 .loc 1 3370 3 is_stmt 1 view .LVU997 3370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2951 .loc 1 3370 23 is_stmt 0 view .LVU998 2952 0002 416A ldr r1, [r0, #36] 2953 .LVL263: 3373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2954 .loc 1 3373 3 is_stmt 1 view .LVU999 3373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2955 .loc 1 3373 17 is_stmt 0 view .LVU1000 2956 0004 8369 ldr r3, [r0, #24] 3373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 154 2957 .loc 1 3373 6 view .LVU1001 2958 0006 202B cmp r3, #32 2959 0008 18D0 beq .L114 3375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2960 .loc 1 3375 5 is_stmt 1 view .LVU1002 3375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2961 .loc 1 3375 24 is_stmt 0 view .LVU1003 2962 000a 0023 movs r3, #0 2963 000c A1F85230 strh r3, [r1, #82] @ movhi 2964 .LVL264: 2965 .L115: 3379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2966 .loc 1 3379 5 is_stmt 1 discriminator 1 view .LVU1004 2967 .LBB570: 3379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2968 .loc 1 3379 5 discriminator 1 view .LVU1005 3379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2969 .loc 1 3379 5 discriminator 1 view .LVU1006 3379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2970 .loc 1 3379 5 discriminator 1 view .LVU1007 2971 0010 0A68 ldr r2, [r1] 2972 .LVL265: 2973 .LBB571: 2974 .LBI571: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2975 .loc 2 1068 31 discriminator 1 view .LVU1008 2976 .LBB572: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2977 .loc 2 1070 5 discriminator 1 view .LVU1009 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2978 .loc 2 1072 4 discriminator 1 view .LVU1010 2979 0012 02F10803 add r3, r2, #8 2980 .LVL266: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2981 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU1011 2982 .syntax unified 2983 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2984 0016 53E8003F ldrex r3, [r3] 2985 @ 0 "" 2 2986 .LVL267: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2987 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU1012 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2988 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1013 2989 .thumb 2990 .syntax unified 2991 .LBE572: 2992 .LBE571: 3379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2993 .loc 1 3379 5 discriminator 1 view .LVU1014 2994 001a 23F08003 bic r3, r3, #128 2995 .LVL268: 3379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2996 .loc 1 3379 5 is_stmt 1 discriminator 1 view .LVU1015 2997 .LBB573: 2998 .LBI573: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 155 2999 .loc 2 1119 31 discriminator 1 view .LVU1016 3000 .LBB574: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 3001 .loc 2 1121 4 discriminator 1 view .LVU1017 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3002 .loc 2 1123 4 discriminator 1 view .LVU1018 3003 001e 0832 adds r2, r2, #8 3004 .LVL269: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3005 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU1019 3006 .syntax unified 3007 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3008 0020 42E80030 strex r0, r3, [r2] 3009 @ 0 "" 2 3010 .LVL270: 3011 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU1020 3012 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1021 3013 .thumb 3014 .syntax unified 3015 .LBE574: 3016 .LBE573: 3379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3017 .loc 1 3379 5 discriminator 1 view .LVU1022 3018 0024 0028 cmp r0, #0 3019 0026 F3D1 bne .L115 3020 .LVL271: 3021 .L116: 3379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3022 .loc 1 3379 5 discriminator 1 view .LVU1023 3023 .LBE570: 3379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3024 .loc 1 3379 5 is_stmt 1 discriminator 1 view .LVU1024 3382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3025 .loc 1 3382 5 discriminator 1 view .LVU1025 3026 .LBB575: 3382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3027 .loc 1 3382 5 discriminator 1 view .LVU1026 3382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3028 .loc 1 3382 5 discriminator 1 view .LVU1027 3382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3029 .loc 1 3382 5 discriminator 1 view .LVU1028 3030 0028 0A68 ldr r2, [r1] 3031 .LVL272: 3032 .LBB576: 3033 .LBI576: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3034 .loc 2 1068 31 discriminator 1 view .LVU1029 3035 .LBB577: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 3036 .loc 2 1070 5 discriminator 1 view .LVU1030 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3037 .loc 2 1072 4 discriminator 1 view .LVU1031 3038 .syntax unified 3039 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3040 002a 52E8003F ldrex r3, [r2] 3041 @ 0 "" 2 3042 .LVL273: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 156 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3043 .loc 2 1073 4 discriminator 1 view .LVU1032 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3044 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1033 3045 .thumb 3046 .syntax unified 3047 .LBE577: 3048 .LBE576: 3382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3049 .loc 1 3382 5 discriminator 1 view .LVU1034 3050 002e 43F04003 orr r3, r3, #64 3051 .LVL274: 3382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3052 .loc 1 3382 5 is_stmt 1 discriminator 1 view .LVU1035 3053 .LBB578: 3054 .LBI578: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3055 .loc 2 1119 31 discriminator 1 view .LVU1036 3056 .LBB579: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 3057 .loc 2 1121 4 discriminator 1 view .LVU1037 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3058 .loc 2 1123 4 discriminator 1 view .LVU1038 3059 .syntax unified 3060 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3061 0032 42E80030 strex r0, r3, [r2] 3062 @ 0 "" 2 3063 .LVL275: 3064 .loc 2 1124 4 discriminator 1 view .LVU1039 3065 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1040 3066 .thumb 3067 .syntax unified 3068 .LBE579: 3069 .LBE578: 3382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3070 .loc 1 3382 5 discriminator 1 view .LVU1041 3071 0036 0028 cmp r0, #0 3072 0038 F6D1 bne .L116 3073 .LVL276: 3074 .L113: 3382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3075 .loc 1 3382 5 discriminator 1 view .LVU1042 3076 .LBE575: 3395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3077 .loc 1 3395 1 view .LVU1043 3078 003a 08BD pop {r3, pc} 3079 .LVL277: 3080 .L114: 3392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3081 .loc 1 3392 5 is_stmt 1 view .LVU1044 3082 003c 0846 mov r0, r1 3083 .LVL278: 3392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3084 .loc 1 3392 5 is_stmt 0 view .LVU1045 3085 003e FFF7FEFF bl HAL_UART_TxCpltCallback 3086 .LVL279: 3395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 157 3087 .loc 1 3395 1 view .LVU1046 3088 0042 FAE7 b .L113 3089 .cfi_endproc 3090 .LFE181: 3092 .section .text.UART_EndTransmit_IT,"ax",%progbits 3093 .align 1 3094 .syntax unified 3095 .thumb 3096 .thumb_func 3098 UART_EndTransmit_IT: 3099 .LFB193: 3798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Wrap up transmission in non-blocking mode. 3802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart pointer to a UART_HandleTypeDef structure that contains 3803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the configuration information for the specified UART module. 3804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_EndTransmit_IT(UART_HandleTypeDef *huart) 3807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3100 .loc 1 3807 1 is_stmt 1 view -0 3101 .cfi_startproc 3102 @ args = 0, pretend = 0, frame = 0 3103 @ frame_needed = 0, uses_anonymous_args = 0 3104 .LVL280: 3105 .loc 1 3807 1 is_stmt 0 view .LVU1048 3106 0000 08B5 push {r3, lr} 3107 .cfi_def_cfa_offset 8 3108 .cfi_offset 3, -8 3109 .cfi_offset 14, -4 3110 .L120: 3808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Transmit Complete Interrupt */ 3809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TCIE); 3111 .loc 1 3809 3 is_stmt 1 discriminator 1 view .LVU1049 3112 .LBB580: 3113 .loc 1 3809 3 discriminator 1 view .LVU1050 3114 .loc 1 3809 3 discriminator 1 view .LVU1051 3115 .loc 1 3809 3 discriminator 1 view .LVU1052 3116 0002 0268 ldr r2, [r0] 3117 .LVL281: 3118 .LBB581: 3119 .LBI581: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3120 .loc 2 1068 31 discriminator 1 view .LVU1053 3121 .LBB582: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 3122 .loc 2 1070 5 discriminator 1 view .LVU1054 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3123 .loc 2 1072 4 discriminator 1 view .LVU1055 3124 .syntax unified 3125 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3126 0004 52E8003F ldrex r3, [r2] 3127 @ 0 "" 2 3128 .LVL282: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3129 .loc 2 1073 4 discriminator 1 view .LVU1056 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 158 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3130 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1057 3131 .thumb 3132 .syntax unified 3133 .LBE582: 3134 .LBE581: 3135 .loc 1 3809 3 discriminator 1 view .LVU1058 3136 0008 23F04003 bic r3, r3, #64 3137 .LVL283: 3138 .loc 1 3809 3 is_stmt 1 discriminator 1 view .LVU1059 3139 .LBB583: 3140 .LBI583: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3141 .loc 2 1119 31 discriminator 1 view .LVU1060 3142 .LBB584: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 3143 .loc 2 1121 4 discriminator 1 view .LVU1061 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3144 .loc 2 1123 4 discriminator 1 view .LVU1062 3145 .syntax unified 3146 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3147 000c 42E80031 strex r1, r3, [r2] 3148 @ 0 "" 2 3149 .LVL284: 3150 .loc 2 1124 4 discriminator 1 view .LVU1063 3151 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1064 3152 .thumb 3153 .syntax unified 3154 .LBE584: 3155 .LBE583: 3156 .loc 1 3809 3 discriminator 1 view .LVU1065 3157 0010 0029 cmp r1, #0 3158 0012 F6D1 bne .L120 3159 .LBE580: 3160 .loc 1 3809 3 is_stmt 1 discriminator 2 view .LVU1066 3810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Tx process is ended, restore huart->gState to Ready */ 3812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3161 .loc 1 3812 3 discriminator 2 view .LVU1067 3162 .loc 1 3812 17 is_stmt 0 discriminator 2 view .LVU1068 3163 0014 2023 movs r3, #32 3164 .LVL285: 3165 .loc 1 3812 17 discriminator 2 view .LVU1069 3166 0016 C367 str r3, [r0, #124] 3813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Cleat TxISR function pointer */ 3815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL; 3167 .loc 1 3815 3 is_stmt 1 discriminator 2 view .LVU1070 3168 .loc 1 3815 16 is_stmt 0 discriminator 2 view .LVU1071 3169 0018 0023 movs r3, #0 3170 001a C366 str r3, [r0, #108] 3816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Tx complete callback*/ 3819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxCpltCallback(huart); 3820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/ ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 159 3822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart); 3171 .loc 1 3822 3 is_stmt 1 discriminator 2 view .LVU1072 3172 001c FFF7FEFF bl HAL_UART_TxCpltCallback 3173 .LVL286: 3823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3174 .loc 1 3824 1 is_stmt 0 discriminator 2 view .LVU1073 3175 0020 08BD pop {r3, pc} 3176 .cfi_endproc 3177 .LFE193: 3179 .section .text.HAL_UART_TxHalfCpltCallback,"ax",%progbits 3180 .align 1 3181 .weak HAL_UART_TxHalfCpltCallback 3182 .syntax unified 3183 .thumb 3184 .thumb_func 3186 HAL_UART_TxHalfCpltCallback: 3187 .LVL287: 3188 .LFB154: 2436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 3189 .loc 1 2436 1 is_stmt 1 view -0 3190 .cfi_startproc 3191 @ args = 0, pretend = 0, frame = 0 3192 @ frame_needed = 0, uses_anonymous_args = 0 3193 @ link register save eliminated. 2438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3194 .loc 1 2438 3 view .LVU1075 2443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3195 .loc 1 2443 1 is_stmt 0 view .LVU1076 3196 0000 7047 bx lr 3197 .cfi_endproc 3198 .LFE154: 3200 .section .text.UART_DMATxHalfCplt,"ax",%progbits 3201 .align 1 3202 .syntax unified 3203 .thumb 3204 .thumb_func 3206 UART_DMATxHalfCplt: 3207 .LVL288: 3208 .LFB182: 3403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3209 .loc 1 3403 1 is_stmt 1 view -0 3210 .cfi_startproc 3211 @ args = 0, pretend = 0, frame = 0 3212 @ frame_needed = 0, uses_anonymous_args = 0 3403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3213 .loc 1 3403 1 is_stmt 0 view .LVU1078 3214 0000 08B5 push {r3, lr} 3215 .cfi_def_cfa_offset 8 3216 .cfi_offset 3, -8 3217 .cfi_offset 14, -4 3404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3218 .loc 1 3404 3 is_stmt 1 view .LVU1079 3219 .LVL289: 3411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3220 .loc 1 3411 3 view .LVU1080 3221 0002 406A ldr r0, [r0, #36] ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 160 3222 .LVL290: 3411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3223 .loc 1 3411 3 is_stmt 0 view .LVU1081 3224 0004 FFF7FEFF bl HAL_UART_TxHalfCpltCallback 3225 .LVL291: 3413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3226 .loc 1 3413 1 view .LVU1082 3227 0008 08BD pop {r3, pc} 3228 .cfi_endproc 3229 .LFE182: 3231 .section .text.HAL_UART_RxCpltCallback,"ax",%progbits 3232 .align 1 3233 .weak HAL_UART_RxCpltCallback 3234 .syntax unified 3235 .thumb 3236 .thumb_func 3238 HAL_UART_RxCpltCallback: 3239 .LVL292: 3240 .LFB155: 2451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 3241 .loc 1 2451 1 is_stmt 1 view -0 3242 .cfi_startproc 3243 @ args = 0, pretend = 0, frame = 0 3244 @ frame_needed = 0, uses_anonymous_args = 0 3245 @ link register save eliminated. 2453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3246 .loc 1 2453 3 view .LVU1084 2458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3247 .loc 1 2458 1 is_stmt 0 view .LVU1085 3248 0000 7047 bx lr 3249 .cfi_endproc 3250 .LFE155: 3252 .section .text.HAL_UART_RxHalfCpltCallback,"ax",%progbits 3253 .align 1 3254 .weak HAL_UART_RxHalfCpltCallback 3255 .syntax unified 3256 .thumb 3257 .thumb_func 3259 HAL_UART_RxHalfCpltCallback: 3260 .LVL293: 3261 .LFB156: 2466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 3262 .loc 1 2466 1 is_stmt 1 view -0 3263 .cfi_startproc 3264 @ args = 0, pretend = 0, frame = 0 3265 @ frame_needed = 0, uses_anonymous_args = 0 3266 @ link register save eliminated. 2468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3267 .loc 1 2468 3 view .LVU1087 2473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3268 .loc 1 2473 1 is_stmt 0 view .LVU1088 3269 0000 7047 bx lr 3270 .cfi_endproc 3271 .LFE156: 3273 .section .text.HAL_UART_ErrorCallback,"ax",%progbits 3274 .align 1 3275 .weak HAL_UART_ErrorCallback ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 161 3276 .syntax unified 3277 .thumb 3278 .thumb_func 3280 HAL_UART_ErrorCallback: 3281 .LVL294: 3282 .LFB157: 2481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 3283 .loc 1 2481 1 is_stmt 1 view -0 3284 .cfi_startproc 3285 @ args = 0, pretend = 0, frame = 0 3286 @ frame_needed = 0, uses_anonymous_args = 0 3287 @ link register save eliminated. 2483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3288 .loc 1 2483 3 view .LVU1090 2488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3289 .loc 1 2488 1 is_stmt 0 view .LVU1091 3290 0000 7047 bx lr 3291 .cfi_endproc 3292 .LFE157: 3294 .section .text.UART_DMAError,"ax",%progbits 3295 .align 1 3296 .syntax unified 3297 .thumb 3298 .thumb_func 3300 UART_DMAError: 3301 .LVL295: 3302 .LFB185: 3520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3303 .loc 1 3520 1 is_stmt 1 view -0 3304 .cfi_startproc 3305 @ args = 0, pretend = 0, frame = 0 3306 @ frame_needed = 0, uses_anonymous_args = 0 3520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3307 .loc 1 3520 1 is_stmt 0 view .LVU1093 3308 0000 38B5 push {r3, r4, r5, lr} 3309 .cfi_def_cfa_offset 16 3310 .cfi_offset 3, -16 3311 .cfi_offset 4, -12 3312 .cfi_offset 5, -8 3313 .cfi_offset 14, -4 3521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3314 .loc 1 3521 3 is_stmt 1 view .LVU1094 3521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3315 .loc 1 3521 23 is_stmt 0 view .LVU1095 3316 0002 446A ldr r4, [r0, #36] 3317 .LVL296: 3523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 3318 .loc 1 3523 3 is_stmt 1 view .LVU1096 3523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 3319 .loc 1 3523 31 is_stmt 0 view .LVU1097 3320 0004 E26F ldr r2, [r4, #124] 3321 .LVL297: 3524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3322 .loc 1 3524 3 is_stmt 1 view .LVU1098 3524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3323 .loc 1 3524 31 is_stmt 0 view .LVU1099 3324 0006 D4F88050 ldr r5, [r4, #128] ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 162 3325 .LVL298: 3527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 3326 .loc 1 3527 3 is_stmt 1 view .LVU1100 3527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 3327 .loc 1 3527 8 is_stmt 0 view .LVU1101 3328 000a 2368 ldr r3, [r4] 3329 000c 9B68 ldr r3, [r3, #8] 3527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 3330 .loc 1 3527 6 view .LVU1102 3331 000e 13F0800F tst r3, #128 3332 0012 01D0 beq .L129 3527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 3333 .loc 1 3527 62 discriminator 1 view .LVU1103 3334 0014 212A cmp r2, #33 3335 0016 10D0 beq .L132 3336 .LVL299: 3337 .L129: 3535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 3338 .loc 1 3535 3 is_stmt 1 view .LVU1104 3535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 3339 .loc 1 3535 8 is_stmt 0 view .LVU1105 3340 0018 2368 ldr r3, [r4] 3341 001a 9B68 ldr r3, [r3, #8] 3535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 3342 .loc 1 3535 6 view .LVU1106 3343 001c 13F0400F tst r3, #64 3344 0020 01D0 beq .L130 3535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 3345 .loc 1 3535 62 discriminator 1 view .LVU1107 3346 0022 222D cmp r5, #34 3347 0024 10D0 beq .L133 3348 .L130: 3542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3349 .loc 1 3542 3 is_stmt 1 view .LVU1108 3542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3350 .loc 1 3542 8 is_stmt 0 view .LVU1109 3351 0026 D4F88430 ldr r3, [r4, #132] 3542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3352 .loc 1 3542 20 view .LVU1110 3353 002a 43F01003 orr r3, r3, #16 3354 002e C4F88430 str r3, [r4, #132] 3549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3355 .loc 1 3549 3 is_stmt 1 view .LVU1111 3356 0032 2046 mov r0, r4 3357 0034 FFF7FEFF bl HAL_UART_ErrorCallback 3358 .LVL300: 3551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3359 .loc 1 3551 1 is_stmt 0 view .LVU1112 3360 0038 38BD pop {r3, r4, r5, pc} 3361 .LVL301: 3362 .L132: 3530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndTxTransfer(huart); 3363 .loc 1 3530 5 is_stmt 1 view .LVU1113 3530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndTxTransfer(huart); 3364 .loc 1 3530 24 is_stmt 0 view .LVU1114 3365 003a 0023 movs r3, #0 3366 003c A4F85230 strh r3, [r4, #82] @ movhi ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 163 3531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3367 .loc 1 3531 5 is_stmt 1 view .LVU1115 3368 0040 2046 mov r0, r4 3369 .LVL302: 3531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3370 .loc 1 3531 5 is_stmt 0 view .LVU1116 3371 0042 FFF7FEFF bl UART_EndTxTransfer 3372 .LVL303: 3531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3373 .loc 1 3531 5 view .LVU1117 3374 0046 E7E7 b .L129 3375 .L133: 3538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndRxTransfer(huart); 3376 .loc 1 3538 5 is_stmt 1 view .LVU1118 3538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndRxTransfer(huart); 3377 .loc 1 3538 24 is_stmt 0 view .LVU1119 3378 0048 0023 movs r3, #0 3379 004a A4F85A30 strh r3, [r4, #90] @ movhi 3539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3380 .loc 1 3539 5 is_stmt 1 view .LVU1120 3381 004e 2046 mov r0, r4 3382 0050 FFF7FEFF bl UART_EndRxTransfer 3383 .LVL304: 3384 0054 E7E7 b .L130 3385 .cfi_endproc 3386 .LFE185: 3388 .section .text.UART_DMAAbortOnError,"ax",%progbits 3389 .align 1 3390 .syntax unified 3391 .thumb 3392 .thumb_func 3394 UART_DMAAbortOnError: 3395 .LVL305: 3396 .LFB186: 3560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3397 .loc 1 3560 1 view -0 3398 .cfi_startproc 3399 @ args = 0, pretend = 0, frame = 0 3400 @ frame_needed = 0, uses_anonymous_args = 0 3560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3401 .loc 1 3560 1 is_stmt 0 view .LVU1122 3402 0000 08B5 push {r3, lr} 3403 .cfi_def_cfa_offset 8 3404 .cfi_offset 3, -8 3405 .cfi_offset 14, -4 3561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 3406 .loc 1 3561 3 is_stmt 1 view .LVU1123 3561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 3407 .loc 1 3561 23 is_stmt 0 view .LVU1124 3408 0002 406A ldr r0, [r0, #36] 3409 .LVL306: 3562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U; 3410 .loc 1 3562 3 is_stmt 1 view .LVU1125 3562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U; 3411 .loc 1 3562 22 is_stmt 0 view .LVU1126 3412 0004 0023 movs r3, #0 3413 0006 A0F85A30 strh r3, [r0, #90] @ movhi ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 164 3563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3414 .loc 1 3563 3 is_stmt 1 view .LVU1127 3563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3415 .loc 1 3563 22 is_stmt 0 view .LVU1128 3416 000a A0F85230 strh r3, [r0, #82] @ movhi 3570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3417 .loc 1 3570 3 is_stmt 1 view .LVU1129 3418 000e FFF7FEFF bl HAL_UART_ErrorCallback 3419 .LVL307: 3572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3420 .loc 1 3572 1 is_stmt 0 view .LVU1130 3421 0012 08BD pop {r3, pc} 3422 .cfi_endproc 3423 .LFE186: 3425 .section .text.HAL_UART_AbortCpltCallback,"ax",%progbits 3426 .align 1 3427 .weak HAL_UART_AbortCpltCallback 3428 .syntax unified 3429 .thumb 3430 .thumb_func 3432 HAL_UART_AbortCpltCallback: 3433 .LVL308: 3434 .LFB158: 2496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 3435 .loc 1 2496 1 is_stmt 1 view -0 3436 .cfi_startproc 3437 @ args = 0, pretend = 0, frame = 0 3438 @ frame_needed = 0, uses_anonymous_args = 0 3439 @ link register save eliminated. 2498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3440 .loc 1 2498 3 view .LVU1132 2503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3441 .loc 1 2503 1 is_stmt 0 view .LVU1133 3442 0000 7047 bx lr 3443 .cfi_endproc 3444 .LFE158: 3446 .section .text.HAL_UART_Abort_IT,"ax",%progbits 3447 .align 1 3448 .global HAL_UART_Abort_IT 3449 .syntax unified 3450 .thumb 3451 .thumb_func 3453 HAL_UART_Abort_IT: 3454 .LVL309: 3455 .LFB149: 1794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t abortcplt = 1U; 3456 .loc 1 1794 1 is_stmt 1 view -0 3457 .cfi_startproc 3458 @ args = 0, pretend = 0, frame = 0 3459 @ frame_needed = 0, uses_anonymous_args = 0 1794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t abortcplt = 1U; 3460 .loc 1 1794 1 is_stmt 0 view .LVU1135 3461 0000 38B5 push {r3, r4, r5, lr} 3462 .cfi_def_cfa_offset 16 3463 .cfi_offset 3, -16 3464 .cfi_offset 4, -12 3465 .cfi_offset 5, -8 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 165 3466 .cfi_offset 14, -4 3467 0002 0446 mov r4, r0 1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3468 .loc 1 1795 3 is_stmt 1 view .LVU1136 3469 .LVL310: 3470 .L138: 1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3471 .loc 1 1798 3 discriminator 1 view .LVU1137 3472 .LBB585: 1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3473 .loc 1 1798 3 discriminator 1 view .LVU1138 1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3474 .loc 1 1798 3 discriminator 1 view .LVU1139 1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3475 .loc 1 1798 3 discriminator 1 view .LVU1140 3476 0004 2268 ldr r2, [r4] 3477 .LVL311: 3478 .LBB586: 3479 .LBI586: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3480 .loc 2 1068 31 discriminator 1 view .LVU1141 3481 .LBB587: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 3482 .loc 2 1070 5 discriminator 1 view .LVU1142 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3483 .loc 2 1072 4 discriminator 1 view .LVU1143 3484 .syntax unified 3485 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3486 0006 52E8003F ldrex r3, [r2] 3487 @ 0 "" 2 3488 .LVL312: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3489 .loc 2 1073 4 discriminator 1 view .LVU1144 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3490 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1145 3491 .thumb 3492 .syntax unified 3493 .LBE587: 3494 .LBE586: 1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3495 .loc 1 1798 3 discriminator 1 view .LVU1146 3496 000a 23F4F073 bic r3, r3, #480 3497 .LVL313: 1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3498 .loc 1 1798 3 is_stmt 1 discriminator 1 view .LVU1147 3499 .LBB588: 3500 .LBI588: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3501 .loc 2 1119 31 discriminator 1 view .LVU1148 3502 .LBB589: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 3503 .loc 2 1121 4 discriminator 1 view .LVU1149 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3504 .loc 2 1123 4 discriminator 1 view .LVU1150 3505 .syntax unified 3506 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3507 000e 42E80031 strex r1, r3, [r2] ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 166 3508 @ 0 "" 2 3509 .LVL314: 3510 .loc 2 1124 4 discriminator 1 view .LVU1151 3511 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1152 3512 .thumb 3513 .syntax unified 3514 .LBE589: 3515 .LBE588: 1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3516 .loc 1 1798 3 discriminator 1 view .LVU1153 3517 0012 0029 cmp r1, #0 3518 0014 F6D1 bne .L138 3519 .LVL315: 3520 .L139: 1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3521 .loc 1 1798 3 discriminator 1 view .LVU1154 3522 .LBE585: 1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3523 .loc 1 1798 3 is_stmt 1 discriminator 1 view .LVU1155 1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3524 .loc 1 1799 3 discriminator 1 view .LVU1156 3525 .LBB590: 1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3526 .loc 1 1799 3 discriminator 1 view .LVU1157 1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3527 .loc 1 1799 3 discriminator 1 view .LVU1158 1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3528 .loc 1 1799 3 discriminator 1 view .LVU1159 3529 0016 2268 ldr r2, [r4] 3530 .LVL316: 3531 .LBB591: 3532 .LBI591: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3533 .loc 2 1068 31 discriminator 1 view .LVU1160 3534 .LBB592: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 3535 .loc 2 1070 5 discriminator 1 view .LVU1161 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3536 .loc 2 1072 4 discriminator 1 view .LVU1162 3537 0018 02F10803 add r3, r2, #8 3538 .LVL317: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3539 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU1163 3540 .syntax unified 3541 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3542 001c 53E8003F ldrex r3, [r3] 3543 @ 0 "" 2 3544 .LVL318: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3545 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU1164 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3546 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1165 3547 .thumb 3548 .syntax unified 3549 .LBE592: 3550 .LBE591: 1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 167 3551 .loc 1 1799 3 discriminator 1 view .LVU1166 3552 0020 23F00103 bic r3, r3, #1 3553 .LVL319: 1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3554 .loc 1 1799 3 is_stmt 1 discriminator 1 view .LVU1167 3555 .LBB593: 3556 .LBI593: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3557 .loc 2 1119 31 discriminator 1 view .LVU1168 3558 .LBB594: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 3559 .loc 2 1121 4 discriminator 1 view .LVU1169 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3560 .loc 2 1123 4 discriminator 1 view .LVU1170 3561 0024 0832 adds r2, r2, #8 3562 .LVL320: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3563 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU1171 3564 .syntax unified 3565 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3566 0026 42E80031 strex r1, r3, [r2] 3567 @ 0 "" 2 3568 .LVL321: 3569 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU1172 3570 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1173 3571 .thumb 3572 .syntax unified 3573 .LBE594: 3574 .LBE593: 1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3575 .loc 1 1799 3 discriminator 1 view .LVU1174 3576 002a 0029 cmp r1, #0 3577 002c F3D1 bne .L139 3578 .LBE590: 1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3579 .loc 1 1799 3 is_stmt 1 discriminator 2 view .LVU1175 1802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3580 .loc 1 1802 3 discriminator 2 view .LVU1176 1802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3581 .loc 1 1802 12 is_stmt 0 discriminator 2 view .LVU1177 3582 002e 236E ldr r3, [r4, #96] 3583 .LVL322: 1802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3584 .loc 1 1802 6 discriminator 2 view .LVU1178 3585 0030 012B cmp r3, #1 3586 0032 2ED0 beq .L141 3587 .L140: 1804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3588 .loc 1 1804 5 is_stmt 1 discriminator 2 view .LVU1179 1810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3589 .loc 1 1810 3 discriminator 2 view .LVU1180 1810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3590 .loc 1 1810 12 is_stmt 0 discriminator 2 view .LVU1181 3591 0034 236F ldr r3, [r4, #112] 1810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3592 .loc 1 1810 6 discriminator 2 view .LVU1182 3593 0036 33B1 cbz r3, .L142 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 168 1814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3594 .loc 1 1814 5 is_stmt 1 view .LVU1183 1814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3595 .loc 1 1814 9 is_stmt 0 view .LVU1184 3596 0038 2268 ldr r2, [r4] 3597 003a 9268 ldr r2, [r2, #8] 1814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3598 .loc 1 1814 8 view .LVU1185 3599 003c 12F0800F tst r2, #128 3600 0040 31D0 beq .L143 1816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3601 .loc 1 1816 7 is_stmt 1 view .LVU1186 1816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3602 .loc 1 1816 40 is_stmt 0 view .LVU1187 3603 0042 394A ldr r2, .L155 3604 0044 5A63 str r2, [r3, #52] 3605 .L142: 1824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3606 .loc 1 1824 3 is_stmt 1 view .LVU1188 1824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3607 .loc 1 1824 12 is_stmt 0 view .LVU1189 3608 0046 636F ldr r3, [r4, #116] 1824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3609 .loc 1 1824 6 view .LVU1190 3610 0048 33B1 cbz r3, .L144 1828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3611 .loc 1 1828 5 is_stmt 1 view .LVU1191 1828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3612 .loc 1 1828 9 is_stmt 0 view .LVU1192 3613 004a 2268 ldr r2, [r4] 3614 004c 9268 ldr r2, [r2, #8] 1828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3615 .loc 1 1828 8 view .LVU1193 3616 004e 12F0400F tst r2, #64 3617 0052 2BD0 beq .L145 1830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3618 .loc 1 1830 7 is_stmt 1 view .LVU1194 1830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3619 .loc 1 1830 40 is_stmt 0 view .LVU1195 3620 0054 354A ldr r2, .L155+4 3621 0056 5A63 str r2, [r3, #52] 3622 .L144: 1839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3623 .loc 1 1839 3 is_stmt 1 view .LVU1196 1839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3624 .loc 1 1839 7 is_stmt 0 view .LVU1197 3625 0058 2368 ldr r3, [r4] 3626 005a 9B68 ldr r3, [r3, #8] 1839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3627 .loc 1 1839 6 view .LVU1198 3628 005c 13F0800F tst r3, #128 3629 0060 27D0 beq .L152 3630 .L147: 1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3631 .loc 1 1842 5 is_stmt 1 discriminator 1 view .LVU1199 3632 .LBB595: 1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 169 3633 .loc 1 1842 5 discriminator 1 view .LVU1200 1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3634 .loc 1 1842 5 discriminator 1 view .LVU1201 1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3635 .loc 1 1842 5 discriminator 1 view .LVU1202 3636 0062 2168 ldr r1, [r4] 3637 .LVL323: 3638 .LBB596: 3639 .LBI596: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3640 .loc 2 1068 31 discriminator 1 view .LVU1203 3641 .LBB597: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 3642 .loc 2 1070 5 discriminator 1 view .LVU1204 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3643 .loc 2 1072 4 discriminator 1 view .LVU1205 3644 0064 01F10803 add r3, r1, #8 3645 .LVL324: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3646 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU1206 3647 .syntax unified 3648 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3649 0068 53E8003F ldrex r3, [r3] 3650 @ 0 "" 2 3651 .LVL325: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3652 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU1207 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3653 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1208 3654 .thumb 3655 .syntax unified 3656 .LBE597: 3657 .LBE596: 1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3658 .loc 1 1842 5 discriminator 1 view .LVU1209 3659 006c 23F08003 bic r3, r3, #128 3660 .LVL326: 1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3661 .loc 1 1842 5 is_stmt 1 discriminator 1 view .LVU1210 3662 .LBB598: 3663 .LBI598: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3664 .loc 2 1119 31 discriminator 1 view .LVU1211 3665 .LBB599: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 3666 .loc 2 1121 4 discriminator 1 view .LVU1212 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3667 .loc 2 1123 4 discriminator 1 view .LVU1213 3668 0070 0831 adds r1, r1, #8 3669 .LVL327: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3670 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU1214 3671 .syntax unified 3672 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3673 0072 41E80032 strex r2, r3, [r1] 3674 @ 0 "" 2 3675 .thumb ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 170 3676 .syntax unified 3677 0076 1546 mov r5, r2 3678 .LVL328: 3679 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU1215 3680 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1216 3681 .LBE599: 3682 .LBE598: 1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3683 .loc 1 1842 5 discriminator 1 view .LVU1217 3684 0078 002A cmp r2, #0 3685 007a F2D1 bne .L147 3686 .LBE595: 1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3687 .loc 1 1842 5 is_stmt 1 discriminator 2 view .LVU1218 1845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3688 .loc 1 1845 5 discriminator 2 view .LVU1219 1845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3689 .loc 1 1845 14 is_stmt 0 discriminator 2 view .LVU1220 3690 007c 206F ldr r0, [r4, #112] 3691 .LVL329: 1845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3692 .loc 1 1845 8 discriminator 2 view .LVU1221 3693 007e 0028 cmp r0, #0 3694 0080 4BD0 beq .L153 1851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3695 .loc 1 1851 7 is_stmt 1 view .LVU1222 1851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3696 .loc 1 1851 11 is_stmt 0 view .LVU1223 3697 0082 FFF7FEFF bl HAL_DMA_Abort_IT 3698 .LVL330: 1851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3699 .loc 1 1851 10 view .LVU1224 3700 0086 A8B1 cbz r0, .L146 1853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3701 .loc 1 1853 9 is_stmt 1 view .LVU1225 1853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3702 .loc 1 1853 14 is_stmt 0 view .LVU1226 3703 0088 236F ldr r3, [r4, #112] 1853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3704 .loc 1 1853 42 view .LVU1227 3705 008a 0022 movs r2, #0 3706 008c 5A63 str r2, [r3, #52] 1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3707 .loc 1 1795 12 view .LVU1228 3708 008e 0125 movs r5, #1 3709 0090 10E0 b .L146 3710 .LVL331: 3711 .L141: 1804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3712 .loc 1 1804 5 is_stmt 1 discriminator 1 view .LVU1229 3713 .LBB600: 1804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3714 .loc 1 1804 5 discriminator 1 view .LVU1230 1804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3715 .loc 1 1804 5 discriminator 1 view .LVU1231 1804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3716 .loc 1 1804 5 discriminator 1 view .LVU1232 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 171 3717 0092 2268 ldr r2, [r4] 3718 .LVL332: 3719 .LBB601: 3720 .LBI601: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3721 .loc 2 1068 31 discriminator 1 view .LVU1233 3722 .LBB602: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 3723 .loc 2 1070 5 discriminator 1 view .LVU1234 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3724 .loc 2 1072 4 discriminator 1 view .LVU1235 3725 .syntax unified 3726 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3727 0094 52E8003F ldrex r3, [r2] 3728 @ 0 "" 2 3729 .LVL333: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3730 .loc 2 1073 4 discriminator 1 view .LVU1236 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3731 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1237 3732 .thumb 3733 .syntax unified 3734 .LBE602: 3735 .LBE601: 1804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3736 .loc 1 1804 5 discriminator 1 view .LVU1238 3737 0098 23F01003 bic r3, r3, #16 3738 .LVL334: 1804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3739 .loc 1 1804 5 is_stmt 1 discriminator 1 view .LVU1239 3740 .LBB603: 3741 .LBI603: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3742 .loc 2 1119 31 discriminator 1 view .LVU1240 3743 .LBB604: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 3744 .loc 2 1121 4 discriminator 1 view .LVU1241 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3745 .loc 2 1123 4 discriminator 1 view .LVU1242 3746 .syntax unified 3747 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3748 009c 42E80031 strex r1, r3, [r2] 3749 @ 0 "" 2 3750 .LVL335: 3751 .loc 2 1124 4 discriminator 1 view .LVU1243 3752 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1244 3753 .thumb 3754 .syntax unified 3755 .LBE604: 3756 .LBE603: 1804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3757 .loc 1 1804 5 discriminator 1 view .LVU1245 3758 00a0 0029 cmp r1, #0 3759 00a2 F6D1 bne .L141 3760 00a4 C6E7 b .L140 3761 .LVL336: 3762 .L143: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 172 1804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3763 .loc 1 1804 5 discriminator 1 view .LVU1246 3764 .LBE600: 1820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3765 .loc 1 1820 7 is_stmt 1 view .LVU1247 1820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3766 .loc 1 1820 40 is_stmt 0 view .LVU1248 3767 00a6 0022 movs r2, #0 3768 00a8 5A63 str r2, [r3, #52] 3769 00aa CCE7 b .L142 3770 .L145: 1834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3771 .loc 1 1834 7 is_stmt 1 view .LVU1249 1834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3772 .loc 1 1834 40 is_stmt 0 view .LVU1250 3773 00ac 0022 movs r2, #0 3774 00ae 5A63 str r2, [r3, #52] 3775 00b0 D2E7 b .L144 3776 .L152: 1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3777 .loc 1 1795 12 view .LVU1251 3778 00b2 0125 movs r5, #1 3779 .LVL337: 3780 .L146: 1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3781 .loc 1 1863 3 is_stmt 1 view .LVU1252 1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3782 .loc 1 1863 7 is_stmt 0 view .LVU1253 3783 00b4 2368 ldr r3, [r4] 3784 00b6 9B68 ldr r3, [r3, #8] 1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3785 .loc 1 1863 6 view .LVU1254 3786 00b8 13F0400F tst r3, #64 3787 00bc 2FD0 beq .L148 3788 .L149: 1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3789 .loc 1 1866 5 is_stmt 1 discriminator 1 view .LVU1255 3790 .LBB605: 1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3791 .loc 1 1866 5 discriminator 1 view .LVU1256 1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3792 .loc 1 1866 5 discriminator 1 view .LVU1257 1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3793 .loc 1 1866 5 discriminator 1 view .LVU1258 3794 00be 2268 ldr r2, [r4] 3795 .LVL338: 3796 .LBB606: 3797 .LBI606: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3798 .loc 2 1068 31 discriminator 1 view .LVU1259 3799 .LBB607: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 3800 .loc 2 1070 5 discriminator 1 view .LVU1260 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3801 .loc 2 1072 4 discriminator 1 view .LVU1261 3802 00c0 02F10803 add r3, r2, #8 3803 .LVL339: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 173 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3804 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU1262 3805 .syntax unified 3806 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3807 00c4 53E8003F ldrex r3, [r3] 3808 @ 0 "" 2 3809 .LVL340: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3810 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU1263 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3811 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1264 3812 .thumb 3813 .syntax unified 3814 .LBE607: 3815 .LBE606: 1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3816 .loc 1 1866 5 discriminator 1 view .LVU1265 3817 00c8 23F04003 bic r3, r3, #64 3818 .LVL341: 1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3819 .loc 1 1866 5 is_stmt 1 discriminator 1 view .LVU1266 3820 .LBB608: 3821 .LBI608: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3822 .loc 2 1119 31 discriminator 1 view .LVU1267 3823 .LBB609: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 3824 .loc 2 1121 4 discriminator 1 view .LVU1268 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3825 .loc 2 1123 4 discriminator 1 view .LVU1269 3826 00cc 0832 adds r2, r2, #8 3827 .LVL342: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3828 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU1270 3829 .syntax unified 3830 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3831 00ce 42E80031 strex r1, r3, [r2] 3832 @ 0 "" 2 3833 .LVL343: 3834 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU1271 3835 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1272 3836 .thumb 3837 .syntax unified 3838 .LBE609: 3839 .LBE608: 1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3840 .loc 1 1866 5 discriminator 1 view .LVU1273 3841 00d2 0029 cmp r1, #0 3842 00d4 F3D1 bne .L149 3843 .LBE605: 1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3844 .loc 1 1866 5 is_stmt 1 discriminator 2 view .LVU1274 1869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3845 .loc 1 1869 5 discriminator 2 view .LVU1275 1869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3846 .loc 1 1869 14 is_stmt 0 discriminator 2 view .LVU1276 3847 00d6 606F ldr r0, [r4, #116] ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 174 1869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3848 .loc 1 1869 8 discriminator 2 view .LVU1277 3849 00d8 08B3 cbz r0, .L148 1875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3850 .loc 1 1875 7 is_stmt 1 view .LVU1278 1875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3851 .loc 1 1875 11 is_stmt 0 view .LVU1279 3852 00da FFF7FEFF bl HAL_DMA_Abort_IT 3853 .LVL344: 1875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3854 .loc 1 1875 10 view .LVU1280 3855 00de 00B3 cbz r0, .L150 1877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** abortcplt = 1U; 3856 .loc 1 1877 9 is_stmt 1 view .LVU1281 1877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** abortcplt = 1U; 3857 .loc 1 1877 14 is_stmt 0 view .LVU1282 3858 00e0 636F ldr r3, [r4, #116] 1877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** abortcplt = 1U; 3859 .loc 1 1877 42 view .LVU1283 3860 00e2 0022 movs r2, #0 3861 00e4 5A63 str r2, [r3, #52] 1878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3862 .loc 1 1878 9 is_stmt 1 view .LVU1284 3863 .LVL345: 1888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3864 .loc 1 1888 3 view .LVU1285 3865 .L151: 1891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 3866 .loc 1 1891 5 view .LVU1286 1891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 3867 .loc 1 1891 24 is_stmt 0 view .LVU1287 3868 00e6 0023 movs r3, #0 3869 00e8 A4F85230 strh r3, [r4, #82] @ movhi 1892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3870 .loc 1 1892 5 is_stmt 1 view .LVU1288 1892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3871 .loc 1 1892 24 is_stmt 0 view .LVU1289 3872 00ec A4F85A30 strh r3, [r4, #90] @ movhi 1895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL; 3873 .loc 1 1895 5 is_stmt 1 view .LVU1290 1895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL; 3874 .loc 1 1895 18 is_stmt 0 view .LVU1291 3875 00f0 A366 str r3, [r4, #104] 1896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3876 .loc 1 1896 5 is_stmt 1 view .LVU1292 1896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3877 .loc 1 1896 18 is_stmt 0 view .LVU1293 3878 00f2 E366 str r3, [r4, #108] 1899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3879 .loc 1 1899 5 is_stmt 1 view .LVU1294 1899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3880 .loc 1 1899 22 is_stmt 0 view .LVU1295 3881 00f4 C4F88430 str r3, [r4, #132] 1902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3882 .loc 1 1902 5 is_stmt 1 view .LVU1296 3883 00f8 2268 ldr r2, [r4] 3884 00fa 0F21 movs r1, #15 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 175 3885 00fc 1162 str r1, [r2, #32] 1906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3886 .loc 1 1906 5 view .LVU1297 3887 00fe 2168 ldr r1, [r4] 3888 0100 8A69 ldr r2, [r1, #24] 3889 0102 42F00802 orr r2, r2, #8 3890 0106 8A61 str r2, [r1, #24] 1909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3891 .loc 1 1909 5 view .LVU1298 1909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3892 .loc 1 1909 20 is_stmt 0 view .LVU1299 3893 0108 2022 movs r2, #32 3894 010a E267 str r2, [r4, #124] 1910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3895 .loc 1 1910 5 is_stmt 1 view .LVU1300 1910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3896 .loc 1 1910 20 is_stmt 0 view .LVU1301 3897 010c C4F88020 str r2, [r4, #128] 1911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3898 .loc 1 1911 5 is_stmt 1 view .LVU1302 1911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3899 .loc 1 1911 26 is_stmt 0 view .LVU1303 3900 0110 2366 str r3, [r4, #96] 1919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3901 .loc 1 1919 5 is_stmt 1 view .LVU1304 3902 0112 2046 mov r0, r4 3903 0114 FFF7FEFF bl HAL_UART_AbortCpltCallback 3904 .LVL346: 3905 0118 03E0 b .L150 3906 .LVL347: 3907 .L153: 1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3908 .loc 1 1795 12 is_stmt 0 view .LVU1305 3909 011a 0125 movs r5, #1 3910 011c CAE7 b .L146 3911 .LVL348: 3912 .L148: 1888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3913 .loc 1 1888 3 is_stmt 1 view .LVU1306 1888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3914 .loc 1 1888 6 is_stmt 0 view .LVU1307 3915 011e 012D cmp r5, #1 3916 0120 E1D0 beq .L151 3917 .LVL349: 3918 .L150: 1923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3919 .loc 1 1923 3 is_stmt 1 view .LVU1308 1924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3920 .loc 1 1924 1 is_stmt 0 view .LVU1309 3921 0122 0020 movs r0, #0 3922 0124 38BD pop {r3, r4, r5, pc} 3923 .LVL350: 3924 .L156: 1924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3925 .loc 1 1924 1 view .LVU1310 3926 0126 00BF .align 2 3927 .L155: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 176 3928 0128 00000000 .word UART_DMATxAbortCallback 3929 012c 00000000 .word UART_DMARxAbortCallback 3930 .cfi_endproc 3931 .LFE149: 3933 .section .text.UART_DMARxAbortCallback,"ax",%progbits 3934 .align 1 3935 .syntax unified 3936 .thumb 3937 .thumb_func 3939 UART_DMARxAbortCallback: 3940 .LVL351: 3941 .LFB188: 3633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3942 .loc 1 3633 1 is_stmt 1 view -0 3943 .cfi_startproc 3944 @ args = 0, pretend = 0, frame = 0 3945 @ frame_needed = 0, uses_anonymous_args = 0 3633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3946 .loc 1 3633 1 is_stmt 0 view .LVU1312 3947 0000 08B5 push {r3, lr} 3948 .cfi_def_cfa_offset 8 3949 .cfi_offset 3, -8 3950 .cfi_offset 14, -4 3634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3951 .loc 1 3634 3 is_stmt 1 view .LVU1313 3634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3952 .loc 1 3634 23 is_stmt 0 view .LVU1314 3953 0002 406A ldr r0, [r0, #36] 3954 .LVL352: 3636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3955 .loc 1 3636 3 is_stmt 1 view .LVU1315 3636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3956 .loc 1 3636 8 is_stmt 0 view .LVU1316 3957 0004 436F ldr r3, [r0, #116] 3636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3958 .loc 1 3636 36 view .LVU1317 3959 0006 0022 movs r2, #0 3960 0008 5A63 str r2, [r3, #52] 3639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3961 .loc 1 3639 3 is_stmt 1 view .LVU1318 3639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3962 .loc 1 3639 12 is_stmt 0 view .LVU1319 3963 000a 036F ldr r3, [r0, #112] 3639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3964 .loc 1 3639 6 view .LVU1320 3965 000c 0BB1 cbz r3, .L158 3641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3966 .loc 1 3641 5 is_stmt 1 view .LVU1321 3641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3967 .loc 1 3641 22 is_stmt 0 view .LVU1322 3968 000e 5B6B ldr r3, [r3, #52] 3641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3969 .loc 1 3641 8 view .LVU1323 3970 0010 ABB9 cbnz r3, .L157 3971 .L158: 3648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 3972 .loc 1 3648 3 is_stmt 1 view .LVU1324 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 177 3648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 3973 .loc 1 3648 22 is_stmt 0 view .LVU1325 3974 0012 0023 movs r3, #0 3975 0014 A0F85230 strh r3, [r0, #82] @ movhi 3649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3976 .loc 1 3649 3 is_stmt 1 view .LVU1326 3649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3977 .loc 1 3649 22 is_stmt 0 view .LVU1327 3978 0018 A0F85A30 strh r3, [r0, #90] @ movhi 3652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3979 .loc 1 3652 3 is_stmt 1 view .LVU1328 3652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3980 .loc 1 3652 20 is_stmt 0 view .LVU1329 3981 001c C0F88430 str r3, [r0, #132] 3655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3982 .loc 1 3655 3 is_stmt 1 view .LVU1330 3983 0020 0268 ldr r2, [r0] 3984 0022 0F21 movs r1, #15 3985 0024 1162 str r1, [r2, #32] 3658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3986 .loc 1 3658 3 view .LVU1331 3987 0026 0168 ldr r1, [r0] 3988 0028 8A69 ldr r2, [r1, #24] 3989 002a 42F00802 orr r2, r2, #8 3990 002e 8A61 str r2, [r1, #24] 3661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3991 .loc 1 3661 3 view .LVU1332 3661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3992 .loc 1 3661 18 is_stmt 0 view .LVU1333 3993 0030 2022 movs r2, #32 3994 0032 C267 str r2, [r0, #124] 3662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3995 .loc 1 3662 3 is_stmt 1 view .LVU1334 3662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3996 .loc 1 3662 18 is_stmt 0 view .LVU1335 3997 0034 C0F88020 str r2, [r0, #128] 3663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3998 .loc 1 3663 3 is_stmt 1 view .LVU1336 3663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3999 .loc 1 3663 24 is_stmt 0 view .LVU1337 4000 0038 0366 str r3, [r0, #96] 3671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4001 .loc 1 3671 3 is_stmt 1 view .LVU1338 4002 003a FFF7FEFF bl HAL_UART_AbortCpltCallback 4003 .LVL353: 4004 .L157: 3673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4005 .loc 1 3673 1 is_stmt 0 view .LVU1339 4006 003e 08BD pop {r3, pc} 4007 .cfi_endproc 4008 .LFE188: 4010 .section .text.UART_DMATxAbortCallback,"ax",%progbits 4011 .align 1 4012 .syntax unified 4013 .thumb 4014 .thumb_func 4016 UART_DMATxAbortCallback: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 178 4017 .LVL354: 4018 .LFB187: 3583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4019 .loc 1 3583 1 is_stmt 1 view -0 4020 .cfi_startproc 4021 @ args = 0, pretend = 0, frame = 0 4022 @ frame_needed = 0, uses_anonymous_args = 0 3583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4023 .loc 1 3583 1 is_stmt 0 view .LVU1341 4024 0000 08B5 push {r3, lr} 4025 .cfi_def_cfa_offset 8 4026 .cfi_offset 3, -8 4027 .cfi_offset 14, -4 3584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4028 .loc 1 3584 3 is_stmt 1 view .LVU1342 3584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4029 .loc 1 3584 23 is_stmt 0 view .LVU1343 4030 0002 406A ldr r0, [r0, #36] 4031 .LVL355: 3586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4032 .loc 1 3586 3 is_stmt 1 view .LVU1344 3586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4033 .loc 1 3586 8 is_stmt 0 view .LVU1345 4034 0004 036F ldr r3, [r0, #112] 3586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4035 .loc 1 3586 36 view .LVU1346 4036 0006 0022 movs r2, #0 4037 0008 5A63 str r2, [r3, #52] 3589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4038 .loc 1 3589 3 is_stmt 1 view .LVU1347 3589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4039 .loc 1 3589 12 is_stmt 0 view .LVU1348 4040 000a 436F ldr r3, [r0, #116] 3589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4041 .loc 1 3589 6 view .LVU1349 4042 000c 0BB1 cbz r3, .L162 3591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4043 .loc 1 3591 5 is_stmt 1 view .LVU1350 3591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4044 .loc 1 3591 22 is_stmt 0 view .LVU1351 4045 000e 5B6B ldr r3, [r3, #52] 3591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4046 .loc 1 3591 8 view .LVU1352 4047 0010 83B9 cbnz r3, .L161 4048 .L162: 3598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 4049 .loc 1 3598 3 is_stmt 1 view .LVU1353 3598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 4050 .loc 1 3598 22 is_stmt 0 view .LVU1354 4051 0012 0023 movs r3, #0 4052 0014 A0F85230 strh r3, [r0, #82] @ movhi 3599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4053 .loc 1 3599 3 is_stmt 1 view .LVU1355 3599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4054 .loc 1 3599 22 is_stmt 0 view .LVU1356 4055 0018 A0F85A30 strh r3, [r0, #90] @ movhi 3602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 179 4056 .loc 1 3602 3 is_stmt 1 view .LVU1357 3602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4057 .loc 1 3602 20 is_stmt 0 view .LVU1358 4058 001c C0F88430 str r3, [r0, #132] 3605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4059 .loc 1 3605 3 is_stmt 1 view .LVU1359 4060 0020 0268 ldr r2, [r0] 4061 0022 0F21 movs r1, #15 4062 0024 1162 str r1, [r2, #32] 3609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4063 .loc 1 3609 3 view .LVU1360 3609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4064 .loc 1 3609 18 is_stmt 0 view .LVU1361 4065 0026 2022 movs r2, #32 4066 0028 C267 str r2, [r0, #124] 3610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4067 .loc 1 3610 3 is_stmt 1 view .LVU1362 3610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4068 .loc 1 3610 18 is_stmt 0 view .LVU1363 4069 002a C0F88020 str r2, [r0, #128] 3611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4070 .loc 1 3611 3 is_stmt 1 view .LVU1364 3611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4071 .loc 1 3611 24 is_stmt 0 view .LVU1365 4072 002e 0366 str r3, [r0, #96] 3619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4073 .loc 1 3619 3 is_stmt 1 view .LVU1366 4074 0030 FFF7FEFF bl HAL_UART_AbortCpltCallback 4075 .LVL356: 4076 .L161: 3621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4077 .loc 1 3621 1 is_stmt 0 view .LVU1367 4078 0034 08BD pop {r3, pc} 4079 .cfi_endproc 4080 .LFE187: 4082 .section .text.HAL_UART_AbortTransmitCpltCallback,"ax",%progbits 4083 .align 1 4084 .weak HAL_UART_AbortTransmitCpltCallback 4085 .syntax unified 4086 .thumb 4087 .thumb_func 4089 HAL_UART_AbortTransmitCpltCallback: 4090 .LVL357: 4091 .LFB159: 2511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 4092 .loc 1 2511 1 is_stmt 1 view -0 4093 .cfi_startproc 4094 @ args = 0, pretend = 0, frame = 0 4095 @ frame_needed = 0, uses_anonymous_args = 0 4096 @ link register save eliminated. 2513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4097 .loc 1 2513 3 view .LVU1369 2518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4098 .loc 1 2518 1 is_stmt 0 view .LVU1370 4099 0000 7047 bx lr 4100 .cfi_endproc 4101 .LFE159: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 180 4103 .section .text.HAL_UART_AbortTransmit_IT,"ax",%progbits 4104 .align 1 4105 .global HAL_UART_AbortTransmit_IT 4106 .syntax unified 4107 .thumb 4108 .thumb_func 4110 HAL_UART_AbortTransmit_IT: 4111 .LVL358: 4112 .LFB150: 1941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable interrupts */ 4113 .loc 1 1941 1 is_stmt 1 view -0 4114 .cfi_startproc 4115 @ args = 0, pretend = 0, frame = 0 4116 @ frame_needed = 0, uses_anonymous_args = 0 1941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable interrupts */ 4117 .loc 1 1941 1 is_stmt 0 view .LVU1372 4118 0000 10B5 push {r4, lr} 4119 .cfi_def_cfa_offset 8 4120 .cfi_offset 4, -8 4121 .cfi_offset 14, -4 4122 0002 0446 mov r4, r0 4123 .L167: 1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4124 .loc 1 1943 3 is_stmt 1 discriminator 1 view .LVU1373 4125 .LBB610: 1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4126 .loc 1 1943 3 discriminator 1 view .LVU1374 1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4127 .loc 1 1943 3 discriminator 1 view .LVU1375 1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4128 .loc 1 1943 3 discriminator 1 view .LVU1376 4129 0004 2268 ldr r2, [r4] 4130 .LVL359: 4131 .LBB611: 4132 .LBI611: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4133 .loc 2 1068 31 discriminator 1 view .LVU1377 4134 .LBB612: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 4135 .loc 2 1070 5 discriminator 1 view .LVU1378 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4136 .loc 2 1072 4 discriminator 1 view .LVU1379 4137 .syntax unified 4138 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4139 0006 52E8003F ldrex r3, [r2] 4140 @ 0 "" 2 4141 .LVL360: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4142 .loc 2 1073 4 discriminator 1 view .LVU1380 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4143 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1381 4144 .thumb 4145 .syntax unified 4146 .LBE612: 4147 .LBE611: 1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4148 .loc 1 1943 3 discriminator 1 view .LVU1382 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 181 4149 000a 23F0C003 bic r3, r3, #192 4150 .LVL361: 1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4151 .loc 1 1943 3 is_stmt 1 discriminator 1 view .LVU1383 4152 .LBB613: 4153 .LBI613: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4154 .loc 2 1119 31 discriminator 1 view .LVU1384 4155 .LBB614: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 4156 .loc 2 1121 4 discriminator 1 view .LVU1385 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4157 .loc 2 1123 4 discriminator 1 view .LVU1386 4158 .syntax unified 4159 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4160 000e 42E80031 strex r1, r3, [r2] 4161 @ 0 "" 2 4162 .LVL362: 4163 .loc 2 1124 4 discriminator 1 view .LVU1387 4164 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1388 4165 .thumb 4166 .syntax unified 4167 .LBE614: 4168 .LBE613: 1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4169 .loc 1 1943 3 discriminator 1 view .LVU1389 4170 0012 0029 cmp r1, #0 4171 0014 F6D1 bne .L167 4172 .LBE610: 1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4173 .loc 1 1943 3 is_stmt 1 discriminator 2 view .LVU1390 1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4174 .loc 1 1946 3 discriminator 2 view .LVU1391 1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4175 .loc 1 1946 7 is_stmt 0 discriminator 2 view .LVU1392 4176 0016 2368 ldr r3, [r4] 4177 .LVL363: 1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4178 .loc 1 1946 7 discriminator 2 view .LVU1393 4179 0018 9B68 ldr r3, [r3, #8] 1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4180 .loc 1 1946 6 discriminator 2 view .LVU1394 4181 001a 13F0800F tst r3, #128 4182 001e 21D0 beq .L168 4183 .L169: 1949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4184 .loc 1 1949 5 is_stmt 1 discriminator 1 view .LVU1395 4185 .LBB615: 1949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4186 .loc 1 1949 5 discriminator 1 view .LVU1396 1949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4187 .loc 1 1949 5 discriminator 1 view .LVU1397 1949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4188 .loc 1 1949 5 discriminator 1 view .LVU1398 4189 0020 2268 ldr r2, [r4] 4190 .LVL364: 4191 .LBB616: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 182 4192 .LBI616: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4193 .loc 2 1068 31 discriminator 1 view .LVU1399 4194 .LBB617: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 4195 .loc 2 1070 5 discriminator 1 view .LVU1400 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4196 .loc 2 1072 4 discriminator 1 view .LVU1401 4197 0022 02F10803 add r3, r2, #8 4198 .LVL365: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4199 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU1402 4200 .syntax unified 4201 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4202 0026 53E8003F ldrex r3, [r3] 4203 @ 0 "" 2 4204 .LVL366: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4205 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU1403 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4206 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1404 4207 .thumb 4208 .syntax unified 4209 .LBE617: 4210 .LBE616: 1949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4211 .loc 1 1949 5 discriminator 1 view .LVU1405 4212 002a 23F08003 bic r3, r3, #128 4213 .LVL367: 1949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4214 .loc 1 1949 5 is_stmt 1 discriminator 1 view .LVU1406 4215 .LBB618: 4216 .LBI618: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4217 .loc 2 1119 31 discriminator 1 view .LVU1407 4218 .LBB619: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 4219 .loc 2 1121 4 discriminator 1 view .LVU1408 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4220 .loc 2 1123 4 discriminator 1 view .LVU1409 4221 002e 0832 adds r2, r2, #8 4222 .LVL368: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4223 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU1410 4224 .syntax unified 4225 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4226 0030 42E80031 strex r1, r3, [r2] 4227 @ 0 "" 2 4228 .LVL369: 4229 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU1411 4230 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1412 4231 .thumb 4232 .syntax unified 4233 .LBE619: 4234 .LBE618: 1949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4235 .loc 1 1949 5 discriminator 1 view .LVU1413 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 183 4236 0034 0029 cmp r1, #0 4237 0036 F3D1 bne .L169 4238 .LBE615: 1949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4239 .loc 1 1949 5 is_stmt 1 discriminator 2 view .LVU1414 1952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4240 .loc 1 1952 5 discriminator 2 view .LVU1415 1952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4241 .loc 1 1952 14 is_stmt 0 discriminator 2 view .LVU1416 4242 0038 236F ldr r3, [r4, #112] 4243 .LVL370: 1952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4244 .loc 1 1952 8 discriminator 2 view .LVU1417 4245 003a 4BB1 cbz r3, .L170 1956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4246 .loc 1 1956 7 is_stmt 1 view .LVU1418 1956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4247 .loc 1 1956 40 is_stmt 0 view .LVU1419 4248 003c 0F4A ldr r2, .L173 4249 003e 5A63 str r2, [r3, #52] 1959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4250 .loc 1 1959 7 is_stmt 1 view .LVU1420 1959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4251 .loc 1 1959 11 is_stmt 0 view .LVU1421 4252 0040 206F ldr r0, [r4, #112] 4253 .LVL371: 1959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4254 .loc 1 1959 11 view .LVU1422 4255 0042 FFF7FEFF bl HAL_DMA_Abort_IT 4256 .LVL372: 1959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4257 .loc 1 1959 10 view .LVU1423 4258 0046 B0B1 cbz r0, .L171 1962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4259 .loc 1 1962 9 is_stmt 1 view .LVU1424 1962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4260 .loc 1 1962 14 is_stmt 0 view .LVU1425 4261 0048 206F ldr r0, [r4, #112] 1962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4262 .loc 1 1962 22 view .LVU1426 4263 004a 436B ldr r3, [r0, #52] 1962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4264 .loc 1 1962 9 view .LVU1427 4265 004c 9847 blx r3 4266 .LVL373: 4267 004e 12E0 b .L171 4268 .LVL374: 4269 .L170: 1968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4270 .loc 1 1968 7 is_stmt 1 view .LVU1428 1968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4271 .loc 1 1968 26 is_stmt 0 view .LVU1429 4272 0050 0023 movs r3, #0 4273 0052 A4F85230 strh r3, [r4, #82] @ movhi 1971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4274 .loc 1 1971 7 is_stmt 1 view .LVU1430 1971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 184 4275 .loc 1 1971 20 is_stmt 0 view .LVU1431 4276 0056 E366 str r3, [r4, #108] 1974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4277 .loc 1 1974 7 is_stmt 1 view .LVU1432 1974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4278 .loc 1 1974 21 is_stmt 0 view .LVU1433 4279 0058 2023 movs r3, #32 4280 005a E367 str r3, [r4, #124] 1982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4281 .loc 1 1982 7 is_stmt 1 view .LVU1434 4282 005c 2046 mov r0, r4 4283 .LVL375: 1982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4284 .loc 1 1982 7 is_stmt 0 view .LVU1435 4285 005e FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback 4286 .LVL376: 4287 0062 08E0 b .L171 4288 .LVL377: 4289 .L168: 1989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4290 .loc 1 1989 5 is_stmt 1 view .LVU1436 1989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4291 .loc 1 1989 24 is_stmt 0 view .LVU1437 4292 0064 0023 movs r3, #0 4293 0066 A4F85230 strh r3, [r4, #82] @ movhi 1992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4294 .loc 1 1992 5 is_stmt 1 view .LVU1438 1992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4295 .loc 1 1992 18 is_stmt 0 view .LVU1439 4296 006a E366 str r3, [r4, #108] 1996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4297 .loc 1 1996 5 is_stmt 1 view .LVU1440 1996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4298 .loc 1 1996 19 is_stmt 0 view .LVU1441 4299 006c 2023 movs r3, #32 4300 006e E367 str r3, [r4, #124] 2004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4301 .loc 1 2004 5 is_stmt 1 view .LVU1442 4302 0070 2046 mov r0, r4 4303 .LVL378: 2004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4304 .loc 1 2004 5 is_stmt 0 view .LVU1443 4305 0072 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback 4306 .LVL379: 4307 .L171: 2008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4308 .loc 1 2008 3 is_stmt 1 view .LVU1444 2009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4309 .loc 1 2009 1 is_stmt 0 view .LVU1445 4310 0076 0020 movs r0, #0 4311 0078 10BD pop {r4, pc} 4312 .LVL380: 4313 .L174: 2009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4314 .loc 1 2009 1 view .LVU1446 4315 007a 00BF .align 2 4316 .L173: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 185 4317 007c 00000000 .word UART_DMATxOnlyAbortCallback 4318 .cfi_endproc 4319 .LFE150: 4321 .section .text.UART_DMATxOnlyAbortCallback,"ax",%progbits 4322 .align 1 4323 .syntax unified 4324 .thumb 4325 .thumb_func 4327 UART_DMATxOnlyAbortCallback: 4328 .LVL381: 4329 .LFB189: 3685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4330 .loc 1 3685 1 is_stmt 1 view -0 4331 .cfi_startproc 4332 @ args = 0, pretend = 0, frame = 0 4333 @ frame_needed = 0, uses_anonymous_args = 0 3685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4334 .loc 1 3685 1 is_stmt 0 view .LVU1448 4335 0000 08B5 push {r3, lr} 4336 .cfi_def_cfa_offset 8 4337 .cfi_offset 3, -8 4338 .cfi_offset 14, -4 3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4339 .loc 1 3686 3 is_stmt 1 view .LVU1449 3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4340 .loc 1 3686 23 is_stmt 0 view .LVU1450 4341 0002 406A ldr r0, [r0, #36] 4342 .LVL382: 3688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4343 .loc 1 3688 3 is_stmt 1 view .LVU1451 3688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4344 .loc 1 3688 22 is_stmt 0 view .LVU1452 4345 0004 0023 movs r3, #0 4346 0006 A0F85230 strh r3, [r0, #82] @ movhi 3692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4347 .loc 1 3692 3 is_stmt 1 view .LVU1453 3692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4348 .loc 1 3692 17 is_stmt 0 view .LVU1454 4349 000a 2023 movs r3, #32 4350 000c C367 str r3, [r0, #124] 3700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4351 .loc 1 3700 3 is_stmt 1 view .LVU1455 4352 000e FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback 4353 .LVL383: 3702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4354 .loc 1 3702 1 is_stmt 0 view .LVU1456 4355 0012 08BD pop {r3, pc} 4356 .cfi_endproc 4357 .LFE189: 4359 .section .text.HAL_UART_AbortReceiveCpltCallback,"ax",%progbits 4360 .align 1 4361 .weak HAL_UART_AbortReceiveCpltCallback 4362 .syntax unified 4363 .thumb 4364 .thumb_func 4366 HAL_UART_AbortReceiveCpltCallback: 4367 .LVL384: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 186 4368 .LFB160: 2526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 4369 .loc 1 2526 1 is_stmt 1 view -0 4370 .cfi_startproc 4371 @ args = 0, pretend = 0, frame = 0 4372 @ frame_needed = 0, uses_anonymous_args = 0 4373 @ link register save eliminated. 2528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4374 .loc 1 2528 3 view .LVU1458 2533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4375 .loc 1 2533 1 is_stmt 0 view .LVU1459 4376 0000 7047 bx lr 4377 .cfi_endproc 4378 .LFE160: 4380 .section .text.HAL_UART_AbortReceive_IT,"ax",%progbits 4381 .align 1 4382 .global HAL_UART_AbortReceive_IT 4383 .syntax unified 4384 .thumb 4385 .thumb_func 4387 HAL_UART_AbortReceive_IT: 4388 .LVL385: 4389 .LFB151: 2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 4390 .loc 1 2026 1 is_stmt 1 view -0 4391 .cfi_startproc 4392 @ args = 0, pretend = 0, frame = 0 4393 @ frame_needed = 0, uses_anonymous_args = 0 2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 4394 .loc 1 2026 1 is_stmt 0 view .LVU1461 4395 0000 10B5 push {r4, lr} 4396 .cfi_def_cfa_offset 8 4397 .cfi_offset 4, -8 4398 .cfi_offset 14, -4 4399 0002 0446 mov r4, r0 4400 .L179: 2028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4401 .loc 1 2028 3 is_stmt 1 discriminator 1 view .LVU1462 4402 .LBB620: 2028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4403 .loc 1 2028 3 discriminator 1 view .LVU1463 2028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4404 .loc 1 2028 3 discriminator 1 view .LVU1464 2028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4405 .loc 1 2028 3 discriminator 1 view .LVU1465 4406 0004 2268 ldr r2, [r4] 4407 .LVL386: 4408 .LBB621: 4409 .LBI621: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4410 .loc 2 1068 31 discriminator 1 view .LVU1466 4411 .LBB622: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 4412 .loc 2 1070 5 discriminator 1 view .LVU1467 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4413 .loc 2 1072 4 discriminator 1 view .LVU1468 4414 .syntax unified ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 187 4415 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4416 0006 52E8003F ldrex r3, [r2] 4417 @ 0 "" 2 4418 .LVL387: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4419 .loc 2 1073 4 discriminator 1 view .LVU1469 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4420 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1470 4421 .thumb 4422 .syntax unified 4423 .LBE622: 4424 .LBE621: 2028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4425 .loc 1 2028 3 discriminator 1 view .LVU1471 4426 000a 23F49073 bic r3, r3, #288 4427 .LVL388: 2028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4428 .loc 1 2028 3 is_stmt 1 discriminator 1 view .LVU1472 4429 .LBB623: 4430 .LBI623: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4431 .loc 2 1119 31 discriminator 1 view .LVU1473 4432 .LBB624: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 4433 .loc 2 1121 4 discriminator 1 view .LVU1474 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4434 .loc 2 1123 4 discriminator 1 view .LVU1475 4435 .syntax unified 4436 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4437 000e 42E80031 strex r1, r3, [r2] 4438 @ 0 "" 2 4439 .LVL389: 4440 .loc 2 1124 4 discriminator 1 view .LVU1476 4441 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1477 4442 .thumb 4443 .syntax unified 4444 .LBE624: 4445 .LBE623: 2028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4446 .loc 1 2028 3 discriminator 1 view .LVU1478 4447 0012 0029 cmp r1, #0 4448 0014 F6D1 bne .L179 4449 .LVL390: 4450 .L180: 2028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4451 .loc 1 2028 3 discriminator 1 view .LVU1479 4452 .LBE620: 2028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4453 .loc 1 2028 3 is_stmt 1 discriminator 1 view .LVU1480 2029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4454 .loc 1 2029 3 discriminator 1 view .LVU1481 4455 .LBB625: 2029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4456 .loc 1 2029 3 discriminator 1 view .LVU1482 2029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4457 .loc 1 2029 3 discriminator 1 view .LVU1483 2029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 188 4458 .loc 1 2029 3 discriminator 1 view .LVU1484 4459 0016 2268 ldr r2, [r4] 4460 .LVL391: 4461 .LBB626: 4462 .LBI626: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4463 .loc 2 1068 31 discriminator 1 view .LVU1485 4464 .LBB627: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 4465 .loc 2 1070 5 discriminator 1 view .LVU1486 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4466 .loc 2 1072 4 discriminator 1 view .LVU1487 4467 0018 02F10803 add r3, r2, #8 4468 .LVL392: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4469 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU1488 4470 .syntax unified 4471 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4472 001c 53E8003F ldrex r3, [r3] 4473 @ 0 "" 2 4474 .LVL393: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4475 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU1489 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4476 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1490 4477 .thumb 4478 .syntax unified 4479 .LBE627: 4480 .LBE626: 2029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4481 .loc 1 2029 3 discriminator 1 view .LVU1491 4482 0020 23F00103 bic r3, r3, #1 4483 .LVL394: 2029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4484 .loc 1 2029 3 is_stmt 1 discriminator 1 view .LVU1492 4485 .LBB628: 4486 .LBI628: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4487 .loc 2 1119 31 discriminator 1 view .LVU1493 4488 .LBB629: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 4489 .loc 2 1121 4 discriminator 1 view .LVU1494 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4490 .loc 2 1123 4 discriminator 1 view .LVU1495 4491 0024 0832 adds r2, r2, #8 4492 .LVL395: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4493 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU1496 4494 .syntax unified 4495 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4496 0026 42E80031 strex r1, r3, [r2] 4497 @ 0 "" 2 4498 .LVL396: 4499 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU1497 4500 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1498 4501 .thumb 4502 .syntax unified ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 189 4503 .LBE629: 4504 .LBE628: 2029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4505 .loc 1 2029 3 discriminator 1 view .LVU1499 4506 002a 0029 cmp r1, #0 4507 002c F3D1 bne .L180 4508 .LBE625: 2029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4509 .loc 1 2029 3 is_stmt 1 discriminator 2 view .LVU1500 2032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4510 .loc 1 2032 3 discriminator 2 view .LVU1501 2032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4511 .loc 1 2032 12 is_stmt 0 discriminator 2 view .LVU1502 4512 002e 236E ldr r3, [r4, #96] 4513 .LVL397: 2032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4514 .loc 1 2032 6 discriminator 2 view .LVU1503 4515 0030 012B cmp r3, #1 4516 0032 1CD0 beq .L182 4517 .L181: 2034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4518 .loc 1 2034 5 is_stmt 1 discriminator 2 view .LVU1504 2038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4519 .loc 1 2038 3 discriminator 2 view .LVU1505 2038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4520 .loc 1 2038 7 is_stmt 0 discriminator 2 view .LVU1506 4521 0034 2368 ldr r3, [r4] 4522 0036 9A68 ldr r2, [r3, #8] 2038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4523 .loc 1 2038 6 discriminator 2 view .LVU1507 4524 0038 12F0400F tst r2, #64 4525 003c 35D0 beq .L183 4526 .L184: 2041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4527 .loc 1 2041 5 is_stmt 1 discriminator 1 view .LVU1508 4528 .LBB630: 2041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4529 .loc 1 2041 5 discriminator 1 view .LVU1509 2041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4530 .loc 1 2041 5 discriminator 1 view .LVU1510 2041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4531 .loc 1 2041 5 discriminator 1 view .LVU1511 4532 003e 2268 ldr r2, [r4] 4533 .LVL398: 4534 .LBB631: 4535 .LBI631: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4536 .loc 2 1068 31 discriminator 1 view .LVU1512 4537 .LBB632: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 4538 .loc 2 1070 5 discriminator 1 view .LVU1513 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4539 .loc 2 1072 4 discriminator 1 view .LVU1514 4540 0040 02F10803 add r3, r2, #8 4541 .LVL399: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4542 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU1515 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 190 4543 .syntax unified 4544 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4545 0044 53E8003F ldrex r3, [r3] 4546 @ 0 "" 2 4547 .LVL400: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4548 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU1516 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4549 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1517 4550 .thumb 4551 .syntax unified 4552 .LBE632: 4553 .LBE631: 2041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4554 .loc 1 2041 5 discriminator 1 view .LVU1518 4555 0048 23F04003 bic r3, r3, #64 4556 .LVL401: 2041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4557 .loc 1 2041 5 is_stmt 1 discriminator 1 view .LVU1519 4558 .LBB633: 4559 .LBI633: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4560 .loc 2 1119 31 discriminator 1 view .LVU1520 4561 .LBB634: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 4562 .loc 2 1121 4 discriminator 1 view .LVU1521 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4563 .loc 2 1123 4 discriminator 1 view .LVU1522 4564 004c 0832 adds r2, r2, #8 4565 .LVL402: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4566 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU1523 4567 .syntax unified 4568 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4569 004e 42E80031 strex r1, r3, [r2] 4570 @ 0 "" 2 4571 .LVL403: 4572 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU1524 4573 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1525 4574 .thumb 4575 .syntax unified 4576 .LBE634: 4577 .LBE633: 2041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4578 .loc 1 2041 5 discriminator 1 view .LVU1526 4579 0052 0029 cmp r1, #0 4580 0054 F3D1 bne .L184 4581 .LBE630: 2041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4582 .loc 1 2041 5 is_stmt 1 discriminator 2 view .LVU1527 2044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4583 .loc 1 2044 5 discriminator 2 view .LVU1528 2044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4584 .loc 1 2044 14 is_stmt 0 discriminator 2 view .LVU1529 4585 0056 636F ldr r3, [r4, #116] 4586 .LVL404: 2044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 191 4587 .loc 1 2044 8 discriminator 2 view .LVU1530 4588 0058 9BB1 cbz r3, .L185 2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4589 .loc 1 2048 7 is_stmt 1 view .LVU1531 2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4590 .loc 1 2048 40 is_stmt 0 view .LVU1532 4591 005a 1B4A ldr r2, .L188 4592 005c 5A63 str r2, [r3, #52] 2051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4593 .loc 1 2051 7 is_stmt 1 view .LVU1533 2051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4594 .loc 1 2051 11 is_stmt 0 view .LVU1534 4595 005e 606F ldr r0, [r4, #116] 4596 .LVL405: 2051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4597 .loc 1 2051 11 view .LVU1535 4598 0060 FFF7FEFF bl HAL_DMA_Abort_IT 4599 .LVL406: 2051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4600 .loc 1 2051 10 view .LVU1536 4601 0064 70B3 cbz r0, .L186 2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4602 .loc 1 2054 9 is_stmt 1 view .LVU1537 2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4603 .loc 1 2054 14 is_stmt 0 view .LVU1538 4604 0066 606F ldr r0, [r4, #116] 2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4605 .loc 1 2054 22 view .LVU1539 4606 0068 436B ldr r3, [r0, #52] 2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4607 .loc 1 2054 9 view .LVU1540 4608 006a 9847 blx r3 4609 .LVL407: 4610 006c 2AE0 b .L186 4611 .LVL408: 4612 .L182: 2034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4613 .loc 1 2034 5 is_stmt 1 discriminator 1 view .LVU1541 4614 .LBB635: 2034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4615 .loc 1 2034 5 discriminator 1 view .LVU1542 2034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4616 .loc 1 2034 5 discriminator 1 view .LVU1543 2034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4617 .loc 1 2034 5 discriminator 1 view .LVU1544 4618 006e 2268 ldr r2, [r4] 4619 .LVL409: 4620 .LBB636: 4621 .LBI636: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4622 .loc 2 1068 31 discriminator 1 view .LVU1545 4623 .LBB637: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 4624 .loc 2 1070 5 discriminator 1 view .LVU1546 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4625 .loc 2 1072 4 discriminator 1 view .LVU1547 4626 .syntax unified ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 192 4627 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4628 0070 52E8003F ldrex r3, [r2] 4629 @ 0 "" 2 4630 .LVL410: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4631 .loc 2 1073 4 discriminator 1 view .LVU1548 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4632 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1549 4633 .thumb 4634 .syntax unified 4635 .LBE637: 4636 .LBE636: 2034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4637 .loc 1 2034 5 discriminator 1 view .LVU1550 4638 0074 23F01003 bic r3, r3, #16 4639 .LVL411: 2034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4640 .loc 1 2034 5 is_stmt 1 discriminator 1 view .LVU1551 4641 .LBB638: 4642 .LBI638: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4643 .loc 2 1119 31 discriminator 1 view .LVU1552 4644 .LBB639: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 4645 .loc 2 1121 4 discriminator 1 view .LVU1553 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4646 .loc 2 1123 4 discriminator 1 view .LVU1554 4647 .syntax unified 4648 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4649 0078 42E80031 strex r1, r3, [r2] 4650 @ 0 "" 2 4651 .LVL412: 4652 .loc 2 1124 4 discriminator 1 view .LVU1555 4653 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1556 4654 .thumb 4655 .syntax unified 4656 .LBE639: 4657 .LBE638: 2034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4658 .loc 1 2034 5 discriminator 1 view .LVU1557 4659 007c 0029 cmp r1, #0 4660 007e F6D1 bne .L182 4661 0080 D8E7 b .L181 4662 .LVL413: 4663 .L185: 2034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4664 .loc 1 2034 5 discriminator 1 view .LVU1558 4665 .LBE635: 2060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4666 .loc 1 2060 7 is_stmt 1 view .LVU1559 2060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4667 .loc 1 2060 26 is_stmt 0 view .LVU1560 4668 0082 0023 movs r3, #0 4669 0084 A4F85A30 strh r3, [r4, #90] @ movhi 2063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4670 .loc 1 2063 7 is_stmt 1 view .LVU1561 2063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 193 4671 .loc 1 2063 25 is_stmt 0 view .LVU1562 4672 0088 6365 str r3, [r4, #84] 2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4673 .loc 1 2066 7 is_stmt 1 view .LVU1563 4674 008a 2268 ldr r2, [r4] 4675 008c 0F21 movs r1, #15 4676 008e 1162 str r1, [r2, #32] 2069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4677 .loc 1 2069 7 view .LVU1564 4678 0090 2168 ldr r1, [r4] 4679 0092 8A69 ldr r2, [r1, #24] 4680 0094 42F00802 orr r2, r2, #8 4681 0098 8A61 str r2, [r1, #24] 2072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4682 .loc 1 2072 7 view .LVU1565 2072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4683 .loc 1 2072 22 is_stmt 0 view .LVU1566 4684 009a 2022 movs r2, #32 4685 009c C4F88020 str r2, [r4, #128] 2073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4686 .loc 1 2073 7 is_stmt 1 view .LVU1567 2073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4687 .loc 1 2073 28 is_stmt 0 view .LVU1568 4688 00a0 2366 str r3, [r4, #96] 2081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4689 .loc 1 2081 7 is_stmt 1 view .LVU1569 4690 00a2 2046 mov r0, r4 4691 .LVL414: 2081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4692 .loc 1 2081 7 is_stmt 0 view .LVU1570 4693 00a4 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback 4694 .LVL415: 4695 00a8 0CE0 b .L186 4696 .LVL416: 4697 .L183: 2088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4698 .loc 1 2088 5 is_stmt 1 view .LVU1571 2088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4699 .loc 1 2088 24 is_stmt 0 view .LVU1572 4700 00aa 0022 movs r2, #0 4701 00ac A4F85A20 strh r2, [r4, #90] @ movhi 2091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4702 .loc 1 2091 5 is_stmt 1 view .LVU1573 2091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4703 .loc 1 2091 23 is_stmt 0 view .LVU1574 4704 00b0 6265 str r2, [r4, #84] 2094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4705 .loc 1 2094 5 is_stmt 1 view .LVU1575 4706 00b2 0F21 movs r1, #15 4707 00b4 1962 str r1, [r3, #32] 2097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4708 .loc 1 2097 5 view .LVU1576 2097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4709 .loc 1 2097 20 is_stmt 0 view .LVU1577 4710 00b6 2023 movs r3, #32 4711 00b8 C4F88030 str r3, [r4, #128] 2098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 194 4712 .loc 1 2098 5 is_stmt 1 view .LVU1578 2098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4713 .loc 1 2098 26 is_stmt 0 view .LVU1579 4714 00bc 2266 str r2, [r4, #96] 2106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4715 .loc 1 2106 5 is_stmt 1 view .LVU1580 4716 00be 2046 mov r0, r4 4717 .LVL417: 2106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4718 .loc 1 2106 5 is_stmt 0 view .LVU1581 4719 00c0 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback 4720 .LVL418: 4721 .L186: 2110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4722 .loc 1 2110 3 is_stmt 1 view .LVU1582 2111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4723 .loc 1 2111 1 is_stmt 0 view .LVU1583 4724 00c4 0020 movs r0, #0 4725 00c6 10BD pop {r4, pc} 4726 .LVL419: 4727 .L189: 2111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4728 .loc 1 2111 1 view .LVU1584 4729 .align 2 4730 .L188: 4731 00c8 00000000 .word UART_DMARxOnlyAbortCallback 4732 .cfi_endproc 4733 .LFE151: 4735 .section .text.UART_DMARxOnlyAbortCallback,"ax",%progbits 4736 .align 1 4737 .syntax unified 4738 .thumb 4739 .thumb_func 4741 UART_DMARxOnlyAbortCallback: 4742 .LVL420: 4743 .LFB190: 3713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 4744 .loc 1 3713 1 is_stmt 1 view -0 4745 .cfi_startproc 4746 @ args = 0, pretend = 0, frame = 0 4747 @ frame_needed = 0, uses_anonymous_args = 0 3713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 4748 .loc 1 3713 1 is_stmt 0 view .LVU1586 4749 0000 08B5 push {r3, lr} 4750 .cfi_def_cfa_offset 8 4751 .cfi_offset 3, -8 4752 .cfi_offset 14, -4 3714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4753 .loc 1 3714 3 is_stmt 1 view .LVU1587 3714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4754 .loc 1 3714 23 is_stmt 0 view .LVU1588 4755 0002 406A ldr r0, [r0, #36] 4756 .LVL421: 3716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4757 .loc 1 3716 3 is_stmt 1 view .LVU1589 3716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4758 .loc 1 3716 22 is_stmt 0 view .LVU1590 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 195 4759 0004 0022 movs r2, #0 4760 0006 A0F85A20 strh r2, [r0, #90] @ movhi 3719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4761 .loc 1 3719 3 is_stmt 1 view .LVU1591 4762 000a 0368 ldr r3, [r0] 4763 000c 0F21 movs r1, #15 4764 000e 1962 str r1, [r3, #32] 3722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4765 .loc 1 3722 3 view .LVU1592 4766 0010 0168 ldr r1, [r0] 4767 0012 8B69 ldr r3, [r1, #24] 4768 0014 43F00803 orr r3, r3, #8 4769 0018 8B61 str r3, [r1, #24] 3725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4770 .loc 1 3725 3 view .LVU1593 3725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4771 .loc 1 3725 18 is_stmt 0 view .LVU1594 4772 001a 2023 movs r3, #32 4773 001c C0F88030 str r3, [r0, #128] 3726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4774 .loc 1 3726 3 is_stmt 1 view .LVU1595 3726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4775 .loc 1 3726 24 is_stmt 0 view .LVU1596 4776 0020 0266 str r2, [r0, #96] 3734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4777 .loc 1 3734 3 is_stmt 1 view .LVU1597 4778 0022 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback 4779 .LVL422: 3736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4780 .loc 1 3736 1 is_stmt 0 view .LVU1598 4781 0026 08BD pop {r3, pc} 4782 .cfi_endproc 4783 .LFE190: 4785 .section .text.HAL_UARTEx_RxEventCallback,"ax",%progbits 4786 .align 1 4787 .weak HAL_UARTEx_RxEventCallback 4788 .syntax unified 4789 .thumb 4790 .thumb_func 4792 HAL_UARTEx_RxEventCallback: 4793 .LVL423: 4794 .LFB161: 2543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 4795 .loc 1 2543 1 is_stmt 1 view -0 4796 .cfi_startproc 4797 @ args = 0, pretend = 0, frame = 0 4798 @ frame_needed = 0, uses_anonymous_args = 0 4799 @ link register save eliminated. 2545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(Size); 4800 .loc 1 2545 3 view .LVU1600 2546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4801 .loc 1 2546 3 view .LVU1601 2551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4802 .loc 1 2551 1 is_stmt 0 view .LVU1602 4803 0000 7047 bx lr 4804 .cfi_endproc 4805 .LFE161: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 196 4807 .section .text.HAL_UART_IRQHandler,"ax",%progbits 4808 .align 1 4809 .global HAL_UART_IRQHandler 4810 .syntax unified 4811 .thumb 4812 .thumb_func 4814 HAL_UART_IRQHandler: 4815 .LVL424: 4816 .LFB152: 2119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR); 4817 .loc 1 2119 1 is_stmt 1 view -0 4818 .cfi_startproc 4819 @ args = 0, pretend = 0, frame = 0 4820 @ frame_needed = 0, uses_anonymous_args = 0 2119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR); 4821 .loc 1 2119 1 is_stmt 0 view .LVU1604 4822 0000 70B5 push {r4, r5, r6, lr} 4823 .cfi_def_cfa_offset 16 4824 .cfi_offset 4, -16 4825 .cfi_offset 5, -12 4826 .cfi_offset 6, -8 4827 .cfi_offset 14, -4 4828 0002 0446 mov r4, r0 2120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 4829 .loc 1 2120 3 is_stmt 1 view .LVU1605 2120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 4830 .loc 1 2120 25 is_stmt 0 view .LVU1606 4831 0004 0268 ldr r2, [r0] 2120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 4832 .loc 1 2120 12 view .LVU1607 4833 0006 D369 ldr r3, [r2, #28] 4834 .LVL425: 2121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3); 4835 .loc 1 2121 3 is_stmt 1 view .LVU1608 2121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3); 4836 .loc 1 2121 12 is_stmt 0 view .LVU1609 4837 0008 1168 ldr r1, [r2] 4838 .LVL426: 2122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4839 .loc 1 2122 3 is_stmt 1 view .LVU1610 2122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4840 .loc 1 2122 12 is_stmt 0 view .LVU1611 4841 000a 9068 ldr r0, [r2, #8] 4842 .LVL427: 2124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t errorcode; 4843 .loc 1 2124 3 is_stmt 1 view .LVU1612 2125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4844 .loc 1 2125 3 view .LVU1613 2128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (errorflags == 0U) 4845 .loc 1 2128 3 view .LVU1614 2129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4846 .loc 1 2129 3 view .LVU1615 2129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4847 .loc 1 2129 6 is_stmt 0 view .LVU1616 4848 000c 40F60F0C movw ip, #2063 4849 0010 13EA0C0F tst r3, ip 4850 0014 0AD1 bne .L194 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 197 2132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U)) 4851 .loc 1 2132 5 is_stmt 1 view .LVU1617 2132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U)) 4852 .loc 1 2132 8 is_stmt 0 view .LVU1618 4853 0016 13F0200F tst r3, #32 4854 001a 0DD0 beq .L195 2133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4855 .loc 1 2133 9 view .LVU1619 4856 001c 11F0200F tst r1, #32 4857 0020 0AD0 beq .L195 2135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4858 .loc 1 2135 7 is_stmt 1 view .LVU1620 2135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4859 .loc 1 2135 16 is_stmt 0 view .LVU1621 4860 0022 A36E ldr r3, [r4, #104] 4861 .LVL428: 2135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4862 .loc 1 2135 10 view .LVU1622 4863 0024 0BB3 cbz r3, .L193 2137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4864 .loc 1 2137 9 is_stmt 1 view .LVU1623 4865 0026 2046 mov r0, r4 4866 .LVL429: 2137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4867 .loc 1 2137 9 is_stmt 0 view .LVU1624 4868 0028 9847 blx r3 4869 .LVL430: 2139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4870 .loc 1 2139 7 is_stmt 1 view .LVU1625 4871 002a 1EE0 b .L193 4872 .LVL431: 4873 .L194: 2145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U))) 4874 .loc 1 2145 7 is_stmt 0 view .LVU1626 4875 002c 10F00105 ands r5, r0, #1 4876 0030 1CD1 bne .L198 2146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4877 .loc 1 2146 11 view .LVU1627 4878 0032 AB4E ldr r6, .L232 4879 0034 3142 tst r1, r6 4880 0036 19D1 bne .L198 4881 .L195: 2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U) 4882 .loc 1 2282 3 is_stmt 1 view .LVU1628 2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U) 4883 .loc 1 2282 13 is_stmt 0 view .LVU1629 4884 0038 256E ldr r5, [r4, #96] 2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U) 4885 .loc 1 2282 6 view .LVU1630 4886 003a 012D cmp r5, #1 4887 003c 00F0A480 beq .L228 4888 .L212: 2378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4889 .loc 1 2378 3 is_stmt 1 view .LVU1631 2378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4890 .loc 1 2378 6 is_stmt 0 view .LVU1632 4891 0040 13F4801F tst r3, #1048576 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 198 4892 0044 03D0 beq .L224 2378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4893 .loc 1 2378 42 discriminator 1 view .LVU1633 4894 0046 10F4800F tst r0, #4194304 4895 004a 40F03681 bne .L229 4896 .L224: 2396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((cr1its & USART_CR1_TXEIE) != 0U)) 4897 .loc 1 2396 3 is_stmt 1 view .LVU1634 2396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((cr1its & USART_CR1_TXEIE) != 0U)) 4898 .loc 1 2396 6 is_stmt 0 view .LVU1635 4899 004e 13F0800F tst r3, #128 4900 0052 03D0 beq .L225 2397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4901 .loc 1 2397 7 view .LVU1636 4902 0054 11F0800F tst r1, #128 4903 0058 40F03681 bne .L230 4904 .L225: 2407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4905 .loc 1 2407 3 is_stmt 1 view .LVU1637 2407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4906 .loc 1 2407 6 is_stmt 0 view .LVU1638 4907 005c 13F0400F tst r3, #64 4908 0060 03D0 beq .L193 2407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4909 .loc 1 2407 41 discriminator 1 view .LVU1639 4910 0062 11F0400F tst r1, #64 4911 0066 40F03681 bne .L231 4912 .LVL432: 4913 .L193: 2413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4914 .loc 1 2413 1 view .LVU1640 4915 006a 70BD pop {r4, r5, r6, pc} 4916 .LVL433: 4917 .L198: 2149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4918 .loc 1 2149 5 is_stmt 1 view .LVU1641 2149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4919 .loc 1 2149 8 is_stmt 0 view .LVU1642 4920 006c 13F0010F tst r3, #1 4921 0070 09D0 beq .L199 2149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4922 .loc 1 2149 43 discriminator 1 view .LVU1643 4923 0072 11F4807F tst r1, #256 4924 0076 06D0 beq .L199 2151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4925 .loc 1 2151 7 is_stmt 1 view .LVU1644 4926 0078 0120 movs r0, #1 4927 .LVL434: 2151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4928 .loc 1 2151 7 is_stmt 0 view .LVU1645 4929 007a 1062 str r0, [r2, #32] 2153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4930 .loc 1 2153 7 is_stmt 1 view .LVU1646 2153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4931 .loc 1 2153 12 is_stmt 0 view .LVU1647 4932 007c D4F88420 ldr r2, [r4, #132] 2153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 199 4933 .loc 1 2153 24 view .LVU1648 4934 0080 0243 orrs r2, r2, r0 4935 0082 C4F88420 str r2, [r4, #132] 4936 .L199: 2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4937 .loc 1 2157 5 is_stmt 1 view .LVU1649 2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4938 .loc 1 2157 8 is_stmt 0 view .LVU1650 4939 0086 13F0020F tst r3, #2 4940 008a 09D0 beq .L200 2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4941 .loc 1 2157 43 discriminator 1 view .LVU1651 4942 008c 45B1 cbz r5, .L200 2159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4943 .loc 1 2159 7 is_stmt 1 view .LVU1652 4944 008e 2268 ldr r2, [r4] 4945 0090 0220 movs r0, #2 4946 0092 1062 str r0, [r2, #32] 2161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4947 .loc 1 2161 7 view .LVU1653 2161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4948 .loc 1 2161 12 is_stmt 0 view .LVU1654 4949 0094 D4F88420 ldr r2, [r4, #132] 2161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4950 .loc 1 2161 24 view .LVU1655 4951 0098 42F00402 orr r2, r2, #4 4952 009c C4F88420 str r2, [r4, #132] 4953 .L200: 2165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4954 .loc 1 2165 5 is_stmt 1 view .LVU1656 2165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4955 .loc 1 2165 8 is_stmt 0 view .LVU1657 4956 00a0 13F0040F tst r3, #4 4957 00a4 09D0 beq .L201 2165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4958 .loc 1 2165 43 discriminator 1 view .LVU1658 4959 00a6 45B1 cbz r5, .L201 2167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4960 .loc 1 2167 7 is_stmt 1 view .LVU1659 4961 00a8 2268 ldr r2, [r4] 4962 00aa 0420 movs r0, #4 4963 00ac 1062 str r0, [r2, #32] 2169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4964 .loc 1 2169 7 view .LVU1660 2169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4965 .loc 1 2169 12 is_stmt 0 view .LVU1661 4966 00ae D4F88420 ldr r2, [r4, #132] 2169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4967 .loc 1 2169 24 view .LVU1662 4968 00b2 42F00202 orr r2, r2, #2 4969 00b6 C4F88420 str r2, [r4, #132] 4970 .L201: 2173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE) != 0U) || 4971 .loc 1 2173 5 is_stmt 1 view .LVU1663 2173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE) != 0U) || 4972 .loc 1 2173 8 is_stmt 0 view .LVU1664 4973 00ba 13F0080F tst r3, #8 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 200 4974 00be 0BD0 beq .L202 2174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ((cr3its & USART_CR3_EIE) != 0U))) 4975 .loc 1 2174 9 view .LVU1665 4976 00c0 11F0200F tst r1, #32 4977 00c4 00D1 bne .L203 2174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ((cr3its & USART_CR3_EIE) != 0U))) 4978 .loc 1 2174 49 discriminator 1 view .LVU1666 4979 00c6 3DB1 cbz r5, .L202 4980 .L203: 2177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4981 .loc 1 2177 7 is_stmt 1 view .LVU1667 4982 00c8 2268 ldr r2, [r4] 4983 00ca 0820 movs r0, #8 4984 00cc 1062 str r0, [r2, #32] 2179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4985 .loc 1 2179 7 view .LVU1668 2179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4986 .loc 1 2179 12 is_stmt 0 view .LVU1669 4987 00ce D4F88420 ldr r2, [r4, #132] 2179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4988 .loc 1 2179 24 view .LVU1670 4989 00d2 0243 orrs r2, r2, r0 4990 00d4 C4F88420 str r2, [r4, #132] 4991 .L202: 2183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4992 .loc 1 2183 5 is_stmt 1 view .LVU1671 2183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4993 .loc 1 2183 8 is_stmt 0 view .LVU1672 4994 00d8 13F4006F tst r3, #2048 4995 00dc 0CD0 beq .L204 2183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4996 .loc 1 2183 45 discriminator 1 view .LVU1673 4997 00de 11F0806F tst r1, #67108864 4998 00e2 09D0 beq .L204 2185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4999 .loc 1 2185 7 is_stmt 1 view .LVU1674 5000 00e4 2268 ldr r2, [r4] 5001 00e6 4FF40060 mov r0, #2048 5002 00ea 1062 str r0, [r2, #32] 2187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5003 .loc 1 2187 7 view .LVU1675 2187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5004 .loc 1 2187 12 is_stmt 0 view .LVU1676 5005 00ec D4F88420 ldr r2, [r4, #132] 2187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5006 .loc 1 2187 24 view .LVU1677 5007 00f0 42F02002 orr r2, r2, #32 5008 00f4 C4F88420 str r2, [r4, #132] 5009 .L204: 2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5010 .loc 1 2191 5 is_stmt 1 view .LVU1678 2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5011 .loc 1 2191 14 is_stmt 0 view .LVU1679 5012 00f8 D4F88420 ldr r2, [r4, #132] 2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5013 .loc 1 2191 8 view .LVU1680 5014 00fc 002A cmp r2, #0 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 201 5015 00fe B4D0 beq .L193 2194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U)) 5016 .loc 1 2194 7 is_stmt 1 view .LVU1681 2194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U)) 5017 .loc 1 2194 10 is_stmt 0 view .LVU1682 5018 0100 13F0200F tst r3, #32 5019 0104 06D0 beq .L206 2195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5020 .loc 1 2195 11 view .LVU1683 5021 0106 11F0200F tst r1, #32 5022 010a 03D0 beq .L206 2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5023 .loc 1 2197 9 is_stmt 1 view .LVU1684 2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5024 .loc 1 2197 18 is_stmt 0 view .LVU1685 5025 010c A36E ldr r3, [r4, #104] 5026 .LVL435: 2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5027 .loc 1 2197 12 view .LVU1686 5028 010e 0BB1 cbz r3, .L206 2199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5029 .loc 1 2199 11 is_stmt 1 view .LVU1687 5030 0110 2046 mov r0, r4 5031 0112 9847 blx r3 5032 .LVL436: 5033 .L206: 2208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) || 5034 .loc 1 2208 7 view .LVU1688 2208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) || 5035 .loc 1 2208 17 is_stmt 0 view .LVU1689 5036 0114 D4F88420 ldr r2, [r4, #132] 5037 .LVL437: 2209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 5038 .loc 1 2209 7 is_stmt 1 view .LVU1690 2209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 5039 .loc 1 2209 12 is_stmt 0 view .LVU1691 5040 0118 2368 ldr r3, [r4] 5041 011a 9B68 ldr r3, [r3, #8] 2209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 5042 .loc 1 2209 10 view .LVU1692 5043 011c 13F0400F tst r3, #64 5044 0120 02D1 bne .L207 2209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 5045 .loc 1 2209 66 discriminator 1 view .LVU1693 5046 0122 12F0280F tst r2, #40 5047 0126 28D0 beq .L208 5048 .L207: 2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5049 .loc 1 2215 9 is_stmt 1 view .LVU1694 5050 0128 2046 mov r0, r4 5051 012a FFF7FEFF bl UART_EndRxTransfer 5052 .LVL438: 2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5053 .loc 1 2218 9 view .LVU1695 2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5054 .loc 1 2218 13 is_stmt 0 view .LVU1696 5055 012e 2368 ldr r3, [r4] ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 202 5056 0130 9B68 ldr r3, [r3, #8] 2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5057 .loc 1 2218 12 view .LVU1697 5058 0132 13F0400F tst r3, #64 5059 0136 1CD0 beq .L209 5060 .L210: 2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5061 .loc 1 2221 11 is_stmt 1 discriminator 1 view .LVU1698 5062 .LBB640: 2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5063 .loc 1 2221 11 discriminator 1 view .LVU1699 2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5064 .loc 1 2221 11 discriminator 1 view .LVU1700 2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5065 .loc 1 2221 11 discriminator 1 view .LVU1701 5066 0138 2268 ldr r2, [r4] 5067 .LVL439: 5068 .LBB641: 5069 .LBI641: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5070 .loc 2 1068 31 discriminator 1 view .LVU1702 5071 .LBB642: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 5072 .loc 2 1070 5 discriminator 1 view .LVU1703 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5073 .loc 2 1072 4 discriminator 1 view .LVU1704 5074 013a 02F10803 add r3, r2, #8 5075 .LVL440: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5076 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU1705 5077 .syntax unified 5078 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5079 013e 53E8003F ldrex r3, [r3] 5080 @ 0 "" 2 5081 .LVL441: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5082 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU1706 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5083 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1707 5084 .thumb 5085 .syntax unified 5086 .LBE642: 5087 .LBE641: 2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5088 .loc 1 2221 11 discriminator 1 view .LVU1708 5089 0142 23F04003 bic r3, r3, #64 5090 .LVL442: 2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5091 .loc 1 2221 11 is_stmt 1 discriminator 1 view .LVU1709 5092 .LBB643: 5093 .LBI643: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5094 .loc 2 1119 31 discriminator 1 view .LVU1710 5095 .LBB644: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 5096 .loc 2 1121 4 discriminator 1 view .LVU1711 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 203 5097 .loc 2 1123 4 discriminator 1 view .LVU1712 5098 0146 0832 adds r2, r2, #8 5099 .LVL443: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5100 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU1713 5101 .syntax unified 5102 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5103 0148 42E80031 strex r1, r3, [r2] 5104 @ 0 "" 2 5105 .LVL444: 5106 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU1714 5107 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1715 5108 .thumb 5109 .syntax unified 5110 .LBE644: 5111 .LBE643: 2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5112 .loc 1 2221 11 discriminator 1 view .LVU1716 5113 014c 0029 cmp r1, #0 5114 014e F3D1 bne .L210 5115 .LBE640: 2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5116 .loc 1 2221 11 is_stmt 1 discriminator 2 view .LVU1717 2224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5117 .loc 1 2224 11 discriminator 2 view .LVU1718 2224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5118 .loc 1 2224 20 is_stmt 0 discriminator 2 view .LVU1719 5119 0150 636F ldr r3, [r4, #116] 5120 .LVL445: 2224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5121 .loc 1 2224 14 discriminator 2 view .LVU1720 5122 0152 53B1 cbz r3, .L211 2228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5123 .loc 1 2228 13 is_stmt 1 view .LVU1721 2228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5124 .loc 1 2228 46 is_stmt 0 view .LVU1722 5125 0154 634A ldr r2, .L232+4 5126 0156 5A63 str r2, [r3, #52] 2231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5127 .loc 1 2231 13 is_stmt 1 view .LVU1723 2231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5128 .loc 1 2231 17 is_stmt 0 view .LVU1724 5129 0158 606F ldr r0, [r4, #116] 5130 015a FFF7FEFF bl HAL_DMA_Abort_IT 5131 .LVL446: 2231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5132 .loc 1 2231 16 view .LVU1725 5133 015e 0028 cmp r0, #0 5134 0160 83D0 beq .L193 2234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5135 .loc 1 2234 15 is_stmt 1 view .LVU1726 2234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5136 .loc 1 2234 20 is_stmt 0 view .LVU1727 5137 0162 606F ldr r0, [r4, #116] 2234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5138 .loc 1 2234 28 view .LVU1728 5139 0164 436B ldr r3, [r0, #52] ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 204 2234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5140 .loc 1 2234 15 view .LVU1729 5141 0166 9847 blx r3 5142 .LVL447: 5143 0168 7FE7 b .L193 5144 .L211: 2245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5145 .loc 1 2245 13 is_stmt 1 view .LVU1730 5146 016a 2046 mov r0, r4 5147 016c FFF7FEFF bl HAL_UART_ErrorCallback 5148 .LVL448: 5149 0170 7BE7 b .L193 5150 .LVL449: 5151 .L209: 2258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5152 .loc 1 2258 11 view .LVU1731 5153 0172 2046 mov r0, r4 5154 0174 FFF7FEFF bl HAL_UART_ErrorCallback 5155 .LVL450: 5156 0178 77E7 b .L193 5157 .LVL451: 5158 .L208: 2271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5159 .loc 1 2271 9 view .LVU1732 5160 017a 2046 mov r0, r4 5161 017c FFF7FEFF bl HAL_UART_ErrorCallback 5162 .LVL452: 2273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5163 .loc 1 2273 9 view .LVU1733 2273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5164 .loc 1 2273 26 is_stmt 0 view .LVU1734 5165 0180 0023 movs r3, #0 5166 0182 C4F88430 str r3, [r4, #132] 2276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5167 .loc 1 2276 5 is_stmt 1 view .LVU1735 5168 0186 70E7 b .L193 5169 .LVL453: 5170 .L228: 2283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((cr1its & USART_ISR_IDLE) != 0U)) 5171 .loc 1 2283 7 is_stmt 0 view .LVU1736 5172 0188 13F0100F tst r3, #16 5173 018c 3FF458AF beq .L212 2284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5174 .loc 1 2284 7 view .LVU1737 5175 0190 11F0100F tst r1, #16 5176 0194 3FF454AF beq .L212 2286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5177 .loc 1 2286 5 is_stmt 1 view .LVU1738 5178 0198 1023 movs r3, #16 5179 .LVL454: 2286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5180 .loc 1 2286 5 is_stmt 0 view .LVU1739 5181 019a 1362 str r3, [r2, #32] 2289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5182 .loc 1 2289 5 is_stmt 1 view .LVU1740 2289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5183 .loc 1 2289 9 is_stmt 0 view .LVU1741 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 205 5184 019c 2368 ldr r3, [r4] 5185 019e 9B68 ldr r3, [r3, #8] 2289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5186 .loc 1 2289 8 view .LVU1742 5187 01a0 13F0400F tst r3, #64 5188 01a4 4FD0 beq .L213 5189 .LBB645: 2295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U) 5190 .loc 1 2295 7 is_stmt 1 view .LVU1743 2295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U) 5191 .loc 1 2295 50 is_stmt 0 view .LVU1744 5192 01a6 626F ldr r2, [r4, #116] 5193 01a8 1368 ldr r3, [r2] 5194 01aa 5B68 ldr r3, [r3, #4] 2295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U) 5195 .loc 1 2295 16 view .LVU1745 5196 01ac 9BB2 uxth r3, r3 5197 .LVL455: 2296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize)) 5198 .loc 1 2296 7 is_stmt 1 view .LVU1746 2296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize)) 5199 .loc 1 2296 10 is_stmt 0 view .LVU1747 5200 01ae 002B cmp r3, #0 5201 01b0 3FF45BAF beq .L193 2297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5202 .loc 1 2297 43 view .LVU1748 5203 01b4 B4F85810 ldrh r1, [r4, #88] 5204 .LVL456: 2297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5205 .loc 1 2297 11 view .LVU1749 5206 01b8 9942 cmp r1, r3 5207 01ba 7FF656AF bls .L193 2300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5208 .loc 1 2300 9 is_stmt 1 view .LVU1750 2300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5209 .loc 1 2300 28 is_stmt 0 view .LVU1751 5210 01be A4F85A30 strh r3, [r4, #90] @ movhi 2303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5211 .loc 1 2303 9 is_stmt 1 view .LVU1752 2303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5212 .loc 1 2303 32 is_stmt 0 view .LVU1753 5213 01c2 9369 ldr r3, [r2, #24] 5214 .LVL457: 2303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5215 .loc 1 2303 12 view .LVU1754 5216 01c4 202B cmp r3, #32 5217 01c6 31D0 beq .L215 5218 .L216: 2306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5219 .loc 1 2306 11 is_stmt 1 discriminator 1 view .LVU1755 5220 .LBB646: 2306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5221 .loc 1 2306 11 discriminator 1 view .LVU1756 2306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5222 .loc 1 2306 11 discriminator 1 view .LVU1757 2306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5223 .loc 1 2306 11 discriminator 1 view .LVU1758 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 206 5224 01c8 2268 ldr r2, [r4] 5225 .LVL458: 5226 .LBB647: 5227 .LBI647: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5228 .loc 2 1068 31 discriminator 1 view .LVU1759 5229 .LBB648: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 5230 .loc 2 1070 5 discriminator 1 view .LVU1760 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5231 .loc 2 1072 4 discriminator 1 view .LVU1761 5232 .syntax unified 5233 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5234 01ca 52E8003F ldrex r3, [r2] 5235 @ 0 "" 2 5236 .LVL459: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5237 .loc 2 1073 4 discriminator 1 view .LVU1762 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5238 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1763 5239 .thumb 5240 .syntax unified 5241 .LBE648: 5242 .LBE647: 2306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5243 .loc 1 2306 11 discriminator 1 view .LVU1764 5244 01ce 23F48073 bic r3, r3, #256 5245 .LVL460: 2306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5246 .loc 1 2306 11 is_stmt 1 discriminator 1 view .LVU1765 5247 .LBB649: 5248 .LBI649: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5249 .loc 2 1119 31 discriminator 1 view .LVU1766 5250 .LBB650: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 5251 .loc 2 1121 4 discriminator 1 view .LVU1767 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5252 .loc 2 1123 4 discriminator 1 view .LVU1768 5253 .syntax unified 5254 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5255 01d2 42E80031 strex r1, r3, [r2] 5256 @ 0 "" 2 5257 .LVL461: 5258 .loc 2 1124 4 discriminator 1 view .LVU1769 5259 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1770 5260 .thumb 5261 .syntax unified 5262 .LBE650: 5263 .LBE649: 2306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5264 .loc 1 2306 11 discriminator 1 view .LVU1771 5265 01d6 0029 cmp r1, #0 5266 01d8 F6D1 bne .L216 5267 .LVL462: 5268 .L217: 2306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 207 5269 .loc 1 2306 11 discriminator 1 view .LVU1772 5270 .LBE646: 2306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5271 .loc 1 2306 11 is_stmt 1 discriminator 1 view .LVU1773 2307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5272 .loc 1 2307 11 discriminator 1 view .LVU1774 5273 .LBB651: 2307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5274 .loc 1 2307 11 discriminator 1 view .LVU1775 2307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5275 .loc 1 2307 11 discriminator 1 view .LVU1776 2307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5276 .loc 1 2307 11 discriminator 1 view .LVU1777 5277 01da 2268 ldr r2, [r4] 5278 .LVL463: 5279 .LBB652: 5280 .LBI652: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5281 .loc 2 1068 31 discriminator 1 view .LVU1778 5282 .LBB653: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 5283 .loc 2 1070 5 discriminator 1 view .LVU1779 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5284 .loc 2 1072 4 discriminator 1 view .LVU1780 5285 01dc 02F10803 add r3, r2, #8 5286 .LVL464: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5287 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU1781 5288 .syntax unified 5289 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5290 01e0 53E8003F ldrex r3, [r3] 5291 @ 0 "" 2 5292 .LVL465: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5293 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU1782 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5294 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1783 5295 .thumb 5296 .syntax unified 5297 .LBE653: 5298 .LBE652: 2307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5299 .loc 1 2307 11 discriminator 1 view .LVU1784 5300 01e4 23F00103 bic r3, r3, #1 5301 .LVL466: 2307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5302 .loc 1 2307 11 is_stmt 1 discriminator 1 view .LVU1785 5303 .LBB654: 5304 .LBI654: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5305 .loc 2 1119 31 discriminator 1 view .LVU1786 5306 .LBB655: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 5307 .loc 2 1121 4 discriminator 1 view .LVU1787 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5308 .loc 2 1123 4 discriminator 1 view .LVU1788 5309 01e8 0832 adds r2, r2, #8 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 208 5310 .LVL467: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5311 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU1789 5312 .syntax unified 5313 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5314 01ea 42E80031 strex r1, r3, [r2] 5315 @ 0 "" 2 5316 .LVL468: 5317 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU1790 5318 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1791 5319 .thumb 5320 .syntax unified 5321 .LBE655: 5322 .LBE654: 2307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5323 .loc 1 2307 11 discriminator 1 view .LVU1792 5324 01ee 0029 cmp r1, #0 5325 01f0 F3D1 bne .L217 5326 .LVL469: 5327 .L218: 2307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5328 .loc 1 2307 11 discriminator 1 view .LVU1793 5329 .LBE651: 2307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5330 .loc 1 2307 11 is_stmt 1 discriminator 1 view .LVU1794 2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5331 .loc 1 2311 11 discriminator 1 view .LVU1795 5332 .LBB656: 2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5333 .loc 1 2311 11 discriminator 1 view .LVU1796 2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5334 .loc 1 2311 11 discriminator 1 view .LVU1797 2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5335 .loc 1 2311 11 discriminator 1 view .LVU1798 5336 01f2 2268 ldr r2, [r4] 5337 .LVL470: 5338 .LBB657: 5339 .LBI657: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5340 .loc 2 1068 31 discriminator 1 view .LVU1799 5341 .LBB658: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 5342 .loc 2 1070 5 discriminator 1 view .LVU1800 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5343 .loc 2 1072 4 discriminator 1 view .LVU1801 5344 01f4 02F10803 add r3, r2, #8 5345 .LVL471: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5346 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU1802 5347 .syntax unified 5348 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5349 01f8 53E8003F ldrex r3, [r3] 5350 @ 0 "" 2 5351 .LVL472: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5352 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU1803 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 209 5353 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1804 5354 .thumb 5355 .syntax unified 5356 .LBE658: 5357 .LBE657: 2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5358 .loc 1 2311 11 discriminator 1 view .LVU1805 5359 01fc 23F04003 bic r3, r3, #64 5360 .LVL473: 2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5361 .loc 1 2311 11 is_stmt 1 discriminator 1 view .LVU1806 5362 .LBB659: 5363 .LBI659: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5364 .loc 2 1119 31 discriminator 1 view .LVU1807 5365 .LBB660: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 5366 .loc 2 1121 4 discriminator 1 view .LVU1808 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5367 .loc 2 1123 4 discriminator 1 view .LVU1809 5368 0200 0832 adds r2, r2, #8 5369 .LVL474: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5370 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU1810 5371 .syntax unified 5372 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5373 0202 42E80031 strex r1, r3, [r2] 5374 @ 0 "" 2 5375 .LVL475: 5376 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU1811 5377 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1812 5378 .thumb 5379 .syntax unified 5380 .LBE660: 5381 .LBE659: 2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5382 .loc 1 2311 11 discriminator 1 view .LVU1813 5383 0206 0029 cmp r1, #0 5384 0208 F3D1 bne .L218 5385 .LBE656: 2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5386 .loc 1 2311 11 is_stmt 1 discriminator 2 view .LVU1814 2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5387 .loc 1 2314 11 discriminator 2 view .LVU1815 2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5388 .loc 1 2314 26 is_stmt 0 discriminator 2 view .LVU1816 5389 020a 2023 movs r3, #32 5390 .LVL476: 2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5391 .loc 1 2314 26 discriminator 2 view .LVU1817 5392 020c C4F88030 str r3, [r4, #128] 5393 .LVL477: 2315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5394 .loc 1 2315 11 is_stmt 1 discriminator 2 view .LVU1818 2315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5395 .loc 1 2315 32 is_stmt 0 discriminator 2 view .LVU1819 5396 0210 0023 movs r3, #0 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 210 5397 0212 2366 str r3, [r4, #96] 5398 .L219: 2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5399 .loc 1 2317 11 is_stmt 1 discriminator 1 view .LVU1820 5400 .LBB661: 2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5401 .loc 1 2317 11 discriminator 1 view .LVU1821 2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5402 .loc 1 2317 11 discriminator 1 view .LVU1822 2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5403 .loc 1 2317 11 discriminator 1 view .LVU1823 5404 0214 2268 ldr r2, [r4] 5405 .LVL478: 5406 .LBB662: 5407 .LBI662: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5408 .loc 2 1068 31 discriminator 1 view .LVU1824 5409 .LBB663: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 5410 .loc 2 1070 5 discriminator 1 view .LVU1825 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5411 .loc 2 1072 4 discriminator 1 view .LVU1826 5412 .syntax unified 5413 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5414 0216 52E8003F ldrex r3, [r2] 5415 @ 0 "" 2 5416 .LVL479: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5417 .loc 2 1073 4 discriminator 1 view .LVU1827 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5418 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1828 5419 .thumb 5420 .syntax unified 5421 .LBE663: 5422 .LBE662: 2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5423 .loc 1 2317 11 discriminator 1 view .LVU1829 5424 021a 23F01003 bic r3, r3, #16 5425 .LVL480: 2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5426 .loc 1 2317 11 is_stmt 1 discriminator 1 view .LVU1830 5427 .LBB664: 5428 .LBI664: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5429 .loc 2 1119 31 discriminator 1 view .LVU1831 5430 .LBB665: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 5431 .loc 2 1121 4 discriminator 1 view .LVU1832 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5432 .loc 2 1123 4 discriminator 1 view .LVU1833 5433 .syntax unified 5434 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5435 021e 42E80031 strex r1, r3, [r2] 5436 @ 0 "" 2 5437 .LVL481: 5438 .loc 2 1124 4 discriminator 1 view .LVU1834 5439 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1835 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 211 5440 .thumb 5441 .syntax unified 5442 .LBE665: 5443 .LBE664: 2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5444 .loc 1 2317 11 discriminator 1 view .LVU1836 5445 0222 0029 cmp r1, #0 5446 0224 F6D1 bne .L219 5447 .LBE661: 2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5448 .loc 1 2317 11 is_stmt 1 discriminator 2 view .LVU1837 2320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5449 .loc 1 2320 11 discriminator 2 view .LVU1838 2320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5450 .loc 1 2320 17 is_stmt 0 discriminator 2 view .LVU1839 5451 0226 606F ldr r0, [r4, #116] 5452 .LVL482: 2320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5453 .loc 1 2320 17 discriminator 2 view .LVU1840 5454 0228 FFF7FEFF bl HAL_DMA_Abort 5455 .LVL483: 5456 .L215: 2325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5457 .loc 1 2325 9 is_stmt 1 view .LVU1841 2325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5458 .loc 1 2325 28 is_stmt 0 view .LVU1842 5459 022c 0223 movs r3, #2 5460 022e 6366 str r3, [r4, #100] 2332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 5461 .loc 1 2332 9 is_stmt 1 view .LVU1843 2332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 5462 .loc 1 2332 49 is_stmt 0 view .LVU1844 5463 0230 B4F85810 ldrh r1, [r4, #88] 2332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 5464 .loc 1 2332 69 view .LVU1845 5465 0234 B4F85A30 ldrh r3, [r4, #90] 5466 0238 9BB2 uxth r3, r3 2332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 5467 .loc 1 2332 9 view .LVU1846 5468 023a C91A subs r1, r1, r3 5469 023c 89B2 uxth r1, r1 5470 023e 2046 mov r0, r4 5471 0240 FFF7FEFF bl HAL_UARTEx_RxEventCallback 5472 .LVL484: 2335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5473 .loc 1 2335 7 is_stmt 1 view .LVU1847 5474 0244 11E7 b .L193 5475 .LVL485: 5476 .L213: 2335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5477 .loc 1 2335 7 is_stmt 0 view .LVU1848 5478 .LBE645: 5479 .LBB666: 2342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 5480 .loc 1 2342 7 is_stmt 1 view .LVU1849 2342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 5481 .loc 1 2342 34 is_stmt 0 view .LVU1850 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 212 5482 0246 B4F85810 ldrh r1, [r4, #88] 5483 .LVL486: 2342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 5484 .loc 1 2342 54 view .LVU1851 5485 024a B4F85A30 ldrh r3, [r4, #90] 5486 024e 9BB2 uxth r3, r3 2342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 5487 .loc 1 2342 16 view .LVU1852 5488 0250 C91A subs r1, r1, r3 5489 0252 89B2 uxth r1, r1 5490 .LVL487: 2343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (nb_rx_data > 0U)) 5491 .loc 1 2343 7 is_stmt 1 view .LVU1853 2343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (nb_rx_data > 0U)) 5492 .loc 1 2343 17 is_stmt 0 view .LVU1854 5493 0254 B4F85A30 ldrh r3, [r4, #90] 5494 0258 9BB2 uxth r3, r3 2343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (nb_rx_data > 0U)) 5495 .loc 1 2343 10 view .LVU1855 5496 025a 002B cmp r3, #0 5497 025c 3FF405AF beq .L193 2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5498 .loc 1 2344 11 view .LVU1856 5499 0260 0029 cmp r1, #0 5500 0262 3FF402AF beq .L193 5501 .LVL488: 5502 .L221: 2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5503 .loc 1 2347 9 is_stmt 1 discriminator 1 view .LVU1857 5504 .LBB667: 2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5505 .loc 1 2347 9 discriminator 1 view .LVU1858 2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5506 .loc 1 2347 9 discriminator 1 view .LVU1859 2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5507 .loc 1 2347 9 discriminator 1 view .LVU1860 5508 0266 2268 ldr r2, [r4] 5509 .LVL489: 5510 .LBB668: 5511 .LBI668: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5512 .loc 2 1068 31 discriminator 1 view .LVU1861 5513 .LBB669: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 5514 .loc 2 1070 5 discriminator 1 view .LVU1862 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5515 .loc 2 1072 4 discriminator 1 view .LVU1863 5516 .syntax unified 5517 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5518 0268 52E8003F ldrex r3, [r2] 5519 @ 0 "" 2 5520 .LVL490: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5521 .loc 2 1073 4 discriminator 1 view .LVU1864 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5522 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1865 5523 .thumb ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 213 5524 .syntax unified 5525 .LBE669: 5526 .LBE668: 2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5527 .loc 1 2347 9 discriminator 1 view .LVU1866 5528 026c 23F49073 bic r3, r3, #288 5529 .LVL491: 2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5530 .loc 1 2347 9 is_stmt 1 discriminator 1 view .LVU1867 5531 .LBB670: 5532 .LBI670: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5533 .loc 2 1119 31 discriminator 1 view .LVU1868 5534 .LBB671: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 5535 .loc 2 1121 4 discriminator 1 view .LVU1869 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5536 .loc 2 1123 4 discriminator 1 view .LVU1870 5537 .syntax unified 5538 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5539 0270 42E80030 strex r0, r3, [r2] 5540 @ 0 "" 2 5541 .LVL492: 5542 .loc 2 1124 4 discriminator 1 view .LVU1871 5543 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1872 5544 .thumb 5545 .syntax unified 5546 .LBE671: 5547 .LBE670: 2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5548 .loc 1 2347 9 discriminator 1 view .LVU1873 5549 0274 0028 cmp r0, #0 5550 0276 F6D1 bne .L221 5551 .LVL493: 5552 .L222: 2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5553 .loc 1 2347 9 discriminator 1 view .LVU1874 5554 .LBE667: 2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5555 .loc 1 2347 9 is_stmt 1 discriminator 1 view .LVU1875 2350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5556 .loc 1 2350 9 discriminator 1 view .LVU1876 5557 .LBB672: 2350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5558 .loc 1 2350 9 discriminator 1 view .LVU1877 2350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5559 .loc 1 2350 9 discriminator 1 view .LVU1878 2350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5560 .loc 1 2350 9 discriminator 1 view .LVU1879 5561 0278 2268 ldr r2, [r4] 5562 .LVL494: 5563 .LBB673: 5564 .LBI673: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5565 .loc 2 1068 31 discriminator 1 view .LVU1880 5566 .LBB674: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 214 5567 .loc 2 1070 5 discriminator 1 view .LVU1881 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5568 .loc 2 1072 4 discriminator 1 view .LVU1882 5569 027a 02F10803 add r3, r2, #8 5570 .LVL495: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5571 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU1883 5572 .syntax unified 5573 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5574 027e 53E8003F ldrex r3, [r3] 5575 @ 0 "" 2 5576 .LVL496: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5577 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU1884 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5578 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1885 5579 .thumb 5580 .syntax unified 5581 .LBE674: 5582 .LBE673: 2350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5583 .loc 1 2350 9 discriminator 1 view .LVU1886 5584 0282 23F00103 bic r3, r3, #1 5585 .LVL497: 2350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5586 .loc 1 2350 9 is_stmt 1 discriminator 1 view .LVU1887 5587 .LBB675: 5588 .LBI675: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5589 .loc 2 1119 31 discriminator 1 view .LVU1888 5590 .LBB676: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 5591 .loc 2 1121 4 discriminator 1 view .LVU1889 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5592 .loc 2 1123 4 discriminator 1 view .LVU1890 5593 0286 0832 adds r2, r2, #8 5594 .LVL498: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5595 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU1891 5596 .syntax unified 5597 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5598 0288 42E80030 strex r0, r3, [r2] 5599 @ 0 "" 2 5600 .LVL499: 5601 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU1892 5602 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1893 5603 .thumb 5604 .syntax unified 5605 .LBE676: 5606 .LBE675: 2350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5607 .loc 1 2350 9 discriminator 1 view .LVU1894 5608 028c 0028 cmp r0, #0 5609 028e F3D1 bne .L222 5610 .LBE672: 2350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5611 .loc 1 2350 9 is_stmt 1 discriminator 2 view .LVU1895 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 215 2353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5612 .loc 1 2353 9 discriminator 2 view .LVU1896 2353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5613 .loc 1 2353 24 is_stmt 0 discriminator 2 view .LVU1897 5614 0290 2023 movs r3, #32 5615 .LVL500: 2353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5616 .loc 1 2353 24 discriminator 2 view .LVU1898 5617 0292 C4F88030 str r3, [r4, #128] 2354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5618 .loc 1 2354 9 is_stmt 1 discriminator 2 view .LVU1899 2354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5619 .loc 1 2354 30 is_stmt 0 discriminator 2 view .LVU1900 5620 0296 0023 movs r3, #0 5621 0298 2366 str r3, [r4, #96] 2357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5622 .loc 1 2357 9 is_stmt 1 discriminator 2 view .LVU1901 2357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5623 .loc 1 2357 22 is_stmt 0 discriminator 2 view .LVU1902 5624 029a A366 str r3, [r4, #104] 5625 .L223: 2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5626 .loc 1 2359 9 is_stmt 1 discriminator 1 view .LVU1903 5627 .LBB677: 2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5628 .loc 1 2359 9 discriminator 1 view .LVU1904 2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5629 .loc 1 2359 9 discriminator 1 view .LVU1905 2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5630 .loc 1 2359 9 discriminator 1 view .LVU1906 5631 029c 2268 ldr r2, [r4] 5632 .LVL501: 5633 .LBB678: 5634 .LBI678: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5635 .loc 2 1068 31 discriminator 1 view .LVU1907 5636 .LBB679: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 5637 .loc 2 1070 5 discriminator 1 view .LVU1908 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5638 .loc 2 1072 4 discriminator 1 view .LVU1909 5639 .syntax unified 5640 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5641 029e 52E8003F ldrex r3, [r2] 5642 @ 0 "" 2 5643 .LVL502: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5644 .loc 2 1073 4 discriminator 1 view .LVU1910 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5645 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1911 5646 .thumb 5647 .syntax unified 5648 .LBE679: 5649 .LBE678: 2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5650 .loc 1 2359 9 discriminator 1 view .LVU1912 5651 02a2 23F01003 bic r3, r3, #16 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 216 5652 .LVL503: 2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5653 .loc 1 2359 9 is_stmt 1 discriminator 1 view .LVU1913 5654 .LBB680: 5655 .LBI680: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5656 .loc 2 1119 31 discriminator 1 view .LVU1914 5657 .LBB681: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 5658 .loc 2 1121 4 discriminator 1 view .LVU1915 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5659 .loc 2 1123 4 discriminator 1 view .LVU1916 5660 .syntax unified 5661 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5662 02a6 42E80030 strex r0, r3, [r2] 5663 @ 0 "" 2 5664 .LVL504: 5665 .loc 2 1124 4 discriminator 1 view .LVU1917 5666 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1918 5667 .thumb 5668 .syntax unified 5669 .LBE681: 5670 .LBE680: 2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5671 .loc 1 2359 9 discriminator 1 view .LVU1919 5672 02aa 0028 cmp r0, #0 5673 02ac F6D1 bne .L223 5674 .LBE677: 2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5675 .loc 1 2359 9 is_stmt 1 discriminator 2 view .LVU1920 2363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5676 .loc 1 2363 9 discriminator 2 view .LVU1921 2363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5677 .loc 1 2363 28 is_stmt 0 discriminator 2 view .LVU1922 5678 02ae 0223 movs r3, #2 5679 .LVL505: 2363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5680 .loc 1 2363 28 discriminator 2 view .LVU1923 5681 02b0 6366 str r3, [r4, #100] 2370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 5682 .loc 1 2370 9 is_stmt 1 discriminator 2 view .LVU1924 5683 02b2 2046 mov r0, r4 5684 02b4 FFF7FEFF bl HAL_UARTEx_RxEventCallback 5685 .LVL506: 2373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5686 .loc 1 2373 7 discriminator 2 view .LVU1925 5687 02b8 D7E6 b .L193 5688 .LVL507: 5689 .L229: 2373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5690 .loc 1 2373 7 is_stmt 0 discriminator 2 view .LVU1926 5691 .LBE666: 2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5692 .loc 1 2380 5 is_stmt 1 view .LVU1927 5693 02ba 4FF48013 mov r3, #1048576 5694 .LVL508: 2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 217 5695 .loc 1 2380 5 is_stmt 0 view .LVU1928 5696 02be 1362 str r3, [r2, #32] 2390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5697 .loc 1 2390 5 is_stmt 1 view .LVU1929 5698 02c0 2046 mov r0, r4 5699 .LVL509: 2390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5700 .loc 1 2390 5 is_stmt 0 view .LVU1930 5701 02c2 FFF7FEFF bl HAL_UARTEx_WakeupCallback 5702 .LVL510: 2392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5703 .loc 1 2392 5 is_stmt 1 view .LVU1931 5704 02c6 D0E6 b .L193 5705 .LVL511: 5706 .L230: 2399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5707 .loc 1 2399 5 view .LVU1932 2399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5708 .loc 1 2399 14 is_stmt 0 view .LVU1933 5709 02c8 E36E ldr r3, [r4, #108] 5710 .LVL512: 2399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5711 .loc 1 2399 8 view .LVU1934 5712 02ca 002B cmp r3, #0 5713 02cc 3FF4CDAE beq .L193 2401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5714 .loc 1 2401 7 is_stmt 1 view .LVU1935 5715 02d0 2046 mov r0, r4 5716 .LVL513: 2401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5717 .loc 1 2401 7 is_stmt 0 view .LVU1936 5718 02d2 9847 blx r3 5719 .LVL514: 2403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5720 .loc 1 2403 5 is_stmt 1 view .LVU1937 5721 02d4 C9E6 b .L193 5722 .LVL515: 5723 .L231: 2409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return; 5724 .loc 1 2409 5 view .LVU1938 5725 02d6 2046 mov r0, r4 5726 .LVL516: 2409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return; 5727 .loc 1 2409 5 is_stmt 0 view .LVU1939 5728 02d8 FFF7FEFF bl UART_EndTransmit_IT 5729 .LVL517: 2410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5730 .loc 1 2410 5 is_stmt 1 view .LVU1940 5731 02dc C5E6 b .L193 5732 .L233: 5733 02de 00BF .align 2 5734 .L232: 5735 02e0 20010004 .word 67109152 5736 02e4 00000000 .word UART_DMAAbortOnError 5737 .cfi_endproc 5738 .LFE152: 5740 .section .text.UART_RxISR_8BIT,"ax",%progbits ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 218 5741 .align 1 5742 .syntax unified 5743 .thumb 5744 .thumb_func 5746 UART_RxISR_8BIT: 5747 .LVL518: 5748 .LFB194: 3825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief RX interrupt handler for 7 or 8 bits data word length . 3828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 3829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_RxISR_8BIT(UART_HandleTypeDef *huart) 3832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5749 .loc 1 3832 1 view -0 5750 .cfi_startproc 5751 @ args = 0, pretend = 0, frame = 0 5752 @ frame_needed = 0, uses_anonymous_args = 0 5753 .loc 1 3832 1 is_stmt 0 view .LVU1942 5754 0000 08B5 push {r3, lr} 5755 .cfi_def_cfa_offset 8 5756 .cfi_offset 3, -8 5757 .cfi_offset 14, -4 3833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t uhMask = huart->Mask; 5758 .loc 1 3833 3 is_stmt 1 view .LVU1943 5759 .loc 1 3833 12 is_stmt 0 view .LVU1944 5760 0002 B0F85C30 ldrh r3, [r0, #92] 5761 .LVL519: 3834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t uhdata; 5762 .loc 1 3834 3 is_stmt 1 view .LVU1945 3835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Rx process is ongoing */ 3837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX) 5763 .loc 1 3837 3 view .LVU1946 5764 .loc 1 3837 12 is_stmt 0 view .LVU1947 5765 0006 D0F88020 ldr r2, [r0, #128] 5766 .loc 1 3837 6 view .LVU1948 5767 000a 222A cmp r2, #34 5768 000c 05D0 beq .L245 3838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR); 3840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask); 3841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr++; 3842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount--; 3843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxXferCount == 0U) 3845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupts */ 3847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 3848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 3850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */ 3853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 219 3855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear RxISR function pointer */ 3856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = NULL; 3857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Initialize type of RxEvent to Transfer Complete */ 3859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 3860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that USART RTOEN bit is set */ 3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U) 3863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */ 3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_RTOIE); 3866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check current reception Mode : 3869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** If Reception till IDLE event has been selected : */ 3870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 3871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set reception type to Standard */ 3873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable IDLE interrupt */ 3876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 3877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE) == SET) 3879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear IDLE Flag */ 3881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF); 3882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx Event callback*/ 3886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize); 3887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 3889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize); 3890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 3891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 3893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Standard reception API called */ 3895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx complete callback*/ 3897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxCpltCallback(huart); 3898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/ 3900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart); 3901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 3906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear RXNE interrupt flag */ 3908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 5769 .loc 1 3908 5 is_stmt 1 view .LVU1949 5770 000e 0268 ldr r2, [r0] 5771 0010 9369 ldr r3, [r2, #24] ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 220 5772 .LVL520: 5773 .loc 1 3908 5 is_stmt 0 view .LVU1950 5774 0012 43F00803 orr r3, r3, #8 5775 0016 9361 str r3, [r2, #24] 5776 .LVL521: 5777 .L234: 3909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5778 .loc 1 3910 1 view .LVU1951 5779 0018 08BD pop {r3, pc} 5780 .LVL522: 5781 .L245: 3839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask); 5782 .loc 1 3839 5 is_stmt 1 view .LVU1952 3839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask); 5783 .loc 1 3839 25 is_stmt 0 view .LVU1953 5784 001a 0268 ldr r2, [r0] 3839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask); 5785 .loc 1 3839 12 view .LVU1954 5786 001c 918C ldrh r1, [r2, #36] 5787 .LVL523: 3840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr++; 5788 .loc 1 3840 5 is_stmt 1 view .LVU1955 3840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr++; 5789 .loc 1 3840 45 is_stmt 0 view .LVU1956 5790 001e DBB2 uxtb r3, r3 5791 .LVL524: 3840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr++; 5792 .loc 1 3840 11 view .LVU1957 5793 0020 426D ldr r2, [r0, #84] 3840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr++; 5794 .loc 1 3840 26 view .LVU1958 5795 0022 0B40 ands r3, r3, r1 3840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr++; 5796 .loc 1 3840 24 view .LVU1959 5797 0024 1370 strb r3, [r2] 5798 .LVL525: 3841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount--; 5799 .loc 1 3841 5 is_stmt 1 view .LVU1960 3841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount--; 5800 .loc 1 3841 10 is_stmt 0 view .LVU1961 5801 0026 436D ldr r3, [r0, #84] 3841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount--; 5802 .loc 1 3841 22 view .LVU1962 5803 0028 0133 adds r3, r3, #1 5804 002a 4365 str r3, [r0, #84] 3842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5805 .loc 1 3842 5 is_stmt 1 view .LVU1963 3842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5806 .loc 1 3842 10 is_stmt 0 view .LVU1964 5807 002c B0F85A30 ldrh r3, [r0, #90] 5808 0030 9BB2 uxth r3, r3 3842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5809 .loc 1 3842 23 view .LVU1965 5810 0032 013B subs r3, r3, #1 5811 0034 9BB2 uxth r3, r3 5812 0036 A0F85A30 strh r3, [r0, #90] @ movhi ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 221 3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5813 .loc 1 3844 5 is_stmt 1 view .LVU1966 3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5814 .loc 1 3844 14 is_stmt 0 view .LVU1967 5815 003a B0F85A30 ldrh r3, [r0, #90] 5816 003e 9BB2 uxth r3, r3 3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5817 .loc 1 3844 8 view .LVU1968 5818 0040 002B cmp r3, #0 5819 0042 E9D1 bne .L234 5820 .LVL526: 5821 .L237: 3847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5822 .loc 1 3847 7 is_stmt 1 discriminator 1 view .LVU1969 5823 .LBB682: 3847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5824 .loc 1 3847 7 discriminator 1 view .LVU1970 3847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5825 .loc 1 3847 7 discriminator 1 view .LVU1971 3847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5826 .loc 1 3847 7 discriminator 1 view .LVU1972 5827 0044 0268 ldr r2, [r0] 5828 .LVL527: 5829 .LBB683: 5830 .LBI683: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5831 .loc 2 1068 31 discriminator 1 view .LVU1973 5832 .LBB684: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 5833 .loc 2 1070 5 discriminator 1 view .LVU1974 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5834 .loc 2 1072 4 discriminator 1 view .LVU1975 5835 .syntax unified 5836 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5837 0046 52E8003F ldrex r3, [r2] 5838 @ 0 "" 2 5839 .LVL528: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5840 .loc 2 1073 4 discriminator 1 view .LVU1976 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5841 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1977 5842 .thumb 5843 .syntax unified 5844 .LBE684: 5845 .LBE683: 3847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5846 .loc 1 3847 7 discriminator 1 view .LVU1978 5847 004a 23F49073 bic r3, r3, #288 5848 .LVL529: 3847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5849 .loc 1 3847 7 is_stmt 1 discriminator 1 view .LVU1979 5850 .LBB685: 5851 .LBI685: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5852 .loc 2 1119 31 discriminator 1 view .LVU1980 5853 .LBB686: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 222 5854 .loc 2 1121 4 discriminator 1 view .LVU1981 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5855 .loc 2 1123 4 discriminator 1 view .LVU1982 5856 .syntax unified 5857 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5858 004e 42E80031 strex r1, r3, [r2] 5859 @ 0 "" 2 5860 .LVL530: 5861 .loc 2 1124 4 discriminator 1 view .LVU1983 5862 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1984 5863 .thumb 5864 .syntax unified 5865 .LBE686: 5866 .LBE685: 3847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5867 .loc 1 3847 7 discriminator 1 view .LVU1985 5868 0052 0029 cmp r1, #0 5869 0054 F6D1 bne .L237 5870 .LVL531: 5871 .L238: 3847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5872 .loc 1 3847 7 discriminator 1 view .LVU1986 5873 .LBE682: 3847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5874 .loc 1 3847 7 is_stmt 1 discriminator 1 view .LVU1987 3850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5875 .loc 1 3850 7 discriminator 1 view .LVU1988 5876 .LBB687: 3850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5877 .loc 1 3850 7 discriminator 1 view .LVU1989 3850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5878 .loc 1 3850 7 discriminator 1 view .LVU1990 3850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5879 .loc 1 3850 7 discriminator 1 view .LVU1991 5880 0056 0268 ldr r2, [r0] 5881 .LVL532: 5882 .LBB688: 5883 .LBI688: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5884 .loc 2 1068 31 discriminator 1 view .LVU1992 5885 .LBB689: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 5886 .loc 2 1070 5 discriminator 1 view .LVU1993 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5887 .loc 2 1072 4 discriminator 1 view .LVU1994 5888 0058 02F10803 add r3, r2, #8 5889 .LVL533: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5890 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU1995 5891 .syntax unified 5892 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5893 005c 53E8003F ldrex r3, [r3] 5894 @ 0 "" 2 5895 .LVL534: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5896 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU1996 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 223 5897 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1997 5898 .thumb 5899 .syntax unified 5900 .LBE689: 5901 .LBE688: 3850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5902 .loc 1 3850 7 discriminator 1 view .LVU1998 5903 0060 23F00103 bic r3, r3, #1 5904 .LVL535: 3850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5905 .loc 1 3850 7 is_stmt 1 discriminator 1 view .LVU1999 5906 .LBB690: 5907 .LBI690: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5908 .loc 2 1119 31 discriminator 1 view .LVU2000 5909 .LBB691: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 5910 .loc 2 1121 4 discriminator 1 view .LVU2001 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5911 .loc 2 1123 4 discriminator 1 view .LVU2002 5912 0064 0832 adds r2, r2, #8 5913 .LVL536: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5914 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU2003 5915 .syntax unified 5916 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5917 0066 42E80031 strex r1, r3, [r2] 5918 @ 0 "" 2 5919 .LVL537: 5920 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU2004 5921 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2005 5922 .thumb 5923 .syntax unified 5924 .LBE691: 5925 .LBE690: 3850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5926 .loc 1 3850 7 discriminator 1 view .LVU2006 5927 006a 0029 cmp r1, #0 5928 006c F3D1 bne .L238 5929 .LBE687: 3850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5930 .loc 1 3850 7 is_stmt 1 discriminator 2 view .LVU2007 3853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5931 .loc 1 3853 7 discriminator 2 view .LVU2008 3853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5932 .loc 1 3853 22 is_stmt 0 discriminator 2 view .LVU2009 5933 006e 2023 movs r3, #32 5934 .LVL538: 3853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5935 .loc 1 3853 22 discriminator 2 view .LVU2010 5936 0070 C0F88030 str r3, [r0, #128] 3856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5937 .loc 1 3856 7 is_stmt 1 discriminator 2 view .LVU2011 3856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5938 .loc 1 3856 20 is_stmt 0 discriminator 2 view .LVU2012 5939 0074 0023 movs r3, #0 5940 0076 8366 str r3, [r0, #104] ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 224 3859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5941 .loc 1 3859 7 is_stmt 1 discriminator 2 view .LVU2013 3859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5942 .loc 1 3859 26 is_stmt 0 discriminator 2 view .LVU2014 5943 0078 4366 str r3, [r0, #100] 3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5944 .loc 1 3862 7 is_stmt 1 discriminator 2 view .LVU2015 3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5945 .loc 1 3862 11 is_stmt 0 discriminator 2 view .LVU2016 5946 007a 0368 ldr r3, [r0] 5947 007c 5B68 ldr r3, [r3, #4] 3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5948 .loc 1 3862 10 discriminator 2 view .LVU2017 5949 007e 13F4000F tst r3, #8388608 5950 0082 08D0 beq .L239 5951 .L240: 3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5952 .loc 1 3865 9 is_stmt 1 discriminator 1 view .LVU2018 5953 .LBB692: 3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5954 .loc 1 3865 9 discriminator 1 view .LVU2019 3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5955 .loc 1 3865 9 discriminator 1 view .LVU2020 3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5956 .loc 1 3865 9 discriminator 1 view .LVU2021 5957 0084 0268 ldr r2, [r0] 5958 .LVL539: 5959 .LBB693: 5960 .LBI693: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5961 .loc 2 1068 31 discriminator 1 view .LVU2022 5962 .LBB694: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 5963 .loc 2 1070 5 discriminator 1 view .LVU2023 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5964 .loc 2 1072 4 discriminator 1 view .LVU2024 5965 .syntax unified 5966 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5967 0086 52E8003F ldrex r3, [r2] 5968 @ 0 "" 2 5969 .LVL540: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5970 .loc 2 1073 4 discriminator 1 view .LVU2025 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5971 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2026 5972 .thumb 5973 .syntax unified 5974 .LBE694: 5975 .LBE693: 3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5976 .loc 1 3865 9 discriminator 1 view .LVU2027 5977 008a 23F08063 bic r3, r3, #67108864 5978 .LVL541: 3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5979 .loc 1 3865 9 is_stmt 1 discriminator 1 view .LVU2028 5980 .LBB695: 5981 .LBI695: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 225 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5982 .loc 2 1119 31 discriminator 1 view .LVU2029 5983 .LBB696: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 5984 .loc 2 1121 4 discriminator 1 view .LVU2030 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5985 .loc 2 1123 4 discriminator 1 view .LVU2031 5986 .syntax unified 5987 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5988 008e 42E80031 strex r1, r3, [r2] 5989 @ 0 "" 2 5990 .LVL542: 5991 .loc 2 1124 4 discriminator 1 view .LVU2032 5992 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2033 5993 .thumb 5994 .syntax unified 5995 .LBE696: 5996 .LBE695: 3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5997 .loc 1 3865 9 discriminator 1 view .LVU2034 5998 0092 0029 cmp r1, #0 5999 0094 F6D1 bne .L240 6000 .LVL543: 6001 .L239: 3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6002 .loc 1 3865 9 discriminator 1 view .LVU2035 6003 .LBE692: 3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6004 .loc 1 3865 9 is_stmt 1 discriminator 2 view .LVU2036 3870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6005 .loc 1 3870 7 discriminator 2 view .LVU2037 3870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6006 .loc 1 3870 16 is_stmt 0 discriminator 2 view .LVU2038 6007 0096 036E ldr r3, [r0, #96] 3870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6008 .loc 1 3870 10 discriminator 2 view .LVU2039 6009 0098 012B cmp r3, #1 6010 009a 16D1 bne .L241 3873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6011 .loc 1 3873 9 is_stmt 1 view .LVU2040 3873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6012 .loc 1 3873 30 is_stmt 0 view .LVU2041 6013 009c 0023 movs r3, #0 6014 009e 0366 str r3, [r0, #96] 6015 .L242: 3876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6016 .loc 1 3876 9 is_stmt 1 discriminator 1 view .LVU2042 6017 .LBB697: 3876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6018 .loc 1 3876 9 discriminator 1 view .LVU2043 3876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6019 .loc 1 3876 9 discriminator 1 view .LVU2044 3876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6020 .loc 1 3876 9 discriminator 1 view .LVU2045 6021 00a0 0268 ldr r2, [r0] 6022 .LVL544: 6023 .LBB698: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 226 6024 .LBI698: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6025 .loc 2 1068 31 discriminator 1 view .LVU2046 6026 .LBB699: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 6027 .loc 2 1070 5 discriminator 1 view .LVU2047 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6028 .loc 2 1072 4 discriminator 1 view .LVU2048 6029 .syntax unified 6030 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6031 00a2 52E8003F ldrex r3, [r2] 6032 @ 0 "" 2 6033 .LVL545: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6034 .loc 2 1073 4 discriminator 1 view .LVU2049 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6035 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2050 6036 .thumb 6037 .syntax unified 6038 .LBE699: 6039 .LBE698: 3876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6040 .loc 1 3876 9 discriminator 1 view .LVU2051 6041 00a6 23F01003 bic r3, r3, #16 6042 .LVL546: 3876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6043 .loc 1 3876 9 is_stmt 1 discriminator 1 view .LVU2052 6044 .LBB700: 6045 .LBI700: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6046 .loc 2 1119 31 discriminator 1 view .LVU2053 6047 .LBB701: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 6048 .loc 2 1121 4 discriminator 1 view .LVU2054 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6049 .loc 2 1123 4 discriminator 1 view .LVU2055 6050 .syntax unified 6051 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6052 00aa 42E80031 strex r1, r3, [r2] 6053 @ 0 "" 2 6054 .LVL547: 6055 .loc 2 1124 4 discriminator 1 view .LVU2056 6056 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2057 6057 .thumb 6058 .syntax unified 6059 .LBE701: 6060 .LBE700: 3876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6061 .loc 1 3876 9 discriminator 1 view .LVU2058 6062 00ae 0029 cmp r1, #0 6063 00b0 F6D1 bne .L242 6064 .LBE697: 3876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6065 .loc 1 3876 9 is_stmt 1 discriminator 2 view .LVU2059 3878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6066 .loc 1 3878 9 discriminator 2 view .LVU2060 3878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 227 6067 .loc 1 3878 13 is_stmt 0 discriminator 2 view .LVU2061 6068 00b2 0368 ldr r3, [r0] 6069 .LVL548: 3878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6070 .loc 1 3878 13 discriminator 2 view .LVU2062 6071 00b4 DA69 ldr r2, [r3, #28] 3878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6072 .loc 1 3878 12 discriminator 2 view .LVU2063 6073 00b6 12F0100F tst r2, #16 6074 00ba 01D0 beq .L243 3881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6075 .loc 1 3881 11 is_stmt 1 view .LVU2064 6076 00bc 1022 movs r2, #16 6077 00be 1A62 str r2, [r3, #32] 6078 .L243: 3889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6079 .loc 1 3889 9 view .LVU2065 6080 00c0 B0F85810 ldrh r1, [r0, #88] 6081 00c4 FFF7FEFF bl HAL_UARTEx_RxEventCallback 6082 .LVL549: 3889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6083 .loc 1 3889 9 is_stmt 0 view .LVU2066 6084 00c8 A6E7 b .L234 6085 .LVL550: 6086 .L241: 3900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6087 .loc 1 3900 9 is_stmt 1 view .LVU2067 6088 00ca FFF7FEFF bl HAL_UART_RxCpltCallback 6089 .LVL551: 3900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6090 .loc 1 3900 9 is_stmt 0 view .LVU2068 6091 00ce A3E7 b .L234 6092 .cfi_endproc 6093 .LFE194: 6095 .section .text.UART_RxISR_16BIT,"ax",%progbits 6096 .align 1 6097 .syntax unified 6098 .thumb 6099 .thumb_func 6101 UART_RxISR_16BIT: 6102 .LVL552: 6103 .LFB195: 3911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief RX interrupt handler for 9 bits data word length . 3914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note Function is called under interruption only, once 3915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Receive_IT() 3916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 3917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_RxISR_16BIT(UART_HandleTypeDef *huart) 3920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6104 .loc 1 3920 1 is_stmt 1 view -0 6105 .cfi_startproc 6106 @ args = 0, pretend = 0, frame = 0 6107 @ frame_needed = 0, uses_anonymous_args = 0 6108 .loc 1 3920 1 is_stmt 0 view .LVU2070 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 228 6109 0000 08B5 push {r3, lr} 6110 .cfi_def_cfa_offset 8 6111 .cfi_offset 3, -8 6112 .cfi_offset 14, -4 3921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t *tmp; 6113 .loc 1 3921 3 is_stmt 1 view .LVU2071 3922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t uhMask = huart->Mask; 6114 .loc 1 3922 3 view .LVU2072 6115 .loc 1 3922 12 is_stmt 0 view .LVU2073 6116 0002 B0F85C30 ldrh r3, [r0, #92] 6117 .LVL553: 3923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t uhdata; 6118 .loc 1 3923 3 is_stmt 1 view .LVU2074 3924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Rx process is ongoing */ 3926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX) 6119 .loc 1 3926 3 view .LVU2075 6120 .loc 1 3926 12 is_stmt 0 view .LVU2076 6121 0006 D0F88020 ldr r2, [r0, #128] 6122 .loc 1 3926 6 view .LVU2077 6123 000a 222A cmp r2, #34 6124 000c 05D0 beq .L257 3927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR); 3929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ; 3930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask); 3931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 3932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount--; 3933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxXferCount == 0U) 3935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupt*/ 3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 3938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 3940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */ 3943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear RxISR function pointer */ 3946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = NULL; 3947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Initialize type of RxEvent to Transfer Complete */ 3949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 3950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that USART RTOEN bit is set */ 3952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U) 3953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */ 3955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_RTOIE); 3956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check current reception Mode : 3959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** If Reception till IDLE event has been selected : */ 3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 3961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 229 3962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set reception type to Standard */ 3963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable IDLE interrupt */ 3966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 3967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE) == SET) 3969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear IDLE Flag */ 3971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF); 3972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx Event callback*/ 3976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize); 3977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 3979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize); 3980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 3981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 3983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Standard reception API called */ 3985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx complete callback*/ 3987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxCpltCallback(huart); 3988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/ 3990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart); 3991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 3996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear RXNE interrupt flag */ 3998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 6125 .loc 1 3998 5 is_stmt 1 view .LVU2078 6126 000e 0268 ldr r2, [r0] 6127 0010 9369 ldr r3, [r2, #24] 6128 .LVL554: 6129 .loc 1 3998 5 is_stmt 0 view .LVU2079 6130 0012 43F00803 orr r3, r3, #8 6131 0016 9361 str r3, [r2, #24] 6132 .LVL555: 6133 .L246: 3999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6134 .loc 1 4000 1 view .LVU2080 6135 0018 08BD pop {r3, pc} 6136 .LVL556: 6137 .L257: 3928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ; 6138 .loc 1 3928 5 is_stmt 1 view .LVU2081 3928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ; 6139 .loc 1 3928 25 is_stmt 0 view .LVU2082 6140 001a 0268 ldr r2, [r0] ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 230 3928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ; 6141 .loc 1 3928 12 view .LVU2083 6142 001c 918C ldrh r1, [r2, #36] 6143 .LVL557: 3929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask); 6144 .loc 1 3929 5 is_stmt 1 view .LVU2084 3929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask); 6145 .loc 1 3929 9 is_stmt 0 view .LVU2085 6146 001e 426D ldr r2, [r0, #84] 6147 .LVL558: 3930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 6148 .loc 1 3930 5 is_stmt 1 view .LVU2086 3930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 6149 .loc 1 3930 12 is_stmt 0 view .LVU2087 6150 0020 0B40 ands r3, r3, r1 6151 .LVL559: 3930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 6152 .loc 1 3930 10 view .LVU2088 6153 0022 1380 strh r3, [r2] @ movhi 6154 .LVL560: 3931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount--; 6155 .loc 1 3931 5 is_stmt 1 view .LVU2089 3931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount--; 6156 .loc 1 3931 10 is_stmt 0 view .LVU2090 6157 0024 436D ldr r3, [r0, #84] 3931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount--; 6158 .loc 1 3931 23 view .LVU2091 6159 0026 0233 adds r3, r3, #2 6160 0028 4365 str r3, [r0, #84] 3932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6161 .loc 1 3932 5 is_stmt 1 view .LVU2092 3932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6162 .loc 1 3932 10 is_stmt 0 view .LVU2093 6163 002a B0F85A30 ldrh r3, [r0, #90] 6164 002e 9BB2 uxth r3, r3 3932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6165 .loc 1 3932 23 view .LVU2094 6166 0030 013B subs r3, r3, #1 6167 0032 9BB2 uxth r3, r3 6168 0034 A0F85A30 strh r3, [r0, #90] @ movhi 3934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6169 .loc 1 3934 5 is_stmt 1 view .LVU2095 3934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6170 .loc 1 3934 14 is_stmt 0 view .LVU2096 6171 0038 B0F85A30 ldrh r3, [r0, #90] 6172 003c 9BB2 uxth r3, r3 3934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6173 .loc 1 3934 8 view .LVU2097 6174 003e 002B cmp r3, #0 6175 0040 EAD1 bne .L246 6176 .LVL561: 6177 .L249: 3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6178 .loc 1 3937 7 is_stmt 1 discriminator 1 view .LVU2098 6179 .LBB702: 3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6180 .loc 1 3937 7 discriminator 1 view .LVU2099 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 231 3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6181 .loc 1 3937 7 discriminator 1 view .LVU2100 3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6182 .loc 1 3937 7 discriminator 1 view .LVU2101 6183 0042 0268 ldr r2, [r0] 6184 .LVL562: 6185 .LBB703: 6186 .LBI703: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6187 .loc 2 1068 31 discriminator 1 view .LVU2102 6188 .LBB704: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 6189 .loc 2 1070 5 discriminator 1 view .LVU2103 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6190 .loc 2 1072 4 discriminator 1 view .LVU2104 6191 .syntax unified 6192 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6193 0044 52E8003F ldrex r3, [r2] 6194 @ 0 "" 2 6195 .LVL563: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6196 .loc 2 1073 4 discriminator 1 view .LVU2105 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6197 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2106 6198 .thumb 6199 .syntax unified 6200 .LBE704: 6201 .LBE703: 3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6202 .loc 1 3937 7 discriminator 1 view .LVU2107 6203 0048 23F49073 bic r3, r3, #288 6204 .LVL564: 3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6205 .loc 1 3937 7 is_stmt 1 discriminator 1 view .LVU2108 6206 .LBB705: 6207 .LBI705: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6208 .loc 2 1119 31 discriminator 1 view .LVU2109 6209 .LBB706: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 6210 .loc 2 1121 4 discriminator 1 view .LVU2110 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6211 .loc 2 1123 4 discriminator 1 view .LVU2111 6212 .syntax unified 6213 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6214 004c 42E80031 strex r1, r3, [r2] 6215 @ 0 "" 2 6216 .LVL565: 6217 .loc 2 1124 4 discriminator 1 view .LVU2112 6218 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2113 6219 .thumb 6220 .syntax unified 6221 .LBE706: 6222 .LBE705: 3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6223 .loc 1 3937 7 discriminator 1 view .LVU2114 6224 0050 0029 cmp r1, #0 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 232 6225 0052 F6D1 bne .L249 6226 .LVL566: 6227 .L250: 3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6228 .loc 1 3937 7 discriminator 1 view .LVU2115 6229 .LBE702: 3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6230 .loc 1 3937 7 is_stmt 1 discriminator 1 view .LVU2116 3940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6231 .loc 1 3940 7 discriminator 1 view .LVU2117 6232 .LBB707: 3940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6233 .loc 1 3940 7 discriminator 1 view .LVU2118 3940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6234 .loc 1 3940 7 discriminator 1 view .LVU2119 3940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6235 .loc 1 3940 7 discriminator 1 view .LVU2120 6236 0054 0268 ldr r2, [r0] 6237 .LVL567: 6238 .LBB708: 6239 .LBI708: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6240 .loc 2 1068 31 discriminator 1 view .LVU2121 6241 .LBB709: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 6242 .loc 2 1070 5 discriminator 1 view .LVU2122 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6243 .loc 2 1072 4 discriminator 1 view .LVU2123 6244 0056 02F10803 add r3, r2, #8 6245 .LVL568: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6246 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU2124 6247 .syntax unified 6248 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6249 005a 53E8003F ldrex r3, [r3] 6250 @ 0 "" 2 6251 .LVL569: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6252 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU2125 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6253 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2126 6254 .thumb 6255 .syntax unified 6256 .LBE709: 6257 .LBE708: 3940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6258 .loc 1 3940 7 discriminator 1 view .LVU2127 6259 005e 23F00103 bic r3, r3, #1 6260 .LVL570: 3940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6261 .loc 1 3940 7 is_stmt 1 discriminator 1 view .LVU2128 6262 .LBB710: 6263 .LBI710: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6264 .loc 2 1119 31 discriminator 1 view .LVU2129 6265 .LBB711: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 233 6266 .loc 2 1121 4 discriminator 1 view .LVU2130 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6267 .loc 2 1123 4 discriminator 1 view .LVU2131 6268 0062 0832 adds r2, r2, #8 6269 .LVL571: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6270 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU2132 6271 .syntax unified 6272 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6273 0064 42E80031 strex r1, r3, [r2] 6274 @ 0 "" 2 6275 .LVL572: 6276 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU2133 6277 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2134 6278 .thumb 6279 .syntax unified 6280 .LBE711: 6281 .LBE710: 3940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6282 .loc 1 3940 7 discriminator 1 view .LVU2135 6283 0068 0029 cmp r1, #0 6284 006a F3D1 bne .L250 6285 .LBE707: 3940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6286 .loc 1 3940 7 is_stmt 1 discriminator 2 view .LVU2136 3943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6287 .loc 1 3943 7 discriminator 2 view .LVU2137 3943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6288 .loc 1 3943 22 is_stmt 0 discriminator 2 view .LVU2138 6289 006c 2023 movs r3, #32 6290 .LVL573: 3943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6291 .loc 1 3943 22 discriminator 2 view .LVU2139 6292 006e C0F88030 str r3, [r0, #128] 3946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6293 .loc 1 3946 7 is_stmt 1 discriminator 2 view .LVU2140 3946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6294 .loc 1 3946 20 is_stmt 0 discriminator 2 view .LVU2141 6295 0072 0023 movs r3, #0 6296 0074 8366 str r3, [r0, #104] 3949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6297 .loc 1 3949 7 is_stmt 1 discriminator 2 view .LVU2142 3949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6298 .loc 1 3949 26 is_stmt 0 discriminator 2 view .LVU2143 6299 0076 4366 str r3, [r0, #100] 3952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6300 .loc 1 3952 7 is_stmt 1 discriminator 2 view .LVU2144 3952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6301 .loc 1 3952 11 is_stmt 0 discriminator 2 view .LVU2145 6302 0078 0368 ldr r3, [r0] 6303 007a 5B68 ldr r3, [r3, #4] 3952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6304 .loc 1 3952 10 discriminator 2 view .LVU2146 6305 007c 13F4000F tst r3, #8388608 6306 0080 08D0 beq .L251 6307 .L252: 3955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 234 6308 .loc 1 3955 9 is_stmt 1 discriminator 1 view .LVU2147 6309 .LBB712: 3955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6310 .loc 1 3955 9 discriminator 1 view .LVU2148 3955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6311 .loc 1 3955 9 discriminator 1 view .LVU2149 3955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6312 .loc 1 3955 9 discriminator 1 view .LVU2150 6313 0082 0268 ldr r2, [r0] 6314 .LVL574: 6315 .LBB713: 6316 .LBI713: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6317 .loc 2 1068 31 discriminator 1 view .LVU2151 6318 .LBB714: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 6319 .loc 2 1070 5 discriminator 1 view .LVU2152 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6320 .loc 2 1072 4 discriminator 1 view .LVU2153 6321 .syntax unified 6322 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6323 0084 52E8003F ldrex r3, [r2] 6324 @ 0 "" 2 6325 .LVL575: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6326 .loc 2 1073 4 discriminator 1 view .LVU2154 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6327 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2155 6328 .thumb 6329 .syntax unified 6330 .LBE714: 6331 .LBE713: 3955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6332 .loc 1 3955 9 discriminator 1 view .LVU2156 6333 0088 23F08063 bic r3, r3, #67108864 6334 .LVL576: 3955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6335 .loc 1 3955 9 is_stmt 1 discriminator 1 view .LVU2157 6336 .LBB715: 6337 .LBI715: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6338 .loc 2 1119 31 discriminator 1 view .LVU2158 6339 .LBB716: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 6340 .loc 2 1121 4 discriminator 1 view .LVU2159 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6341 .loc 2 1123 4 discriminator 1 view .LVU2160 6342 .syntax unified 6343 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6344 008c 42E80031 strex r1, r3, [r2] 6345 @ 0 "" 2 6346 .LVL577: 6347 .loc 2 1124 4 discriminator 1 view .LVU2161 6348 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2162 6349 .thumb 6350 .syntax unified 6351 .LBE716: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 235 6352 .LBE715: 3955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6353 .loc 1 3955 9 discriminator 1 view .LVU2163 6354 0090 0029 cmp r1, #0 6355 0092 F6D1 bne .L252 6356 .LVL578: 6357 .L251: 3955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6358 .loc 1 3955 9 discriminator 1 view .LVU2164 6359 .LBE712: 3955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6360 .loc 1 3955 9 is_stmt 1 discriminator 2 view .LVU2165 3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6361 .loc 1 3960 7 discriminator 2 view .LVU2166 3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6362 .loc 1 3960 16 is_stmt 0 discriminator 2 view .LVU2167 6363 0094 036E ldr r3, [r0, #96] 3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6364 .loc 1 3960 10 discriminator 2 view .LVU2168 6365 0096 012B cmp r3, #1 6366 0098 16D1 bne .L253 3963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6367 .loc 1 3963 9 is_stmt 1 view .LVU2169 3963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6368 .loc 1 3963 30 is_stmt 0 view .LVU2170 6369 009a 0023 movs r3, #0 6370 009c 0366 str r3, [r0, #96] 6371 .L254: 3966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6372 .loc 1 3966 9 is_stmt 1 discriminator 1 view .LVU2171 6373 .LBB717: 3966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6374 .loc 1 3966 9 discriminator 1 view .LVU2172 3966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6375 .loc 1 3966 9 discriminator 1 view .LVU2173 3966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6376 .loc 1 3966 9 discriminator 1 view .LVU2174 6377 009e 0268 ldr r2, [r0] 6378 .LVL579: 6379 .LBB718: 6380 .LBI718: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6381 .loc 2 1068 31 discriminator 1 view .LVU2175 6382 .LBB719: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 6383 .loc 2 1070 5 discriminator 1 view .LVU2176 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6384 .loc 2 1072 4 discriminator 1 view .LVU2177 6385 .syntax unified 6386 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6387 00a0 52E8003F ldrex r3, [r2] 6388 @ 0 "" 2 6389 .LVL580: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6390 .loc 2 1073 4 discriminator 1 view .LVU2178 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6391 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2179 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 236 6392 .thumb 6393 .syntax unified 6394 .LBE719: 6395 .LBE718: 3966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6396 .loc 1 3966 9 discriminator 1 view .LVU2180 6397 00a4 23F01003 bic r3, r3, #16 6398 .LVL581: 3966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6399 .loc 1 3966 9 is_stmt 1 discriminator 1 view .LVU2181 6400 .LBB720: 6401 .LBI720: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6402 .loc 2 1119 31 discriminator 1 view .LVU2182 6403 .LBB721: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 6404 .loc 2 1121 4 discriminator 1 view .LVU2183 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6405 .loc 2 1123 4 discriminator 1 view .LVU2184 6406 .syntax unified 6407 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6408 00a8 42E80031 strex r1, r3, [r2] 6409 @ 0 "" 2 6410 .LVL582: 6411 .loc 2 1124 4 discriminator 1 view .LVU2185 6412 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2186 6413 .thumb 6414 .syntax unified 6415 .LBE721: 6416 .LBE720: 3966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6417 .loc 1 3966 9 discriminator 1 view .LVU2187 6418 00ac 0029 cmp r1, #0 6419 00ae F6D1 bne .L254 6420 .LBE717: 3966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6421 .loc 1 3966 9 is_stmt 1 discriminator 2 view .LVU2188 3968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6422 .loc 1 3968 9 discriminator 2 view .LVU2189 3968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6423 .loc 1 3968 13 is_stmt 0 discriminator 2 view .LVU2190 6424 00b0 0368 ldr r3, [r0] 6425 .LVL583: 3968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6426 .loc 1 3968 13 discriminator 2 view .LVU2191 6427 00b2 DA69 ldr r2, [r3, #28] 3968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6428 .loc 1 3968 12 discriminator 2 view .LVU2192 6429 00b4 12F0100F tst r2, #16 6430 00b8 01D0 beq .L255 3971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6431 .loc 1 3971 11 is_stmt 1 view .LVU2193 6432 00ba 1022 movs r2, #16 6433 00bc 1A62 str r2, [r3, #32] 6434 .L255: 3979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6435 .loc 1 3979 9 view .LVU2194 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 237 6436 00be B0F85810 ldrh r1, [r0, #88] 6437 00c2 FFF7FEFF bl HAL_UARTEx_RxEventCallback 6438 .LVL584: 3979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6439 .loc 1 3979 9 is_stmt 0 view .LVU2195 6440 00c6 A7E7 b .L246 6441 .LVL585: 6442 .L253: 3990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6443 .loc 1 3990 9 is_stmt 1 view .LVU2196 6444 00c8 FFF7FEFF bl HAL_UART_RxCpltCallback 6445 .LVL586: 3990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6446 .loc 1 3990 9 is_stmt 0 view .LVU2197 6447 00cc A4E7 b .L246 6448 .cfi_endproc 6449 .LFE195: 6451 .section .text.UART_DMARxHalfCplt,"ax",%progbits 6452 .align 1 6453 .syntax unified 6454 .thumb 6455 .thumb_func 6457 UART_DMARxHalfCplt: 6458 .LVL587: 6459 .LFB184: 3482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 6460 .loc 1 3482 1 is_stmt 1 view -0 6461 .cfi_startproc 6462 @ args = 0, pretend = 0, frame = 0 6463 @ frame_needed = 0, uses_anonymous_args = 0 3482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 6464 .loc 1 3482 1 is_stmt 0 view .LVU2199 6465 0000 08B5 push {r3, lr} 6466 .cfi_def_cfa_offset 8 6467 .cfi_offset 3, -8 6468 .cfi_offset 14, -4 3483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6469 .loc 1 3483 3 is_stmt 1 view .LVU2200 3483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6470 .loc 1 3483 23 is_stmt 0 view .LVU2201 6471 0002 406A ldr r0, [r0, #36] 6472 .LVL588: 3487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6473 .loc 1 3487 3 is_stmt 1 view .LVU2202 3487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6474 .loc 1 3487 22 is_stmt 0 view .LVU2203 6475 0004 0123 movs r3, #1 6476 0006 4366 str r3, [r0, #100] 3491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6477 .loc 1 3491 3 is_stmt 1 view .LVU2204 3491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6478 .loc 1 3491 12 is_stmt 0 view .LVU2205 6479 0008 036E ldr r3, [r0, #96] 3491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6480 .loc 1 3491 6 view .LVU2206 6481 000a 012B cmp r3, #1 6482 000c 02D0 beq .L262 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 238 3509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6483 .loc 1 3509 5 is_stmt 1 view .LVU2207 6484 000e FFF7FEFF bl HAL_UART_RxHalfCpltCallback 6485 .LVL589: 6486 .L258: 3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6487 .loc 1 3512 1 is_stmt 0 view .LVU2208 6488 0012 08BD pop {r3, pc} 6489 .LVL590: 6490 .L262: 3498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6491 .loc 1 3498 5 is_stmt 1 view .LVU2209 3498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6492 .loc 1 3498 44 is_stmt 0 view .LVU2210 6493 0014 B0F85810 ldrh r1, [r0, #88] 3498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6494 .loc 1 3498 5 view .LVU2211 6495 0018 4908 lsrs r1, r1, #1 6496 001a FFF7FEFF bl HAL_UARTEx_RxEventCallback 6497 .LVL591: 3498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6498 .loc 1 3498 5 view .LVU2212 6499 001e F8E7 b .L258 6500 .cfi_endproc 6501 .LFE184: 6503 .section .text.UART_DMAReceiveCplt,"ax",%progbits 6504 .align 1 6505 .syntax unified 6506 .thumb 6507 .thumb_func 6509 UART_DMAReceiveCplt: 6510 .LVL592: 6511 .LFB183: 3421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 6512 .loc 1 3421 1 is_stmt 1 view -0 6513 .cfi_startproc 6514 @ args = 0, pretend = 0, frame = 0 6515 @ frame_needed = 0, uses_anonymous_args = 0 3421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 6516 .loc 1 3421 1 is_stmt 0 view .LVU2214 6517 0000 08B5 push {r3, lr} 6518 .cfi_def_cfa_offset 8 6519 .cfi_offset 3, -8 6520 .cfi_offset 14, -4 6521 0002 0346 mov r3, r0 3422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6522 .loc 1 3422 3 is_stmt 1 view .LVU2215 3422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6523 .loc 1 3422 23 is_stmt 0 view .LVU2216 6524 0004 406A ldr r0, [r0, #36] 6525 .LVL593: 3425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6526 .loc 1 3425 3 is_stmt 1 view .LVU2217 3425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6527 .loc 1 3425 17 is_stmt 0 view .LVU2218 6528 0006 9B69 ldr r3, [r3, #24] 6529 .LVL594: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 239 3425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6530 .loc 1 3425 6 view .LVU2219 6531 0008 202B cmp r3, #32 6532 000a 29D0 beq .L264 3427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6533 .loc 1 3427 5 is_stmt 1 view .LVU2220 3427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6534 .loc 1 3427 24 is_stmt 0 view .LVU2221 6535 000c 0023 movs r3, #0 6536 000e A0F85A30 strh r3, [r0, #90] @ movhi 6537 .L265: 3430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6538 .loc 1 3430 5 is_stmt 1 discriminator 1 view .LVU2222 6539 .LBB722: 3430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6540 .loc 1 3430 5 discriminator 1 view .LVU2223 3430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6541 .loc 1 3430 5 discriminator 1 view .LVU2224 3430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6542 .loc 1 3430 5 discriminator 1 view .LVU2225 6543 0012 0268 ldr r2, [r0] 6544 .LVL595: 6545 .LBB723: 6546 .LBI723: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6547 .loc 2 1068 31 discriminator 1 view .LVU2226 6548 .LBB724: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 6549 .loc 2 1070 5 discriminator 1 view .LVU2227 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6550 .loc 2 1072 4 discriminator 1 view .LVU2228 6551 .syntax unified 6552 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6553 0014 52E8003F ldrex r3, [r2] 6554 @ 0 "" 2 6555 .LVL596: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6556 .loc 2 1073 4 discriminator 1 view .LVU2229 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6557 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2230 6558 .thumb 6559 .syntax unified 6560 .LBE724: 6561 .LBE723: 3430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6562 .loc 1 3430 5 discriminator 1 view .LVU2231 6563 0018 23F48073 bic r3, r3, #256 6564 .LVL597: 3430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6565 .loc 1 3430 5 is_stmt 1 discriminator 1 view .LVU2232 6566 .LBB725: 6567 .LBI725: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6568 .loc 2 1119 31 discriminator 1 view .LVU2233 6569 .LBB726: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 6570 .loc 2 1121 4 discriminator 1 view .LVU2234 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 240 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6571 .loc 2 1123 4 discriminator 1 view .LVU2235 6572 .syntax unified 6573 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6574 001c 42E80031 strex r1, r3, [r2] 6575 @ 0 "" 2 6576 .LVL598: 6577 .loc 2 1124 4 discriminator 1 view .LVU2236 6578 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2237 6579 .thumb 6580 .syntax unified 6581 .LBE726: 6582 .LBE725: 3430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6583 .loc 1 3430 5 discriminator 1 view .LVU2238 6584 0020 0029 cmp r1, #0 6585 0022 F6D1 bne .L265 6586 .LVL599: 6587 .L266: 3430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6588 .loc 1 3430 5 discriminator 1 view .LVU2239 6589 .LBE722: 3430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6590 .loc 1 3430 5 is_stmt 1 discriminator 1 view .LVU2240 3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6591 .loc 1 3431 5 discriminator 1 view .LVU2241 6592 .LBB727: 3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6593 .loc 1 3431 5 discriminator 1 view .LVU2242 3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6594 .loc 1 3431 5 discriminator 1 view .LVU2243 3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6595 .loc 1 3431 5 discriminator 1 view .LVU2244 6596 0024 0268 ldr r2, [r0] 6597 .LVL600: 6598 .LBB728: 6599 .LBI728: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6600 .loc 2 1068 31 discriminator 1 view .LVU2245 6601 .LBB729: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 6602 .loc 2 1070 5 discriminator 1 view .LVU2246 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6603 .loc 2 1072 4 discriminator 1 view .LVU2247 6604 0026 02F10803 add r3, r2, #8 6605 .LVL601: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6606 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU2248 6607 .syntax unified 6608 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6609 002a 53E8003F ldrex r3, [r3] 6610 @ 0 "" 2 6611 .LVL602: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6612 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU2249 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6613 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2250 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 241 6614 .thumb 6615 .syntax unified 6616 .LBE729: 6617 .LBE728: 3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6618 .loc 1 3431 5 discriminator 1 view .LVU2251 6619 002e 23F00103 bic r3, r3, #1 6620 .LVL603: 3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6621 .loc 1 3431 5 is_stmt 1 discriminator 1 view .LVU2252 6622 .LBB730: 6623 .LBI730: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6624 .loc 2 1119 31 discriminator 1 view .LVU2253 6625 .LBB731: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 6626 .loc 2 1121 4 discriminator 1 view .LVU2254 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6627 .loc 2 1123 4 discriminator 1 view .LVU2255 6628 0032 0832 adds r2, r2, #8 6629 .LVL604: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6630 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU2256 6631 .syntax unified 6632 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6633 0034 42E80031 strex r1, r3, [r2] 6634 @ 0 "" 2 6635 .LVL605: 6636 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU2257 6637 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2258 6638 .thumb 6639 .syntax unified 6640 .LBE731: 6641 .LBE730: 3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6642 .loc 1 3431 5 discriminator 1 view .LVU2259 6643 0038 0029 cmp r1, #0 6644 003a F3D1 bne .L266 6645 .LVL606: 6646 .L267: 3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6647 .loc 1 3431 5 discriminator 1 view .LVU2260 6648 .LBE727: 3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6649 .loc 1 3431 5 is_stmt 1 discriminator 1 view .LVU2261 3435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6650 .loc 1 3435 5 discriminator 1 view .LVU2262 6651 .LBB732: 3435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6652 .loc 1 3435 5 discriminator 1 view .LVU2263 3435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6653 .loc 1 3435 5 discriminator 1 view .LVU2264 3435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6654 .loc 1 3435 5 discriminator 1 view .LVU2265 6655 003c 0268 ldr r2, [r0] 6656 .LVL607: 6657 .LBB733: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 242 6658 .LBI733: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6659 .loc 2 1068 31 discriminator 1 view .LVU2266 6660 .LBB734: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 6661 .loc 2 1070 5 discriminator 1 view .LVU2267 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6662 .loc 2 1072 4 discriminator 1 view .LVU2268 6663 003e 02F10803 add r3, r2, #8 6664 .LVL608: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6665 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU2269 6666 .syntax unified 6667 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6668 0042 53E8003F ldrex r3, [r3] 6669 @ 0 "" 2 6670 .LVL609: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6671 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU2270 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6672 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2271 6673 .thumb 6674 .syntax unified 6675 .LBE734: 6676 .LBE733: 3435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6677 .loc 1 3435 5 discriminator 1 view .LVU2272 6678 0046 23F04003 bic r3, r3, #64 6679 .LVL610: 3435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6680 .loc 1 3435 5 is_stmt 1 discriminator 1 view .LVU2273 6681 .LBB735: 6682 .LBI735: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6683 .loc 2 1119 31 discriminator 1 view .LVU2274 6684 .LBB736: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 6685 .loc 2 1121 4 discriminator 1 view .LVU2275 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6686 .loc 2 1123 4 discriminator 1 view .LVU2276 6687 004a 0832 adds r2, r2, #8 6688 .LVL611: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6689 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU2277 6690 .syntax unified 6691 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6692 004c 42E80031 strex r1, r3, [r2] 6693 @ 0 "" 2 6694 .LVL612: 6695 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU2278 6696 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2279 6697 .thumb 6698 .syntax unified 6699 .LBE736: 6700 .LBE735: 3435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6701 .loc 1 3435 5 discriminator 1 view .LVU2280 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 243 6702 0050 0029 cmp r1, #0 6703 0052 F3D1 bne .L267 6704 .LBE732: 3435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6705 .loc 1 3435 5 is_stmt 1 discriminator 2 view .LVU2281 3438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6706 .loc 1 3438 5 discriminator 2 view .LVU2282 3438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6707 .loc 1 3438 20 is_stmt 0 discriminator 2 view .LVU2283 6708 0054 2023 movs r3, #32 6709 .LVL613: 3438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6710 .loc 1 3438 20 discriminator 2 view .LVU2284 6711 0056 C0F88030 str r3, [r0, #128] 3441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6712 .loc 1 3441 5 is_stmt 1 discriminator 2 view .LVU2285 3441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6713 .loc 1 3441 14 is_stmt 0 discriminator 2 view .LVU2286 6714 005a 036E ldr r3, [r0, #96] 3441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6715 .loc 1 3441 8 discriminator 2 view .LVU2287 6716 005c 012B cmp r3, #1 6717 005e 07D0 beq .L268 6718 .LVL614: 6719 .L264: 3443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6720 .loc 1 3443 7 is_stmt 1 discriminator 2 view .LVU2288 3449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6721 .loc 1 3449 3 discriminator 2 view .LVU2289 3449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6722 .loc 1 3449 22 is_stmt 0 discriminator 2 view .LVU2290 6723 0060 0023 movs r3, #0 6724 0062 4366 str r3, [r0, #100] 3453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6725 .loc 1 3453 3 is_stmt 1 discriminator 2 view .LVU2291 3453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6726 .loc 1 3453 12 is_stmt 0 discriminator 2 view .LVU2292 6727 0064 036E ldr r3, [r0, #96] 3453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6728 .loc 1 3453 6 discriminator 2 view .LVU2293 6729 0066 012B cmp r3, #1 6730 0068 0CD0 beq .L272 3471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6731 .loc 1 3471 5 is_stmt 1 view .LVU2294 6732 006a FFF7FEFF bl HAL_UART_RxCpltCallback 6733 .LVL615: 6734 .L263: 3474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6735 .loc 1 3474 1 is_stmt 0 view .LVU2295 6736 006e 08BD pop {r3, pc} 6737 .LVL616: 6738 .L268: 3443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6739 .loc 1 3443 7 is_stmt 1 discriminator 1 view .LVU2296 6740 .LBB737: 3443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6741 .loc 1 3443 7 discriminator 1 view .LVU2297 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 244 3443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6742 .loc 1 3443 7 discriminator 1 view .LVU2298 3443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6743 .loc 1 3443 7 discriminator 1 view .LVU2299 6744 0070 0268 ldr r2, [r0] 6745 .LVL617: 6746 .LBB738: 6747 .LBI738: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6748 .loc 2 1068 31 discriminator 1 view .LVU2300 6749 .LBB739: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 6750 .loc 2 1070 5 discriminator 1 view .LVU2301 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6751 .loc 2 1072 4 discriminator 1 view .LVU2302 6752 .syntax unified 6753 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6754 0072 52E8003F ldrex r3, [r2] 6755 @ 0 "" 2 6756 .LVL618: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6757 .loc 2 1073 4 discriminator 1 view .LVU2303 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6758 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2304 6759 .thumb 6760 .syntax unified 6761 .LBE739: 6762 .LBE738: 3443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6763 .loc 1 3443 7 discriminator 1 view .LVU2305 6764 0076 23F01003 bic r3, r3, #16 6765 .LVL619: 3443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6766 .loc 1 3443 7 is_stmt 1 discriminator 1 view .LVU2306 6767 .LBB740: 6768 .LBI740: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6769 .loc 2 1119 31 discriminator 1 view .LVU2307 6770 .LBB741: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 6771 .loc 2 1121 4 discriminator 1 view .LVU2308 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6772 .loc 2 1123 4 discriminator 1 view .LVU2309 6773 .syntax unified 6774 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6775 007a 42E80031 strex r1, r3, [r2] 6776 @ 0 "" 2 6777 .LVL620: 6778 .loc 2 1124 4 discriminator 1 view .LVU2310 6779 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2311 6780 .thumb 6781 .syntax unified 6782 .LBE741: 6783 .LBE740: 3443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6784 .loc 1 3443 7 discriminator 1 view .LVU2312 6785 007e 0029 cmp r1, #0 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 245 6786 0080 F6D1 bne .L268 6787 0082 EDE7 b .L264 6788 .LVL621: 6789 .L272: 3443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6790 .loc 1 3443 7 discriminator 1 view .LVU2313 6791 .LBE737: 3460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6792 .loc 1 3460 5 is_stmt 1 view .LVU2314 6793 0084 B0F85810 ldrh r1, [r0, #88] 6794 0088 FFF7FEFF bl HAL_UARTEx_RxEventCallback 6795 .LVL622: 3460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6796 .loc 1 3460 5 is_stmt 0 view .LVU2315 6797 008c EFE7 b .L263 6798 .cfi_endproc 6799 .LFE183: 6801 .section .text.HAL_UART_ReceiverTimeout_Config,"ax",%progbits 6802 .align 1 6803 .global HAL_UART_ReceiverTimeout_Config 6804 .syntax unified 6805 .thumb 6806 .thumb_func 6808 HAL_UART_ReceiverTimeout_Config: 6809 .LVL623: 6810 .LFB162: 2591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_RECEIVER_TIMEOUT_VALUE(TimeoutValue)); 6811 .loc 1 2591 1 is_stmt 1 view -0 6812 .cfi_startproc 6813 @ args = 0, pretend = 0, frame = 0 6814 @ frame_needed = 0, uses_anonymous_args = 0 6815 @ link register save eliminated. 2592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->RTOR, USART_RTOR_RTO, TimeoutValue); 6816 .loc 1 2592 3 view .LVU2317 2593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6817 .loc 1 2593 3 view .LVU2318 6818 0000 0268 ldr r2, [r0] 6819 0002 5369 ldr r3, [r2, #20] 6820 0004 03F07F43 and r3, r3, #-16777216 6821 0008 0B43 orrs r3, r3, r1 6822 000a 5361 str r3, [r2, #20] 2594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6823 .loc 1 2594 1 is_stmt 0 view .LVU2319 6824 000c 7047 bx lr 6825 .cfi_endproc 6826 .LFE162: 6828 .section .text.HAL_UART_EnableReceiverTimeout,"ax",%progbits 6829 .align 1 6830 .global HAL_UART_EnableReceiverTimeout 6831 .syntax unified 6832 .thumb 6833 .thumb_func 6835 HAL_UART_EnableReceiverTimeout: 6836 .LVL624: 6837 .LFB163: 2603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 6838 .loc 1 2603 1 is_stmt 1 view -0 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 246 6839 .cfi_startproc 6840 @ args = 0, pretend = 0, frame = 0 6841 @ frame_needed = 0, uses_anonymous_args = 0 6842 @ link register save eliminated. 2604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6843 .loc 1 2604 3 view .LVU2321 2604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6844 .loc 1 2604 12 is_stmt 0 view .LVU2322 6845 0000 C36F ldr r3, [r0, #124] 2604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6846 .loc 1 2604 6 view .LVU2323 6847 0002 202B cmp r3, #32 6848 0004 14D1 bne .L276 2607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6849 .loc 1 2607 5 is_stmt 1 view .LVU2324 2607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6850 .loc 1 2607 5 view .LVU2325 6851 0006 90F87830 ldrb r3, [r0, #120] @ zero_extendqisi2 6852 000a 012B cmp r3, #1 6853 000c 12D0 beq .L277 2607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6854 .loc 1 2607 5 discriminator 2 view .LVU2326 6855 000e 0123 movs r3, #1 6856 0010 80F87830 strb r3, [r0, #120] 2607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6857 .loc 1 2607 5 discriminator 2 view .LVU2327 2609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6858 .loc 1 2609 5 discriminator 2 view .LVU2328 2609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6859 .loc 1 2609 19 is_stmt 0 discriminator 2 view .LVU2329 6860 0014 2423 movs r3, #36 6861 0016 C367 str r3, [r0, #124] 2612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6862 .loc 1 2612 5 is_stmt 1 discriminator 2 view .LVU2330 6863 0018 0268 ldr r2, [r0] 6864 001a 5368 ldr r3, [r2, #4] 6865 001c 43F40003 orr r3, r3, #8388608 6866 0020 5360 str r3, [r2, #4] 2614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6867 .loc 1 2614 5 discriminator 2 view .LVU2331 2614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6868 .loc 1 2614 19 is_stmt 0 discriminator 2 view .LVU2332 6869 0022 2023 movs r3, #32 6870 0024 C367 str r3, [r0, #124] 2617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6871 .loc 1 2617 5 is_stmt 1 discriminator 2 view .LVU2333 2617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6872 .loc 1 2617 5 discriminator 2 view .LVU2334 6873 0026 0023 movs r3, #0 6874 0028 80F87830 strb r3, [r0, #120] 2617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6875 .loc 1 2617 5 discriminator 2 view .LVU2335 2619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6876 .loc 1 2619 5 discriminator 2 view .LVU2336 2619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6877 .loc 1 2619 12 is_stmt 0 discriminator 2 view .LVU2337 6878 002c 1846 mov r0, r3 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 247 6879 .LVL625: 2619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6880 .loc 1 2619 12 discriminator 2 view .LVU2338 6881 002e 7047 bx lr 6882 .LVL626: 6883 .L276: 2623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6884 .loc 1 2623 12 view .LVU2339 6885 0030 0220 movs r0, #2 6886 .LVL627: 2623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6887 .loc 1 2623 12 view .LVU2340 6888 0032 7047 bx lr 6889 .LVL628: 6890 .L277: 2607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6891 .loc 1 2607 5 view .LVU2341 6892 0034 0220 movs r0, #2 6893 .LVL629: 2625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6894 .loc 1 2625 1 view .LVU2342 6895 0036 7047 bx lr 6896 .cfi_endproc 6897 .LFE163: 6899 .section .text.HAL_UART_DisableReceiverTimeout,"ax",%progbits 6900 .align 1 6901 .global HAL_UART_DisableReceiverTimeout 6902 .syntax unified 6903 .thumb 6904 .thumb_func 6906 HAL_UART_DisableReceiverTimeout: 6907 .LVL630: 6908 .LFB164: 2634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 6909 .loc 1 2634 1 is_stmt 1 view -0 6910 .cfi_startproc 6911 @ args = 0, pretend = 0, frame = 0 6912 @ frame_needed = 0, uses_anonymous_args = 0 6913 @ link register save eliminated. 2635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6914 .loc 1 2635 3 view .LVU2344 2635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6915 .loc 1 2635 12 is_stmt 0 view .LVU2345 6916 0000 C36F ldr r3, [r0, #124] 2635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6917 .loc 1 2635 6 view .LVU2346 6918 0002 202B cmp r3, #32 6919 0004 14D1 bne .L280 2638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6920 .loc 1 2638 5 is_stmt 1 view .LVU2347 2638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6921 .loc 1 2638 5 view .LVU2348 6922 0006 90F87830 ldrb r3, [r0, #120] @ zero_extendqisi2 6923 000a 012B cmp r3, #1 6924 000c 12D0 beq .L281 2638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6925 .loc 1 2638 5 discriminator 2 view .LVU2349 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 248 6926 000e 0123 movs r3, #1 6927 0010 80F87830 strb r3, [r0, #120] 2638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6928 .loc 1 2638 5 discriminator 2 view .LVU2350 2640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6929 .loc 1 2640 5 discriminator 2 view .LVU2351 2640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6930 .loc 1 2640 19 is_stmt 0 discriminator 2 view .LVU2352 6931 0014 2423 movs r3, #36 6932 0016 C367 str r3, [r0, #124] 2643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6933 .loc 1 2643 5 is_stmt 1 discriminator 2 view .LVU2353 6934 0018 0268 ldr r2, [r0] 6935 001a 5368 ldr r3, [r2, #4] 6936 001c 23F40003 bic r3, r3, #8388608 6937 0020 5360 str r3, [r2, #4] 2645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6938 .loc 1 2645 5 discriminator 2 view .LVU2354 2645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6939 .loc 1 2645 19 is_stmt 0 discriminator 2 view .LVU2355 6940 0022 2023 movs r3, #32 6941 0024 C367 str r3, [r0, #124] 2648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6942 .loc 1 2648 5 is_stmt 1 discriminator 2 view .LVU2356 2648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6943 .loc 1 2648 5 discriminator 2 view .LVU2357 6944 0026 0023 movs r3, #0 6945 0028 80F87830 strb r3, [r0, #120] 2648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6946 .loc 1 2648 5 discriminator 2 view .LVU2358 2650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6947 .loc 1 2650 5 discriminator 2 view .LVU2359 2650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6948 .loc 1 2650 12 is_stmt 0 discriminator 2 view .LVU2360 6949 002c 1846 mov r0, r3 6950 .LVL631: 2650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6951 .loc 1 2650 12 discriminator 2 view .LVU2361 6952 002e 7047 bx lr 6953 .LVL632: 6954 .L280: 2654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6955 .loc 1 2654 12 view .LVU2362 6956 0030 0220 movs r0, #2 6957 .LVL633: 2654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6958 .loc 1 2654 12 view .LVU2363 6959 0032 7047 bx lr 6960 .LVL634: 6961 .L281: 2638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6962 .loc 1 2638 5 view .LVU2364 6963 0034 0220 movs r0, #2 6964 .LVL635: 2656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6965 .loc 1 2656 1 view .LVU2365 6966 0036 7047 bx lr ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 249 6967 .cfi_endproc 6968 .LFE164: 6970 .section .text.HAL_MultiProcessor_EnterMuteMode,"ax",%progbits 6971 .align 1 6972 .global HAL_MultiProcessor_EnterMuteMode 6973 .syntax unified 6974 .thumb 6975 .thumb_func 6977 HAL_MultiProcessor_EnterMuteMode: 6978 .LVL636: 6979 .LFB167: 2705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_MUTE_MODE_REQUEST); 6980 .loc 1 2705 1 is_stmt 1 view -0 6981 .cfi_startproc 6982 @ args = 0, pretend = 0, frame = 0 6983 @ frame_needed = 0, uses_anonymous_args = 0 6984 @ link register save eliminated. 2706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6985 .loc 1 2706 3 view .LVU2367 6986 0000 0268 ldr r2, [r0] 6987 0002 9369 ldr r3, [r2, #24] 6988 0004 43F00403 orr r3, r3, #4 6989 0008 9361 str r3, [r2, #24] 2707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6990 .loc 1 2707 1 is_stmt 0 view .LVU2368 6991 000a 7047 bx lr 6992 .cfi_endproc 6993 .LFE167: 6995 .section .text.HAL_HalfDuplex_EnableTransmitter,"ax",%progbits 6996 .align 1 6997 .global HAL_HalfDuplex_EnableTransmitter 6998 .syntax unified 6999 .thumb 7000 .thumb_func 7002 HAL_HalfDuplex_EnableTransmitter: 7003 .LVL637: 7004 .LFB168: 2715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart); 7005 .loc 1 2715 1 is_stmt 1 view -0 7006 .cfi_startproc 7007 @ args = 0, pretend = 0, frame = 0 7008 @ frame_needed = 0, uses_anonymous_args = 0 7009 @ link register save eliminated. 2716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7010 .loc 1 2716 3 view .LVU2370 2716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7011 .loc 1 2716 3 view .LVU2371 7012 0000 90F87830 ldrb r3, [r0, #120] @ zero_extendqisi2 7013 0004 012B cmp r3, #1 7014 0006 1DD0 beq .L287 2716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7015 .loc 1 2716 3 discriminator 2 view .LVU2372 7016 0008 0123 movs r3, #1 7017 000a 80F87830 strb r3, [r0, #120] 2716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7018 .loc 1 2716 3 discriminator 2 view .LVU2373 2717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 250 7019 .loc 1 2717 3 discriminator 2 view .LVU2374 2717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7020 .loc 1 2717 17 is_stmt 0 discriminator 2 view .LVU2375 7021 000e 2423 movs r3, #36 7022 0010 C367 str r3, [r0, #124] 7023 .L285: 2720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7024 .loc 1 2720 3 is_stmt 1 discriminator 1 view .LVU2376 7025 .LBB742: 2720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7026 .loc 1 2720 3 discriminator 1 view .LVU2377 2720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7027 .loc 1 2720 3 discriminator 1 view .LVU2378 2720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7028 .loc 1 2720 3 discriminator 1 view .LVU2379 7029 0012 0268 ldr r2, [r0] 7030 .LVL638: 7031 .LBB743: 7032 .LBI743: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7033 .loc 2 1068 31 discriminator 1 view .LVU2380 7034 .LBB744: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 7035 .loc 2 1070 5 discriminator 1 view .LVU2381 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7036 .loc 2 1072 4 discriminator 1 view .LVU2382 7037 .syntax unified 7038 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7039 0014 52E8003F ldrex r3, [r2] 7040 @ 0 "" 2 7041 .LVL639: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7042 .loc 2 1073 4 discriminator 1 view .LVU2383 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7043 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2384 7044 .thumb 7045 .syntax unified 7046 .LBE744: 7047 .LBE743: 2720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7048 .loc 1 2720 3 discriminator 1 view .LVU2385 7049 0018 23F00C03 bic r3, r3, #12 7050 .LVL640: 2720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7051 .loc 1 2720 3 is_stmt 1 discriminator 1 view .LVU2386 7052 .LBB745: 7053 .LBI745: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7054 .loc 2 1119 31 discriminator 1 view .LVU2387 7055 .LBB746: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 7056 .loc 2 1121 4 discriminator 1 view .LVU2388 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7057 .loc 2 1123 4 discriminator 1 view .LVU2389 7058 .syntax unified 7059 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7060 001c 42E80031 strex r1, r3, [r2] ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 251 7061 @ 0 "" 2 7062 .LVL641: 7063 .loc 2 1124 4 discriminator 1 view .LVU2390 7064 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2391 7065 .thumb 7066 .syntax unified 7067 .LBE746: 7068 .LBE745: 2720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7069 .loc 1 2720 3 discriminator 1 view .LVU2392 7070 0020 0029 cmp r1, #0 7071 0022 F6D1 bne .L285 7072 .LVL642: 7073 .L286: 2720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7074 .loc 1 2720 3 discriminator 1 view .LVU2393 7075 .LBE742: 2720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7076 .loc 1 2720 3 is_stmt 1 discriminator 1 view .LVU2394 2723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7077 .loc 1 2723 3 discriminator 1 view .LVU2395 7078 .LBB747: 2723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7079 .loc 1 2723 3 discriminator 1 view .LVU2396 2723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7080 .loc 1 2723 3 discriminator 1 view .LVU2397 2723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7081 .loc 1 2723 3 discriminator 1 view .LVU2398 7082 0024 0268 ldr r2, [r0] 7083 .LVL643: 7084 .LBB748: 7085 .LBI748: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7086 .loc 2 1068 31 discriminator 1 view .LVU2399 7087 .LBB749: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 7088 .loc 2 1070 5 discriminator 1 view .LVU2400 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7089 .loc 2 1072 4 discriminator 1 view .LVU2401 7090 .syntax unified 7091 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7092 0026 52E8003F ldrex r3, [r2] 7093 @ 0 "" 2 7094 .LVL644: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7095 .loc 2 1073 4 discriminator 1 view .LVU2402 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7096 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2403 7097 .thumb 7098 .syntax unified 7099 .LBE749: 7100 .LBE748: 2723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7101 .loc 1 2723 3 discriminator 1 view .LVU2404 7102 002a 43F00803 orr r3, r3, #8 7103 .LVL645: 2723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 252 7104 .loc 1 2723 3 is_stmt 1 discriminator 1 view .LVU2405 7105 .LBB750: 7106 .LBI750: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7107 .loc 2 1119 31 discriminator 1 view .LVU2406 7108 .LBB751: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 7109 .loc 2 1121 4 discriminator 1 view .LVU2407 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7110 .loc 2 1123 4 discriminator 1 view .LVU2408 7111 .syntax unified 7112 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7113 002e 42E80031 strex r1, r3, [r2] 7114 @ 0 "" 2 7115 .LVL646: 7116 .loc 2 1124 4 discriminator 1 view .LVU2409 7117 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2410 7118 .thumb 7119 .syntax unified 7120 .LBE751: 7121 .LBE750: 2723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7122 .loc 1 2723 3 discriminator 1 view .LVU2411 7123 0032 0029 cmp r1, #0 7124 0034 F6D1 bne .L286 7125 .LBE747: 2723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7126 .loc 1 2723 3 is_stmt 1 discriminator 2 view .LVU2412 2725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7127 .loc 1 2725 3 discriminator 2 view .LVU2413 2725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7128 .loc 1 2725 17 is_stmt 0 discriminator 2 view .LVU2414 7129 0036 2023 movs r3, #32 7130 .LVL647: 2725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7131 .loc 1 2725 17 discriminator 2 view .LVU2415 7132 0038 C367 str r3, [r0, #124] 2727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7133 .loc 1 2727 3 is_stmt 1 discriminator 2 view .LVU2416 2727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7134 .loc 1 2727 3 discriminator 2 view .LVU2417 7135 003a 0023 movs r3, #0 7136 003c 80F87830 strb r3, [r0, #120] 2727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7137 .loc 1 2727 3 discriminator 2 view .LVU2418 2729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7138 .loc 1 2729 3 discriminator 2 view .LVU2419 2729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7139 .loc 1 2729 10 is_stmt 0 discriminator 2 view .LVU2420 7140 0040 1846 mov r0, r3 7141 .LVL648: 2729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7142 .loc 1 2729 10 discriminator 2 view .LVU2421 7143 0042 7047 bx lr 7144 .LVL649: 7145 .L287: 2716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 253 7146 .loc 1 2716 3 view .LVU2422 7147 0044 0220 movs r0, #2 7148 .LVL650: 2730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7149 .loc 1 2730 1 view .LVU2423 7150 0046 7047 bx lr 7151 .cfi_endproc 7152 .LFE168: 7154 .section .text.HAL_HalfDuplex_EnableReceiver,"ax",%progbits 7155 .align 1 7156 .global HAL_HalfDuplex_EnableReceiver 7157 .syntax unified 7158 .thumb 7159 .thumb_func 7161 HAL_HalfDuplex_EnableReceiver: 7162 .LVL651: 7163 .LFB169: 2738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart); 7164 .loc 1 2738 1 is_stmt 1 view -0 7165 .cfi_startproc 7166 @ args = 0, pretend = 0, frame = 0 7167 @ frame_needed = 0, uses_anonymous_args = 0 7168 @ link register save eliminated. 2739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7169 .loc 1 2739 3 view .LVU2425 2739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7170 .loc 1 2739 3 view .LVU2426 7171 0000 90F87830 ldrb r3, [r0, #120] @ zero_extendqisi2 7172 0004 012B cmp r3, #1 7173 0006 1DD0 beq .L292 2739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7174 .loc 1 2739 3 discriminator 2 view .LVU2427 7175 0008 0123 movs r3, #1 7176 000a 80F87830 strb r3, [r0, #120] 2739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7177 .loc 1 2739 3 discriminator 2 view .LVU2428 2740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7178 .loc 1 2740 3 discriminator 2 view .LVU2429 2740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7179 .loc 1 2740 17 is_stmt 0 discriminator 2 view .LVU2430 7180 000e 2423 movs r3, #36 7181 0010 C367 str r3, [r0, #124] 7182 .L290: 2743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7183 .loc 1 2743 3 is_stmt 1 discriminator 1 view .LVU2431 7184 .LBB752: 2743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7185 .loc 1 2743 3 discriminator 1 view .LVU2432 2743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7186 .loc 1 2743 3 discriminator 1 view .LVU2433 2743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7187 .loc 1 2743 3 discriminator 1 view .LVU2434 7188 0012 0268 ldr r2, [r0] 7189 .LVL652: 7190 .LBB753: 7191 .LBI753: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 254 7192 .loc 2 1068 31 discriminator 1 view .LVU2435 7193 .LBB754: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 7194 .loc 2 1070 5 discriminator 1 view .LVU2436 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7195 .loc 2 1072 4 discriminator 1 view .LVU2437 7196 .syntax unified 7197 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7198 0014 52E8003F ldrex r3, [r2] 7199 @ 0 "" 2 7200 .LVL653: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7201 .loc 2 1073 4 discriminator 1 view .LVU2438 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7202 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2439 7203 .thumb 7204 .syntax unified 7205 .LBE754: 7206 .LBE753: 2743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7207 .loc 1 2743 3 discriminator 1 view .LVU2440 7208 0018 23F00C03 bic r3, r3, #12 7209 .LVL654: 2743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7210 .loc 1 2743 3 is_stmt 1 discriminator 1 view .LVU2441 7211 .LBB755: 7212 .LBI755: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7213 .loc 2 1119 31 discriminator 1 view .LVU2442 7214 .LBB756: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 7215 .loc 2 1121 4 discriminator 1 view .LVU2443 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7216 .loc 2 1123 4 discriminator 1 view .LVU2444 7217 .syntax unified 7218 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7219 001c 42E80031 strex r1, r3, [r2] 7220 @ 0 "" 2 7221 .LVL655: 7222 .loc 2 1124 4 discriminator 1 view .LVU2445 7223 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2446 7224 .thumb 7225 .syntax unified 7226 .LBE756: 7227 .LBE755: 2743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7228 .loc 1 2743 3 discriminator 1 view .LVU2447 7229 0020 0029 cmp r1, #0 7230 0022 F6D1 bne .L290 7231 .LVL656: 7232 .L291: 2743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7233 .loc 1 2743 3 discriminator 1 view .LVU2448 7234 .LBE752: 2743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7235 .loc 1 2743 3 is_stmt 1 discriminator 1 view .LVU2449 2746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 255 7236 .loc 1 2746 3 discriminator 1 view .LVU2450 7237 .LBB757: 2746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7238 .loc 1 2746 3 discriminator 1 view .LVU2451 2746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7239 .loc 1 2746 3 discriminator 1 view .LVU2452 2746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7240 .loc 1 2746 3 discriminator 1 view .LVU2453 7241 0024 0268 ldr r2, [r0] 7242 .LVL657: 7243 .LBB758: 7244 .LBI758: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7245 .loc 2 1068 31 discriminator 1 view .LVU2454 7246 .LBB759: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 7247 .loc 2 1070 5 discriminator 1 view .LVU2455 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7248 .loc 2 1072 4 discriminator 1 view .LVU2456 7249 .syntax unified 7250 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7251 0026 52E8003F ldrex r3, [r2] 7252 @ 0 "" 2 7253 .LVL658: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7254 .loc 2 1073 4 discriminator 1 view .LVU2457 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7255 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2458 7256 .thumb 7257 .syntax unified 7258 .LBE759: 7259 .LBE758: 2746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7260 .loc 1 2746 3 discriminator 1 view .LVU2459 7261 002a 43F00403 orr r3, r3, #4 7262 .LVL659: 2746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7263 .loc 1 2746 3 is_stmt 1 discriminator 1 view .LVU2460 7264 .LBB760: 7265 .LBI760: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7266 .loc 2 1119 31 discriminator 1 view .LVU2461 7267 .LBB761: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 7268 .loc 2 1121 4 discriminator 1 view .LVU2462 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7269 .loc 2 1123 4 discriminator 1 view .LVU2463 7270 .syntax unified 7271 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7272 002e 42E80031 strex r1, r3, [r2] 7273 @ 0 "" 2 7274 .LVL660: 7275 .loc 2 1124 4 discriminator 1 view .LVU2464 7276 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2465 7277 .thumb 7278 .syntax unified 7279 .LBE761: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 256 7280 .LBE760: 2746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7281 .loc 1 2746 3 discriminator 1 view .LVU2466 7282 0032 0029 cmp r1, #0 7283 0034 F6D1 bne .L291 7284 .LBE757: 2746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7285 .loc 1 2746 3 is_stmt 1 discriminator 2 view .LVU2467 2748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7286 .loc 1 2748 3 discriminator 2 view .LVU2468 2748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7287 .loc 1 2748 17 is_stmt 0 discriminator 2 view .LVU2469 7288 0036 2023 movs r3, #32 7289 .LVL661: 2748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7290 .loc 1 2748 17 discriminator 2 view .LVU2470 7291 0038 C367 str r3, [r0, #124] 2750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7292 .loc 1 2750 3 is_stmt 1 discriminator 2 view .LVU2471 2750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7293 .loc 1 2750 3 discriminator 2 view .LVU2472 7294 003a 0023 movs r3, #0 7295 003c 80F87830 strb r3, [r0, #120] 2750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7296 .loc 1 2750 3 discriminator 2 view .LVU2473 2752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7297 .loc 1 2752 3 discriminator 2 view .LVU2474 2752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7298 .loc 1 2752 10 is_stmt 0 discriminator 2 view .LVU2475 7299 0040 1846 mov r0, r3 7300 .LVL662: 2752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7301 .loc 1 2752 10 discriminator 2 view .LVU2476 7302 0042 7047 bx lr 7303 .LVL663: 7304 .L292: 2739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7305 .loc 1 2739 3 view .LVU2477 7306 0044 0220 movs r0, #2 7307 .LVL664: 2753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7308 .loc 1 2753 1 view .LVU2478 7309 0046 7047 bx lr 7310 .cfi_endproc 7311 .LFE169: 7313 .section .text.HAL_LIN_SendBreak,"ax",%progbits 7314 .align 1 7315 .global HAL_LIN_SendBreak 7316 .syntax unified 7317 .thumb 7318 .thumb_func 7320 HAL_LIN_SendBreak: 7321 .LVL665: 7322 .LFB170: 2762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the parameters */ 7323 .loc 1 2762 1 is_stmt 1 view -0 7324 .cfi_startproc ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 257 7325 @ args = 0, pretend = 0, frame = 0 7326 @ frame_needed = 0, uses_anonymous_args = 0 7327 @ link register save eliminated. 2764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7328 .loc 1 2764 3 view .LVU2480 2766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7329 .loc 1 2766 3 view .LVU2481 2766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7330 .loc 1 2766 3 view .LVU2482 7331 0000 90F87830 ldrb r3, [r0, #120] @ zero_extendqisi2 7332 0004 012B cmp r3, #1 7333 0006 10D0 beq .L295 2766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7334 .loc 1 2766 3 discriminator 2 view .LVU2483 7335 0008 0123 movs r3, #1 7336 000a 80F87830 strb r3, [r0, #120] 2766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7337 .loc 1 2766 3 discriminator 2 view .LVU2484 2768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7338 .loc 1 2768 3 discriminator 2 view .LVU2485 2768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7339 .loc 1 2768 17 is_stmt 0 discriminator 2 view .LVU2486 7340 000e 2423 movs r3, #36 7341 0010 C367 str r3, [r0, #124] 2771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7342 .loc 1 2771 3 is_stmt 1 discriminator 2 view .LVU2487 7343 0012 0268 ldr r2, [r0] 7344 0014 9369 ldr r3, [r2, #24] 7345 0016 43F00203 orr r3, r3, #2 7346 001a 9361 str r3, [r2, #24] 2773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7347 .loc 1 2773 3 discriminator 2 view .LVU2488 2773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7348 .loc 1 2773 17 is_stmt 0 discriminator 2 view .LVU2489 7349 001c 2023 movs r3, #32 7350 001e C367 str r3, [r0, #124] 2775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7351 .loc 1 2775 3 is_stmt 1 discriminator 2 view .LVU2490 2775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7352 .loc 1 2775 3 discriminator 2 view .LVU2491 7353 0020 0023 movs r3, #0 7354 0022 80F87830 strb r3, [r0, #120] 2775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7355 .loc 1 2775 3 discriminator 2 view .LVU2492 2777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7356 .loc 1 2777 3 discriminator 2 view .LVU2493 2777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7357 .loc 1 2777 10 is_stmt 0 discriminator 2 view .LVU2494 7358 0026 1846 mov r0, r3 7359 .LVL666: 2777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7360 .loc 1 2777 10 discriminator 2 view .LVU2495 7361 0028 7047 bx lr 7362 .LVL667: 7363 .L295: 2766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7364 .loc 1 2766 3 view .LVU2496 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 258 7365 002a 0220 movs r0, #2 7366 .LVL668: 2778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7367 .loc 1 2778 1 view .LVU2497 7368 002c 7047 bx lr 7369 .cfi_endproc 7370 .LFE170: 7372 .section .text.HAL_UART_GetState,"ax",%progbits 7373 .align 1 7374 .global HAL_UART_GetState 7375 .syntax unified 7376 .thumb 7377 .thumb_func 7379 HAL_UART_GetState: 7380 .LVL669: 7381 .LFB171: 2807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t temp1; 7382 .loc 1 2807 1 is_stmt 1 view -0 7383 .cfi_startproc 7384 @ args = 0, pretend = 0, frame = 0 7385 @ frame_needed = 0, uses_anonymous_args = 0 7386 @ link register save eliminated. 2808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t temp2; 7387 .loc 1 2808 3 view .LVU2499 2809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** temp1 = huart->gState; 7388 .loc 1 2809 3 view .LVU2500 2810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** temp2 = huart->RxState; 7389 .loc 1 2810 3 view .LVU2501 2810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** temp2 = huart->RxState; 7390 .loc 1 2810 9 is_stmt 0 view .LVU2502 7391 0000 C26F ldr r2, [r0, #124] 7392 .LVL670: 2811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7393 .loc 1 2811 3 is_stmt 1 view .LVU2503 2811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7394 .loc 1 2811 9 is_stmt 0 view .LVU2504 7395 0002 D0F88000 ldr r0, [r0, #128] 7396 .LVL671: 2813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7397 .loc 1 2813 3 is_stmt 1 view .LVU2505 2814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7398 .loc 1 2814 1 is_stmt 0 view .LVU2506 7399 0006 1043 orrs r0, r0, r2 7400 .LVL672: 2814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7401 .loc 1 2814 1 view .LVU2507 7402 0008 7047 bx lr 7403 .cfi_endproc 7404 .LFE171: 7406 .section .text.HAL_UART_GetError,"ax",%progbits 7407 .align 1 7408 .global HAL_UART_GetError 7409 .syntax unified 7410 .thumb 7411 .thumb_func 7413 HAL_UART_GetError: 7414 .LVL673: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 259 7415 .LFB172: 2823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return huart->ErrorCode; 7416 .loc 1 2823 1 is_stmt 1 view -0 7417 .cfi_startproc 7418 @ args = 0, pretend = 0, frame = 0 7419 @ frame_needed = 0, uses_anonymous_args = 0 7420 @ link register save eliminated. 2824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7421 .loc 1 2824 3 view .LVU2509 2824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7422 .loc 1 2824 15 is_stmt 0 view .LVU2510 7423 0000 D0F88400 ldr r0, [r0, #132] 7424 .LVL674: 2825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 7425 .loc 1 2825 1 view .LVU2511 7426 0004 7047 bx lr 7427 .cfi_endproc 7428 .LFE172: 7430 .section .text.UART_SetConfig,"ax",%progbits 7431 .align 1 7432 .global UART_SetConfig 7433 .syntax unified 7434 .thumb 7435 .thumb_func 7437 UART_SetConfig: 7438 .LVL675: 7439 .LFB173: 2867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t tmpreg; 7440 .loc 1 2867 1 is_stmt 1 view -0 7441 .cfi_startproc 7442 @ args = 0, pretend = 0, frame = 0 7443 @ frame_needed = 0, uses_anonymous_args = 0 2867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t tmpreg; 7444 .loc 1 2867 1 is_stmt 0 view .LVU2513 7445 0000 10B5 push {r4, lr} 7446 .cfi_def_cfa_offset 8 7447 .cfi_offset 4, -8 7448 .cfi_offset 14, -4 7449 0002 0446 mov r4, r0 2868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t brrtemp; 7450 .loc 1 2868 3 is_stmt 1 view .LVU2514 2869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_ClockSourceTypeDef clocksource; 7451 .loc 1 2869 3 view .LVU2515 2870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t usartdiv; 7452 .loc 1 2870 3 view .LVU2516 2871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef ret = HAL_OK; 7453 .loc 1 2871 3 view .LVU2517 2872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t pclk; 7454 .loc 1 2872 3 view .LVU2518 7455 .LVL676: 2873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7456 .loc 1 2873 3 view .LVU2519 2876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength)); 7457 .loc 1 2876 3 view .LVU2520 2877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_STOPBITS(huart->Init.StopBits)); 7458 .loc 1 2877 3 view .LVU2521 2878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ONE_BIT_SAMPLE(huart->Init.OneBitSampling)); ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 260 7459 .loc 1 2878 3 view .LVU2522 2879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7460 .loc 1 2879 3 view .LVU2523 2881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode)); 7461 .loc 1 2881 3 view .LVU2524 2882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl)); 7462 .loc 1 2882 3 view .LVU2525 2883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling)); 7463 .loc 1 2883 3 view .LVU2526 2884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7464 .loc 1 2884 3 view .LVU2527 2893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 7465 .loc 1 2893 3 view .LVU2528 2893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 7466 .loc 1 2893 33 is_stmt 0 view .LVU2529 7467 0004 8368 ldr r3, [r0, #8] 2893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 7468 .loc 1 2893 58 view .LVU2530 7469 0006 0269 ldr r2, [r0, #16] 2893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 7470 .loc 1 2893 45 view .LVU2531 7471 0008 1A43 orrs r2, r2, r3 2893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 7472 .loc 1 2893 79 view .LVU2532 7473 000a 4369 ldr r3, [r0, #20] 2893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 7474 .loc 1 2893 66 view .LVU2533 7475 000c 1A43 orrs r2, r2, r3 2893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 7476 .loc 1 2893 98 view .LVU2534 7477 000e C369 ldr r3, [r0, #28] 2893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 7478 .loc 1 2893 10 view .LVU2535 7479 0010 1A43 orrs r2, r2, r3 7480 .LVL677: 2894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7481 .loc 1 2894 3 is_stmt 1 view .LVU2536 7482 0012 0168 ldr r1, [r0] 7483 0014 0B68 ldr r3, [r1] 7484 0016 23F41643 bic r3, r3, #38400 7485 001a 23F00C03 bic r3, r3, #12 7486 001e 1343 orrs r3, r3, r2 7487 0020 0B60 str r3, [r1] 2899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7488 .loc 1 2899 3 view .LVU2537 7489 0022 0268 ldr r2, [r0] 7490 .LVL678: 2899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7491 .loc 1 2899 3 is_stmt 0 view .LVU2538 7492 0024 5368 ldr r3, [r2, #4] 7493 0026 23F44053 bic r3, r3, #12288 7494 002a C168 ldr r1, [r0, #12] 7495 002c 0B43 orrs r3, r3, r1 7496 002e 5360 str r3, [r2, #4] 2907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7497 .loc 1 2907 3 is_stmt 1 view .LVU2539 2907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 261 7498 .loc 1 2907 10 is_stmt 0 view .LVU2540 7499 0030 8269 ldr r2, [r0, #24] 7500 .LVL679: 2909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg); 7501 .loc 1 2909 3 is_stmt 1 view .LVU2541 2909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg); 7502 .loc 1 2909 24 is_stmt 0 view .LVU2542 7503 0032 036A ldr r3, [r0, #32] 2909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg); 7504 .loc 1 2909 10 view .LVU2543 7505 0034 1A43 orrs r2, r2, r3 7506 .LVL680: 2910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7507 .loc 1 2910 3 is_stmt 1 view .LVU2544 7508 0036 0168 ldr r1, [r0] 7509 0038 8B68 ldr r3, [r1, #8] 7510 003a 23F43063 bic r3, r3, #2816 7511 003e 1343 orrs r3, r3, r2 7512 0040 8B60 str r3, [r1, #8] 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7513 .loc 1 2914 3 view .LVU2545 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7514 .loc 1 2914 3 view .LVU2546 7515 0042 0368 ldr r3, [r0] 7516 0044 7B4A ldr r2, .L363 7517 .LVL681: 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7518 .loc 1 2914 3 is_stmt 0 view .LVU2547 7519 0046 9342 cmp r3, r2 7520 0048 0DD0 beq .L357 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7521 .loc 1 2914 3 is_stmt 1 discriminator 2 view .LVU2548 7522 004a 7B4A ldr r2, .L363+4 7523 004c 9342 cmp r3, r2 7524 004e 1CD0 beq .L358 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7525 .loc 1 2914 3 discriminator 9 view .LVU2549 7526 0050 7A4A ldr r2, .L363+8 7527 0052 9342 cmp r3, r2 7528 0054 3AD0 beq .L359 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7529 .loc 1 2914 3 discriminator 16 view .LVU2550 7530 0056 7A4A ldr r2, .L363+12 7531 0058 9342 cmp r3, r2 7532 005a 4AD0 beq .L360 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7533 .loc 1 2914 3 discriminator 23 view .LVU2551 7534 005c 794A ldr r2, .L363+16 7535 005e 9342 cmp r3, r2 7536 0060 5AD0 beq .L361 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7537 .loc 1 2914 3 is_stmt 0 view .LVU2552 7538 0062 1023 movs r3, #16 7539 0064 1FE0 b .L301 7540 .L357: 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7541 .loc 1 2914 3 is_stmt 1 discriminator 1 view .LVU2553 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 262 7542 0066 784B ldr r3, .L363+20 7543 0068 1B6B ldr r3, [r3, #48] 7544 006a 03F00303 and r3, r3, #3 7545 006e 032B cmp r3, #3 7546 0070 09D8 bhi .L300 7547 0072 DFE803F0 tbb [pc, r3] 7548 .L302: 7549 0076 02 .byte (.L305-.L302)/2 7550 0077 04 .byte (.L304-.L302)/2 7551 0078 06 .byte (.L303-.L302)/2 7552 0079 64 .byte (.L329-.L302)/2 7553 .p2align 1 7554 .L305: 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7555 .loc 1 2914 3 is_stmt 0 view .LVU2554 7556 007a 0123 movs r3, #1 7557 007c 13E0 b .L301 7558 .L304: 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7559 .loc 1 2914 3 is_stmt 1 discriminator 5 view .LVU2555 7560 .LVL682: 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7561 .loc 1 2914 3 discriminator 5 view .LVU2556 7562 007e 0423 movs r3, #4 7563 0080 11E0 b .L301 7564 .LVL683: 7565 .L303: 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7566 .loc 1 2914 3 discriminator 6 view .LVU2557 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7567 .loc 1 2914 3 discriminator 6 view .LVU2558 7568 0082 0823 movs r3, #8 7569 0084 0FE0 b .L301 7570 .LVL684: 7571 .L300: 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7572 .loc 1 2914 3 discriminator 3 view .LVU2559 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7573 .loc 1 2914 3 discriminator 3 view .LVU2560 7574 0086 1023 movs r3, #16 7575 0088 0DE0 b .L301 7576 .LVL685: 7577 .L358: 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7578 .loc 1 2914 3 discriminator 8 view .LVU2561 7579 008a 6F4B ldr r3, .L363+20 7580 008c 1B6B ldr r3, [r3, #48] 7581 008e 03F44033 and r3, r3, #196608 7582 0092 B3F5003F cmp r3, #131072 7583 0096 54D0 beq .L330 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7584 .loc 1 2914 3 is_stmt 0 view .LVU2562 7585 0098 13D8 bhi .L307 7586 009a 002B cmp r3, #0 7587 009c 53D0 beq .L331 7588 009e B3F5803F cmp r3, #65536 7589 00a2 52D1 bne .L332 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 263 7590 00a4 0423 movs r3, #4 7591 .L301: 7592 .LVL686: 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7593 .loc 1 2914 3 is_stmt 1 discriminator 36 view .LVU2563 2916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7594 .loc 1 2916 3 discriminator 36 view .LVU2564 2916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7595 .loc 1 2916 18 is_stmt 0 discriminator 36 view .LVU2565 7596 00a6 E069 ldr r0, [r4, #28] 7597 .LVL687: 2916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7598 .loc 1 2916 6 discriminator 36 view .LVU2566 7599 00a8 B0F5004F cmp r0, #32768 7600 00ac 69D0 beq .L362 2959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7601 .loc 1 2959 5 is_stmt 1 view .LVU2567 7602 00ae 082B cmp r3, #8 7603 00b0 00F2B980 bhi .L351 7604 00b4 DFE803F0 tbb [pc, r3] 7605 .L323: 7606 00b8 92 .byte (.L327-.L323)/2 7607 00b9 A8 .byte (.L326-.L323)/2 7608 00ba 90 .byte (.L325-.L323)/2 7609 00bb B7 .byte (.L351-.L323)/2 7610 00bc AB .byte (.L324-.L323)/2 7611 00bd B7 .byte (.L351-.L323)/2 7612 00be B7 .byte (.L351-.L323)/2 7613 00bf B7 .byte (.L351-.L323)/2 7614 00c0 AE .byte (.L352-.L323)/2 7615 .LVL688: 7616 00c1 00 .p2align 1 7617 .L307: 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7618 .loc 1 2914 3 is_stmt 0 view .LVU2568 7619 00c2 B3F5403F cmp r3, #196608 7620 00c6 42D1 bne .L333 7621 00c8 0223 movs r3, #2 7622 00ca ECE7 b .L301 7623 .L359: 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7624 .loc 1 2914 3 is_stmt 1 discriminator 15 view .LVU2569 7625 00cc 5E4B ldr r3, .L363+20 7626 00ce 1B6B ldr r3, [r3, #48] 7627 00d0 03F44023 and r3, r3, #786432 7628 00d4 B3F5002F cmp r3, #524288 7629 00d8 3BD0 beq .L334 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7630 .loc 1 2914 3 is_stmt 0 view .LVU2570 7631 00da 05D8 bhi .L309 7632 00dc DBB3 cbz r3, .L335 7633 00de B3F5802F cmp r3, #262144 7634 00e2 3AD1 bne .L336 7635 00e4 0423 movs r3, #4 7636 00e6 DEE7 b .L301 7637 .L309: 7638 00e8 B3F5402F cmp r3, #786432 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 264 7639 00ec 37D1 bne .L337 7640 00ee 0223 movs r3, #2 7641 00f0 D9E7 b .L301 7642 .L360: 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7643 .loc 1 2914 3 is_stmt 1 discriminator 22 view .LVU2571 7644 00f2 554B ldr r3, .L363+20 7645 00f4 1B6B ldr r3, [r3, #48] 7646 00f6 03F44013 and r3, r3, #3145728 7647 00fa B3F5001F cmp r3, #2097152 7648 00fe 30D0 beq .L338 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7649 .loc 1 2914 3 is_stmt 0 view .LVU2572 7650 0100 05D8 bhi .L311 7651 0102 83B3 cbz r3, .L339 7652 0104 B3F5801F cmp r3, #1048576 7653 0108 2FD1 bne .L340 7654 010a 0423 movs r3, #4 7655 010c CBE7 b .L301 7656 .L311: 7657 010e B3F5401F cmp r3, #3145728 7658 0112 2CD1 bne .L341 7659 0114 0223 movs r3, #2 7660 0116 C6E7 b .L301 7661 .L361: 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7662 .loc 1 2914 3 is_stmt 1 discriminator 29 view .LVU2573 7663 0118 4B4B ldr r3, .L363+20 7664 011a 1B6B ldr r3, [r3, #48] 7665 011c 03F44003 and r3, r3, #12582912 7666 0120 B3F5000F cmp r3, #8388608 7667 0124 25D0 beq .L343 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7668 .loc 1 2914 3 is_stmt 0 view .LVU2574 7669 0126 05D8 bhi .L312 7670 0128 2BB3 cbz r3, .L344 7671 012a B3F5800F cmp r3, #4194304 7672 012e 24D1 bne .L345 7673 0130 0423 movs r3, #4 7674 0132 B8E7 b .L301 7675 .L312: 7676 0134 B3F5400F cmp r3, #12582912 7677 0138 21D1 bne .L346 7678 013a 0223 movs r3, #2 7679 013c B3E7 b .L301 7680 .L329: 7681 013e 0223 movs r3, #2 7682 0140 B1E7 b .L301 7683 .L330: 7684 0142 0823 movs r3, #8 7685 0144 AFE7 b .L301 7686 .L331: 7687 0146 0023 movs r3, #0 7688 0148 ADE7 b .L301 7689 .L332: 7690 014a 1023 movs r3, #16 7691 014c ABE7 b .L301 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 265 7692 .L333: 7693 014e 1023 movs r3, #16 7694 0150 A9E7 b .L301 7695 .L334: 7696 0152 0823 movs r3, #8 7697 0154 A7E7 b .L301 7698 .L335: 7699 0156 0023 movs r3, #0 7700 0158 A5E7 b .L301 7701 .L336: 7702 015a 1023 movs r3, #16 7703 015c A3E7 b .L301 7704 .L337: 7705 015e 1023 movs r3, #16 7706 0160 A1E7 b .L301 7707 .L338: 7708 0162 0823 movs r3, #8 7709 0164 9FE7 b .L301 7710 .L339: 7711 0166 0023 movs r3, #0 7712 0168 9DE7 b .L301 7713 .L340: 7714 016a 1023 movs r3, #16 7715 016c 9BE7 b .L301 7716 .L341: 7717 016e 1023 movs r3, #16 7718 0170 99E7 b .L301 7719 .L343: 7720 0172 0823 movs r3, #8 7721 0174 97E7 b .L301 7722 .L344: 7723 0176 0023 movs r3, #0 7724 0178 95E7 b .L301 7725 .L345: 7726 017a 1023 movs r3, #16 7727 017c 93E7 b .L301 7728 .L346: 7729 017e 1023 movs r3, #16 7730 0180 91E7 b .L301 7731 .LVL689: 7732 .L362: 2918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7733 .loc 1 2918 5 is_stmt 1 view .LVU2575 7734 0182 082B cmp r3, #8 7735 0184 49D8 bhi .L347 7736 0186 DFE803F0 tbb [pc, r3] 7737 .L316: 7738 018a 05 .byte (.L320-.L316)/2 7739 018b 1F .byte (.L319-.L316)/2 7740 018c 25 .byte (.L348-.L316)/2 7741 018d 48 .byte (.L347-.L316)/2 7742 018e 22 .byte (.L317-.L316)/2 7743 018f 48 .byte (.L347-.L316)/2 7744 0190 48 .byte (.L347-.L316)/2 7745 0191 48 .byte (.L347-.L316)/2 7746 0192 09 .byte (.L318-.L316)/2 7747 0193 00 .p2align 1 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 266 7748 .L320: 2921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 7749 .loc 1 2921 9 view .LVU2576 2921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 7750 .loc 1 2921 16 is_stmt 0 view .LVU2577 7751 0194 FFF7FEFF bl HAL_RCC_GetPCLK1Freq 7752 .LVL690: 2922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2: 7753 .loc 1 2922 9 is_stmt 1 view .LVU2578 7754 .L321: 2942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7755 .loc 1 2942 5 view .LVU2579 2942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7756 .loc 1 2942 8 is_stmt 0 view .LVU2580 7757 0198 0028 cmp r0, #0 7758 019a 40D0 beq .L349 7759 .LVL691: 7760 .L318: 2944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 7761 .loc 1 2944 7 is_stmt 1 view .LVU2581 2944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 7762 .loc 1 2944 29 is_stmt 0 view .LVU2582 7763 019c 6268 ldr r2, [r4, #4] 7764 019e 5308 lsrs r3, r2, #1 7765 01a0 03EB4003 add r3, r3, r0, lsl #1 2944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 7766 .loc 1 2944 16 view .LVU2583 7767 01a4 B3FBF2F3 udiv r3, r3, r2 7768 .LVL692: 2945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7769 .loc 1 2945 7 is_stmt 1 view .LVU2584 2945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7770 .loc 1 2945 38 is_stmt 0 view .LVU2585 7771 01a8 A3F11001 sub r1, r3, #16 2945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7772 .loc 1 2945 10 view .LVU2586 7773 01ac 4FF6EF72 movw r2, #65519 7774 01b0 9142 cmp r1, r2 7775 01b2 36D8 bhi .L350 2947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U); 7776 .loc 1 2947 9 is_stmt 1 view .LVU2587 2947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U); 7777 .loc 1 2947 19 is_stmt 0 view .LVU2588 7778 01b4 9AB2 uxth r2, r3 2947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U); 7779 .loc 1 2947 17 view .LVU2589 7780 01b6 22F00F02 bic r2, r2, #15 7781 .LVL693: 2948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->BRR = brrtemp; 7782 .loc 1 2948 9 is_stmt 1 view .LVU2590 2948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->BRR = brrtemp; 7783 .loc 1 2948 20 is_stmt 0 view .LVU2591 7784 01ba C3F34203 ubfx r3, r3, #1, #3 7785 .LVL694: 2948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->BRR = brrtemp; 7786 .loc 1 2948 17 view .LVU2592 7787 01be 1343 orrs r3, r3, r2 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 267 7788 .LVL695: 2949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7789 .loc 1 2949 9 is_stmt 1 view .LVU2593 2949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7790 .loc 1 2949 14 is_stmt 0 view .LVU2594 7791 01c0 2268 ldr r2, [r4] 2949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7792 .loc 1 2949 30 view .LVU2595 7793 01c2 D360 str r3, [r2, #12] 7794 01c4 0020 movs r0, #0 7795 01c6 1BE0 b .L314 7796 .LVL696: 7797 .L319: 2924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 7798 .loc 1 2924 9 is_stmt 1 view .LVU2596 2924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 7799 .loc 1 2924 16 is_stmt 0 view .LVU2597 7800 01c8 FFF7FEFF bl HAL_RCC_GetPCLK2Freq 7801 .LVL697: 2925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 7802 .loc 1 2925 9 is_stmt 1 view .LVU2598 7803 01cc E4E7 b .L321 7804 .LVL698: 7805 .L317: 2930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 7806 .loc 1 2930 9 view .LVU2599 2930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 7807 .loc 1 2930 16 is_stmt 0 view .LVU2600 7808 01ce FFF7FEFF bl HAL_RCC_GetSysClockFreq 7809 .LVL699: 2931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE: 7810 .loc 1 2931 9 is_stmt 1 view .LVU2601 7811 01d2 E1E7 b .L321 7812 .LVL700: 7813 .L348: 2927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 7814 .loc 1 2927 14 is_stmt 0 view .LVU2602 7815 01d4 1D48 ldr r0, .L363+24 7816 01d6 E1E7 b .L318 7817 .L325: 2959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7818 .loc 1 2959 5 view .LVU2603 7819 01d8 1C48 ldr r0, .L363+24 7820 01da 02E0 b .L322 7821 .L327: 2962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 7822 .loc 1 2962 9 is_stmt 1 view .LVU2604 2962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 7823 .loc 1 2962 16 is_stmt 0 view .LVU2605 7824 01dc FFF7FEFF bl HAL_RCC_GetPCLK1Freq 7825 .LVL701: 2963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2: 7826 .loc 1 2963 9 is_stmt 1 view .LVU2606 7827 .L328: 2982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7828 .loc 1 2982 5 view .LVU2607 2982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 268 7829 .loc 1 2982 8 is_stmt 0 view .LVU2608 7830 01e0 18B3 cbz r0, .L353 7831 .LVL702: 7832 .L322: 2985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 7833 .loc 1 2985 7 is_stmt 1 view .LVU2609 2985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 7834 .loc 1 2985 29 is_stmt 0 view .LVU2610 7835 01e2 6368 ldr r3, [r4, #4] 7836 01e4 00EB5300 add r0, r0, r3, lsr #1 2985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 7837 .loc 1 2985 16 view .LVU2611 7838 01e8 B0FBF3F0 udiv r0, r0, r3 7839 .LVL703: 2986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7840 .loc 1 2986 7 is_stmt 1 view .LVU2612 2986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7841 .loc 1 2986 38 is_stmt 0 view .LVU2613 7842 01ec A0F11002 sub r2, r0, #16 2986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7843 .loc 1 2986 10 view .LVU2614 7844 01f0 4FF6EF73 movw r3, #65519 7845 01f4 9A42 cmp r2, r3 7846 01f6 1AD8 bhi .L354 2988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7847 .loc 1 2988 9 is_stmt 1 view .LVU2615 2988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7848 .loc 1 2988 14 is_stmt 0 view .LVU2616 7849 01f8 2368 ldr r3, [r4] 7850 01fa 80B2 uxth r0, r0 7851 .LVL704: 2988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7852 .loc 1 2988 30 view .LVU2617 7853 01fc D860 str r0, [r3, #12] 7854 01fe 0020 movs r0, #0 7855 .LVL705: 7856 .L314: 2999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL; 7857 .loc 1 2999 3 is_stmt 1 view .LVU2618 2999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL; 7858 .loc 1 2999 16 is_stmt 0 view .LVU2619 7859 0200 0023 movs r3, #0 7860 0202 A366 str r3, [r4, #104] 3000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7861 .loc 1 3000 3 is_stmt 1 view .LVU2620 3000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7862 .loc 1 3000 16 is_stmt 0 view .LVU2621 7863 0204 E366 str r3, [r4, #108] 3002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7864 .loc 1 3002 3 is_stmt 1 view .LVU2622 3003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7865 .loc 1 3003 1 is_stmt 0 view .LVU2623 7866 0206 10BD pop {r4, pc} 7867 .LVL706: 7868 .L326: 2965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 7869 .loc 1 2965 9 is_stmt 1 view .LVU2624 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 269 2965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 7870 .loc 1 2965 16 is_stmt 0 view .LVU2625 7871 0208 FFF7FEFF bl HAL_RCC_GetPCLK2Freq 7872 .LVL707: 2966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 7873 .loc 1 2966 9 is_stmt 1 view .LVU2626 7874 020c E8E7 b .L328 7875 .LVL708: 7876 .L324: 2971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 7877 .loc 1 2971 9 view .LVU2627 2971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 7878 .loc 1 2971 16 is_stmt 0 view .LVU2628 7879 020e FFF7FEFF bl HAL_RCC_GetSysClockFreq 7880 .LVL709: 2972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE: 7881 .loc 1 2972 9 is_stmt 1 view .LVU2629 7882 0212 E5E7 b .L328 7883 .LVL710: 7884 .L352: 2974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 7885 .loc 1 2974 14 is_stmt 0 view .LVU2630 7886 0214 4FF40040 mov r0, #32768 7887 0218 E3E7 b .L322 7888 .L347: 2918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7889 .loc 1 2918 5 view .LVU2631 7890 021a 0120 movs r0, #1 7891 021c F0E7 b .L314 7892 .LVL711: 7893 .L349: 2918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7894 .loc 1 2918 5 view .LVU2632 7895 021e 0020 movs r0, #0 7896 .LVL712: 2918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7897 .loc 1 2918 5 view .LVU2633 7898 0220 EEE7 b .L314 7899 .LVL713: 7900 .L350: 2953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7901 .loc 1 2953 13 view .LVU2634 7902 0222 0120 movs r0, #1 7903 0224 ECE7 b .L314 7904 .LVL714: 7905 .L351: 2959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7906 .loc 1 2959 5 view .LVU2635 7907 0226 0120 movs r0, #1 7908 0228 EAE7 b .L314 7909 .LVL715: 7910 .L353: 2959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7911 .loc 1 2959 5 view .LVU2636 7912 022a 0020 movs r0, #0 7913 .LVL716: 2959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 270 7914 .loc 1 2959 5 view .LVU2637 7915 022c E8E7 b .L314 7916 .LVL717: 7917 .L354: 2992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7918 .loc 1 2992 13 view .LVU2638 7919 022e 0120 movs r0, #1 7920 .LVL718: 2992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7921 .loc 1 2992 13 view .LVU2639 7922 0230 E6E7 b .L314 7923 .L364: 7924 0232 00BF .align 2 7925 .L363: 7926 0234 00380140 .word 1073821696 7927 0238 00440040 .word 1073759232 7928 023c 00480040 .word 1073760256 7929 0240 004C0040 .word 1073761280 7930 0244 00500040 .word 1073762304 7931 0248 00100240 .word 1073876992 7932 024c 00127A00 .word 8000000 7933 .cfi_endproc 7934 .LFE173: 7936 .section .text.UART_AdvFeatureConfig,"ax",%progbits 7937 .align 1 7938 .global UART_AdvFeatureConfig 7939 .syntax unified 7940 .thumb 7941 .thumb_func 7943 UART_AdvFeatureConfig: 7944 .LVL719: 7945 .LFB174: 3011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check whether the set of advanced features to configure is properly set */ 7946 .loc 1 3011 1 is_stmt 1 view -0 7947 .cfi_startproc 7948 @ args = 0, pretend = 0, frame = 0 7949 @ frame_needed = 0, uses_anonymous_args = 0 7950 @ link register save eliminated. 3013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7951 .loc 1 3013 3 view .LVU2641 3016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7952 .loc 1 3016 3 view .LVU2642 3016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7953 .loc 1 3016 7 is_stmt 0 view .LVU2643 7954 0000 436A ldr r3, [r0, #36] 3016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7955 .loc 1 3016 6 view .LVU2644 7956 0002 13F0010F tst r3, #1 7957 0006 06D0 beq .L366 3018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_TXINV, huart->AdvancedInit.TxPinLevelInvert); 7958 .loc 1 3018 5 is_stmt 1 view .LVU2645 3019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7959 .loc 1 3019 5 view .LVU2646 7960 0008 0268 ldr r2, [r0] 7961 000a 5368 ldr r3, [r2, #4] 7962 000c 23F40033 bic r3, r3, #131072 7963 0010 816A ldr r1, [r0, #40] ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 271 7964 0012 0B43 orrs r3, r3, r1 7965 0014 5360 str r3, [r2, #4] 7966 .L366: 3023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7967 .loc 1 3023 3 view .LVU2647 3023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7968 .loc 1 3023 7 is_stmt 0 view .LVU2648 7969 0016 436A ldr r3, [r0, #36] 3023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7970 .loc 1 3023 6 view .LVU2649 7971 0018 13F0020F tst r3, #2 7972 001c 06D0 beq .L367 3025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_RXINV, huart->AdvancedInit.RxPinLevelInvert); 7973 .loc 1 3025 5 is_stmt 1 view .LVU2650 3026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7974 .loc 1 3026 5 view .LVU2651 7975 001e 0268 ldr r2, [r0] 7976 0020 5368 ldr r3, [r2, #4] 7977 0022 23F48033 bic r3, r3, #65536 7978 0026 C16A ldr r1, [r0, #44] 7979 0028 0B43 orrs r3, r3, r1 7980 002a 5360 str r3, [r2, #4] 7981 .L367: 3030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7982 .loc 1 3030 3 view .LVU2652 3030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7983 .loc 1 3030 7 is_stmt 0 view .LVU2653 7984 002c 436A ldr r3, [r0, #36] 3030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7985 .loc 1 3030 6 view .LVU2654 7986 002e 13F0040F tst r3, #4 7987 0032 06D0 beq .L368 3032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_DATAINV, huart->AdvancedInit.DataInvert); 7988 .loc 1 3032 5 is_stmt 1 view .LVU2655 3033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7989 .loc 1 3033 5 view .LVU2656 7990 0034 0268 ldr r2, [r0] 7991 0036 5368 ldr r3, [r2, #4] 7992 0038 23F48023 bic r3, r3, #262144 7993 003c 016B ldr r1, [r0, #48] 7994 003e 0B43 orrs r3, r3, r1 7995 0040 5360 str r3, [r2, #4] 7996 .L368: 3037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7997 .loc 1 3037 3 view .LVU2657 3037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7998 .loc 1 3037 7 is_stmt 0 view .LVU2658 7999 0042 436A ldr r3, [r0, #36] 3037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8000 .loc 1 3037 6 view .LVU2659 8001 0044 13F0080F tst r3, #8 8002 0048 06D0 beq .L369 3039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_SWAP, huart->AdvancedInit.Swap); 8003 .loc 1 3039 5 is_stmt 1 view .LVU2660 3040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8004 .loc 1 3040 5 view .LVU2661 8005 004a 0268 ldr r2, [r0] ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 272 8006 004c 5368 ldr r3, [r2, #4] 8007 004e 23F40043 bic r3, r3, #32768 8008 0052 416B ldr r1, [r0, #52] 8009 0054 0B43 orrs r3, r3, r1 8010 0056 5360 str r3, [r2, #4] 8011 .L369: 3044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8012 .loc 1 3044 3 view .LVU2662 3044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8013 .loc 1 3044 7 is_stmt 0 view .LVU2663 8014 0058 436A ldr r3, [r0, #36] 3044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8015 .loc 1 3044 6 view .LVU2664 8016 005a 13F0100F tst r3, #16 8017 005e 06D0 beq .L370 3046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_OVRDIS, huart->AdvancedInit.OverrunDisable); 8018 .loc 1 3046 5 is_stmt 1 view .LVU2665 3047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8019 .loc 1 3047 5 view .LVU2666 8020 0060 0268 ldr r2, [r0] 8021 0062 9368 ldr r3, [r2, #8] 8022 0064 23F48053 bic r3, r3, #4096 8023 0068 816B ldr r1, [r0, #56] 8024 006a 0B43 orrs r3, r3, r1 8025 006c 9360 str r3, [r2, #8] 8026 .L370: 3051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8027 .loc 1 3051 3 view .LVU2667 3051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8028 .loc 1 3051 7 is_stmt 0 view .LVU2668 8029 006e 436A ldr r3, [r0, #36] 3051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8030 .loc 1 3051 6 view .LVU2669 8031 0070 13F0200F tst r3, #32 8032 0074 06D0 beq .L371 3053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_DDRE, huart->AdvancedInit.DMADisableonRxError); 8033 .loc 1 3053 5 is_stmt 1 view .LVU2670 3054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8034 .loc 1 3054 5 view .LVU2671 8035 0076 0268 ldr r2, [r0] 8036 0078 9368 ldr r3, [r2, #8] 8037 007a 23F40053 bic r3, r3, #8192 8038 007e C16B ldr r1, [r0, #60] 8039 0080 0B43 orrs r3, r3, r1 8040 0082 9360 str r3, [r2, #8] 8041 .L371: 3058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8042 .loc 1 3058 3 view .LVU2672 3058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8043 .loc 1 3058 7 is_stmt 0 view .LVU2673 8044 0084 436A ldr r3, [r0, #36] 3058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8045 .loc 1 3058 6 view .LVU2674 8046 0086 13F0400F tst r3, #64 8047 008a 0AD0 beq .L372 3060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATE(huart->AdvancedInit.AutoBaudRateEnable)); 8048 .loc 1 3060 5 is_stmt 1 view .LVU2675 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 273 3061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABREN, huart->AdvancedInit.AutoBaudRateEnable); 8049 .loc 1 3061 5 view .LVU2676 3062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* set auto Baudrate detection parameters if detection is enabled */ 8050 .loc 1 3062 5 view .LVU2677 8051 008c 0268 ldr r2, [r0] 8052 008e 5368 ldr r3, [r2, #4] 8053 0090 23F48013 bic r3, r3, #1048576 8054 0094 016C ldr r1, [r0, #64] 8055 0096 0B43 orrs r3, r3, r1 8056 0098 5360 str r3, [r2, #4] 3064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8057 .loc 1 3064 5 view .LVU2678 3064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8058 .loc 1 3064 28 is_stmt 0 view .LVU2679 8059 009a 036C ldr r3, [r0, #64] 3064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8060 .loc 1 3064 8 view .LVU2680 8061 009c B3F5801F cmp r3, #1048576 8062 00a0 0BD0 beq .L374 8063 .L372: 3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8064 .loc 1 3072 3 is_stmt 1 view .LVU2681 3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8065 .loc 1 3072 7 is_stmt 0 view .LVU2682 8066 00a2 436A ldr r3, [r0, #36] 3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8067 .loc 1 3072 6 view .LVU2683 8068 00a4 13F0800F tst r3, #128 8069 00a8 06D0 beq .L365 3074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_MSBFIRST, huart->AdvancedInit.MSBFirst); 8070 .loc 1 3074 5 is_stmt 1 view .LVU2684 3075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8071 .loc 1 3075 5 view .LVU2685 8072 00aa 0268 ldr r2, [r0] 8073 00ac 5368 ldr r3, [r2, #4] 8074 00ae 23F40023 bic r3, r3, #524288 8075 00b2 816C ldr r1, [r0, #72] 8076 00b4 0B43 orrs r3, r3, r1 8077 00b6 5360 str r3, [r2, #4] 8078 .L365: 3077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8079 .loc 1 3077 1 is_stmt 0 view .LVU2686 8080 00b8 7047 bx lr 8081 .L374: 3066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABRMODE, huart->AdvancedInit.AutoBaudRateMode); 8082 .loc 1 3066 7 is_stmt 1 view .LVU2687 3067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8083 .loc 1 3067 7 view .LVU2688 8084 00ba 0268 ldr r2, [r0] 8085 00bc 5368 ldr r3, [r2, #4] 8086 00be 23F4C003 bic r3, r3, #6291456 8087 00c2 416C ldr r1, [r0, #68] 8088 00c4 0B43 orrs r3, r3, r1 8089 00c6 5360 str r3, [r2, #4] 8090 00c8 EBE7 b .L372 8091 .cfi_endproc 8092 .LFE174: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 274 8094 .section .text.UART_WaitOnFlagUntilTimeout,"ax",%progbits 8095 .align 1 8096 .global UART_WaitOnFlagUntilTimeout 8097 .syntax unified 8098 .thumb 8099 .thumb_func 8101 UART_WaitOnFlagUntilTimeout: 8102 .LVL720: 8103 .LFB176: 3155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Wait until flag is set */ 8104 .loc 1 3155 1 view -0 8105 .cfi_startproc 8106 @ args = 4, pretend = 0, frame = 0 8107 @ frame_needed = 0, uses_anonymous_args = 0 3155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Wait until flag is set */ 8108 .loc 1 3155 1 is_stmt 0 view .LVU2690 8109 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr} 8110 .cfi_def_cfa_offset 32 8111 .cfi_offset 3, -32 8112 .cfi_offset 4, -28 8113 .cfi_offset 5, -24 8114 .cfi_offset 6, -20 8115 .cfi_offset 7, -16 8116 .cfi_offset 8, -12 8117 .cfi_offset 9, -8 8118 .cfi_offset 14, -4 8119 0004 0546 mov r5, r0 8120 0006 0F46 mov r7, r1 8121 0008 1646 mov r6, r2 8122 000a 9946 mov r9, r3 8123 000c DDF82080 ldr r8, [sp, #32] 3157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8124 .loc 1 3157 3 is_stmt 1 view .LVU2691 8125 .LVL721: 8126 .L377: 3157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8127 .loc 1 3157 59 view .LVU2692 3157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8128 .loc 1 3157 11 is_stmt 0 view .LVU2693 8129 0010 2B68 ldr r3, [r5] 8130 0012 DC69 ldr r4, [r3, #28] 3157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8131 .loc 1 3157 50 view .LVU2694 8132 0014 37EA0404 bics r4, r7, r4 8133 0018 0CBF ite eq 8134 001a 0124 moveq r4, #1 8135 001c 0024 movne r4, #0 3157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8136 .loc 1 3157 59 view .LVU2695 8137 001e B442 cmp r4, r6 8138 0020 32D1 bne .L384 3160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8139 .loc 1 3160 5 is_stmt 1 view .LVU2696 3160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8140 .loc 1 3160 8 is_stmt 0 view .LVU2697 8141 0022 B8F1FF3F cmp r8, #-1 8142 0026 F3D0 beq .L377 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 275 3162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8143 .loc 1 3162 7 is_stmt 1 view .LVU2698 3162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8144 .loc 1 3162 13 is_stmt 0 view .LVU2699 8145 0028 FFF7FEFF bl HAL_GetTick 8146 .LVL722: 3162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8147 .loc 1 3162 27 view .LVU2700 8148 002c A0EB0900 sub r0, r0, r9 3162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8149 .loc 1 3162 10 view .LVU2701 8150 0030 4045 cmp r0, r8 8151 0032 2CD8 bhi .L381 3162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8152 .loc 1 3162 51 discriminator 1 view .LVU2702 8153 0034 B8F1000F cmp r8, #0 8154 0038 2BD0 beq .L382 3168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8155 .loc 1 3168 7 is_stmt 1 view .LVU2703 3168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8156 .loc 1 3168 11 is_stmt 0 view .LVU2704 8157 003a 2B68 ldr r3, [r5] 8158 003c 1A68 ldr r2, [r3] 3168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8159 .loc 1 3168 10 view .LVU2705 8160 003e 12F0040F tst r2, #4 8161 0042 E5D0 beq .L377 3170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8162 .loc 1 3170 9 is_stmt 1 view .LVU2706 3170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8163 .loc 1 3170 13 is_stmt 0 view .LVU2707 8164 0044 DA69 ldr r2, [r3, #28] 3170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8165 .loc 1 3170 12 view .LVU2708 8166 0046 12F0080F tst r2, #8 8167 004a 11D1 bne .L385 3187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8168 .loc 1 3187 9 is_stmt 1 view .LVU2709 3187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8169 .loc 1 3187 13 is_stmt 0 view .LVU2710 8170 004c DA69 ldr r2, [r3, #28] 3187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8171 .loc 1 3187 12 view .LVU2711 8172 004e 12F4006F tst r2, #2048 8173 0052 DDD0 beq .L377 3190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8174 .loc 1 3190 11 is_stmt 1 view .LVU2712 8175 0054 4FF40062 mov r2, #2048 8176 0058 1A62 str r2, [r3, #32] 3195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8177 .loc 1 3195 11 view .LVU2713 8178 005a 2846 mov r0, r5 8179 005c FFF7FEFF bl UART_EndRxTransfer 8180 .LVL723: 3197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8181 .loc 1 3197 11 view .LVU2714 3197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 276 8182 .loc 1 3197 28 is_stmt 0 view .LVU2715 8183 0060 2023 movs r3, #32 8184 0062 C5F88430 str r3, [r5, #132] 3200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8185 .loc 1 3200 11 is_stmt 1 view .LVU2716 3200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8186 .loc 1 3200 11 view .LVU2717 8187 0066 0023 movs r3, #0 8188 0068 85F87830 strb r3, [r5, #120] 3200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8189 .loc 1 3200 11 view .LVU2718 3202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8190 .loc 1 3202 11 view .LVU2719 3202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8191 .loc 1 3202 18 is_stmt 0 view .LVU2720 8192 006c 0320 movs r0, #3 8193 006e 0CE0 b .L378 8194 .L385: 3173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8195 .loc 1 3173 12 is_stmt 1 view .LVU2721 8196 0070 0824 movs r4, #8 8197 0072 1C62 str r4, [r3, #32] 3178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8198 .loc 1 3178 12 view .LVU2722 8199 0074 2846 mov r0, r5 8200 0076 FFF7FEFF bl UART_EndRxTransfer 8201 .LVL724: 3180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8202 .loc 1 3180 12 view .LVU2723 3180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8203 .loc 1 3180 29 is_stmt 0 view .LVU2724 8204 007a C5F88440 str r4, [r5, #132] 3183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8205 .loc 1 3183 12 is_stmt 1 view .LVU2725 3183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8206 .loc 1 3183 12 view .LVU2726 8207 007e 0023 movs r3, #0 8208 0080 85F87830 strb r3, [r5, #120] 3183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8209 .loc 1 3183 12 view .LVU2727 3185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8210 .loc 1 3185 12 view .LVU2728 3185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8211 .loc 1 3185 19 is_stmt 0 view .LVU2729 8212 0084 0120 movs r0, #1 8213 0086 00E0 b .L378 8214 .L384: 3207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8215 .loc 1 3207 10 view .LVU2730 8216 0088 0020 movs r0, #0 8217 .L378: 3208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8218 .loc 1 3208 1 view .LVU2731 8219 008a BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 8220 .LVL725: 8221 .L381: 3165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 277 8222 .loc 1 3165 16 view .LVU2732 8223 008e 0320 movs r0, #3 8224 0090 FBE7 b .L378 8225 .L382: 8226 0092 0320 movs r0, #3 8227 0094 F9E7 b .L378 8228 .cfi_endproc 8229 .LFE176: 8231 .section .text.HAL_UART_Transmit,"ax",%progbits 8232 .align 1 8233 .global HAL_UART_Transmit 8234 .syntax unified 8235 .thumb 8236 .thumb_func 8238 HAL_UART_Transmit: 8239 .LVL726: 8240 .LFB137: 1080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const uint8_t *pdata8bits; 8241 .loc 1 1080 1 is_stmt 1 view -0 8242 .cfi_startproc 8243 @ args = 0, pretend = 0, frame = 0 8244 @ frame_needed = 0, uses_anonymous_args = 0 1080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const uint8_t *pdata8bits; 8245 .loc 1 1080 1 is_stmt 0 view .LVU2734 8246 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} 8247 .cfi_def_cfa_offset 24 8248 .cfi_offset 4, -24 8249 .cfi_offset 5, -20 8250 .cfi_offset 6, -16 8251 .cfi_offset 7, -12 8252 .cfi_offset 8, -8 8253 .cfi_offset 14, -4 8254 0004 82B0 sub sp, sp, #8 8255 .cfi_def_cfa_offset 32 8256 0006 1E46 mov r6, r3 1081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const uint16_t *pdata16bits; 8257 .loc 1 1081 3 is_stmt 1 view .LVU2735 1082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t tickstart; 8258 .loc 1 1082 3 view .LVU2736 1083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8259 .loc 1 1083 3 view .LVU2737 1086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8260 .loc 1 1086 3 view .LVU2738 1086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8261 .loc 1 1086 12 is_stmt 0 view .LVU2739 8262 0008 C36F ldr r3, [r0, #124] 8263 .LVL727: 1086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8264 .loc 1 1086 6 view .LVU2740 8265 000a 202B cmp r3, #32 8266 000c 56D1 bne .L395 8267 000e 0446 mov r4, r0 8268 0010 0D46 mov r5, r1 8269 0012 9046 mov r8, r2 1088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8270 .loc 1 1088 5 is_stmt 1 view .LVU2741 1088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 278 8271 .loc 1 1088 8 is_stmt 0 view .LVU2742 8272 0014 0029 cmp r1, #0 8273 0016 55D0 beq .L396 1088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8274 .loc 1 1088 25 discriminator 1 view .LVU2743 8275 0018 0AB9 cbnz r2, .L401 1090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8276 .loc 1 1090 15 view .LVU2744 8277 001a 0120 movs r0, #1 8278 .LVL728: 1090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8279 .loc 1 1090 15 view .LVU2745 8280 001c 4FE0 b .L387 8281 .LVL729: 8282 .L401: 1093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 8283 .loc 1 1093 5 is_stmt 1 view .LVU2746 1093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 8284 .loc 1 1093 22 is_stmt 0 view .LVU2747 8285 001e 0023 movs r3, #0 8286 0020 C0F88430 str r3, [r0, #132] 1094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8287 .loc 1 1094 5 is_stmt 1 view .LVU2748 1094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8288 .loc 1 1094 19 is_stmt 0 view .LVU2749 8289 0024 2123 movs r3, #33 8290 0026 C367 str r3, [r0, #124] 1097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8291 .loc 1 1097 5 is_stmt 1 view .LVU2750 1097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8292 .loc 1 1097 17 is_stmt 0 view .LVU2751 8293 0028 FFF7FEFF bl HAL_GetTick 8294 .LVL730: 1097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8295 .loc 1 1097 17 view .LVU2752 8296 002c 0746 mov r7, r0 8297 .LVL731: 1099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = Size; 8298 .loc 1 1099 5 is_stmt 1 view .LVU2753 1099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = Size; 8299 .loc 1 1099 24 is_stmt 0 view .LVU2754 8300 002e A4F85080 strh r8, [r4, #80] @ movhi 1100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8301 .loc 1 1100 5 is_stmt 1 view .LVU2755 1100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8302 .loc 1 1100 24 is_stmt 0 view .LVU2756 8303 0032 A4F85280 strh r8, [r4, #82] @ movhi 1103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8304 .loc 1 1103 5 is_stmt 1 view .LVU2757 1103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8305 .loc 1 1103 21 is_stmt 0 view .LVU2758 8306 0036 A368 ldr r3, [r4, #8] 1103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8307 .loc 1 1103 8 view .LVU2759 8308 0038 B3F5805F cmp r3, #4096 8309 003c 02D0 beq .L402 1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 279 8310 .loc 1 1111 19 view .LVU2760 8311 003e 4FF00008 mov r8, #0 8312 0042 18E0 b .L389 8313 .L402: 1103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8314 .loc 1 1103 71 discriminator 1 view .LVU2761 8315 0044 2369 ldr r3, [r4, #16] 1103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8316 .loc 1 1103 56 discriminator 1 view .LVU2762 8317 0046 13B1 cbz r3, .L399 1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8318 .loc 1 1111 19 view .LVU2763 8319 0048 4FF00008 mov r8, #0 8320 004c 13E0 b .L389 8321 .L399: 1106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8322 .loc 1 1106 19 view .LVU2764 8323 004e A846 mov r8, r5 1105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits = (const uint16_t *) pData; 8324 .loc 1 1105 19 view .LVU2765 8325 0050 0025 movs r5, #0 8326 .LVL732: 1105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits = (const uint16_t *) pData; 8327 .loc 1 1105 19 view .LVU2766 8328 0052 10E0 b .L389 8329 .LVL733: 8330 .L404: 1119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8331 .loc 1 1119 9 is_stmt 1 view .LVU2767 1119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8332 .loc 1 1119 23 is_stmt 0 view .LVU2768 8333 0054 2023 movs r3, #32 8334 0056 E367 str r3, [r4, #124] 1121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8335 .loc 1 1121 9 is_stmt 1 view .LVU2769 1121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8336 .loc 1 1121 16 is_stmt 0 view .LVU2770 8337 0058 0320 movs r0, #3 8338 005a 30E0 b .L387 8339 .L405: 1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits++; 8340 .loc 1 1125 9 is_stmt 1 view .LVU2771 1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits++; 8341 .loc 1 1125 43 is_stmt 0 view .LVU2772 8342 005c 38F8023B ldrh r3, [r8], #2 8343 .LVL734: 1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits++; 8344 .loc 1 1125 14 view .LVU2773 8345 0060 2268 ldr r2, [r4] 1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits++; 8346 .loc 1 1125 32 view .LVU2774 8347 0062 C3F30803 ubfx r3, r3, #0, #9 1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits++; 8348 .loc 1 1125 30 view .LVU2775 8349 0066 1385 strh r3, [r2, #40] @ movhi 1126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8350 .loc 1 1126 9 is_stmt 1 view .LVU2776 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 280 8351 .LVL735: 8352 .L392: 1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8353 .loc 1 1133 7 view .LVU2777 1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8354 .loc 1 1133 12 is_stmt 0 view .LVU2778 8355 0068 B4F85220 ldrh r2, [r4, #82] 8356 006c 92B2 uxth r2, r2 1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8357 .loc 1 1133 25 view .LVU2779 8358 006e 013A subs r2, r2, #1 8359 0070 92B2 uxth r2, r2 8360 0072 A4F85220 strh r2, [r4, #82] @ movhi 8361 .LVL736: 8362 .L389: 1114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8363 .loc 1 1114 31 is_stmt 1 view .LVU2780 1114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8364 .loc 1 1114 17 is_stmt 0 view .LVU2781 8365 0076 B4F85230 ldrh r3, [r4, #82] 8366 007a 9BB2 uxth r3, r3 1114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8367 .loc 1 1114 31 view .LVU2782 8368 007c 7BB1 cbz r3, .L403 1116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8369 .loc 1 1116 7 is_stmt 1 view .LVU2783 1116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8370 .loc 1 1116 11 is_stmt 0 view .LVU2784 8371 007e 0096 str r6, [sp] 8372 0080 3B46 mov r3, r7 8373 0082 0022 movs r2, #0 8374 0084 8021 movs r1, #128 8375 0086 2046 mov r0, r4 8376 0088 FFF7FEFF bl UART_WaitOnFlagUntilTimeout 8377 .LVL737: 1116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8378 .loc 1 1116 10 view .LVU2785 8379 008c 0028 cmp r0, #0 8380 008e E1D1 bne .L404 1123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8381 .loc 1 1123 7 is_stmt 1 view .LVU2786 1123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8382 .loc 1 1123 10 is_stmt 0 view .LVU2787 8383 0090 002D cmp r5, #0 8384 0092 E3D0 beq .L405 1130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits++; 8385 .loc 1 1130 9 is_stmt 1 view .LVU2788 1130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits++; 8386 .loc 1 1130 42 is_stmt 0 view .LVU2789 8387 0094 15F8012B ldrb r2, [r5], #1 @ zero_extendqisi2 8388 .LVL738: 1130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits++; 8389 .loc 1 1130 14 view .LVU2790 8390 0098 2368 ldr r3, [r4] 1130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits++; 8391 .loc 1 1130 30 view .LVU2791 8392 009a 1A85 strh r2, [r3, #40] @ movhi ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 281 1131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8393 .loc 1 1131 9 is_stmt 1 view .LVU2792 8394 .LVL739: 1131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8395 .loc 1 1131 9 is_stmt 0 view .LVU2793 8396 009c E4E7 b .L392 8397 .L403: 1136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8398 .loc 1 1136 5 is_stmt 1 view .LVU2794 1136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8399 .loc 1 1136 9 is_stmt 0 view .LVU2795 8400 009e 0096 str r6, [sp] 8401 00a0 3B46 mov r3, r7 8402 00a2 0022 movs r2, #0 8403 00a4 4021 movs r1, #64 8404 00a6 2046 mov r0, r4 8405 00a8 FFF7FEFF bl UART_WaitOnFlagUntilTimeout 8406 .LVL740: 1136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8407 .loc 1 1136 8 view .LVU2796 8408 00ac 10B9 cbnz r0, .L406 1144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8409 .loc 1 1144 5 is_stmt 1 view .LVU2797 1144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8410 .loc 1 1144 19 is_stmt 0 view .LVU2798 8411 00ae 2023 movs r3, #32 8412 00b0 E367 str r3, [r4, #124] 1146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8413 .loc 1 1146 5 is_stmt 1 view .LVU2799 1146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8414 .loc 1 1146 12 is_stmt 0 view .LVU2800 8415 00b2 04E0 b .L387 8416 .L406: 1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8417 .loc 1 1138 7 is_stmt 1 view .LVU2801 1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8418 .loc 1 1138 21 is_stmt 0 view .LVU2802 8419 00b4 2023 movs r3, #32 8420 00b6 E367 str r3, [r4, #124] 1140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8421 .loc 1 1140 7 is_stmt 1 view .LVU2803 1140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8422 .loc 1 1140 14 is_stmt 0 view .LVU2804 8423 00b8 0320 movs r0, #3 8424 00ba 00E0 b .L387 8425 .LVL741: 8426 .L395: 1150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8427 .loc 1 1150 12 view .LVU2805 8428 00bc 0220 movs r0, #2 8429 .LVL742: 8430 .L387: 1152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8431 .loc 1 1152 1 view .LVU2806 8432 00be 02B0 add sp, sp, #8 8433 .cfi_remember_state 8434 .cfi_def_cfa_offset 24 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 282 8435 @ sp needed 8436 00c0 BDE8F081 pop {r4, r5, r6, r7, r8, pc} 8437 .LVL743: 8438 .L396: 8439 .cfi_restore_state 1090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8440 .loc 1 1090 15 view .LVU2807 8441 00c4 0120 movs r0, #1 8442 .LVL744: 1090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8443 .loc 1 1090 15 view .LVU2808 8444 00c6 FAE7 b .L387 8445 .cfi_endproc 8446 .LFE137: 8448 .section .text.HAL_UART_Receive,"ax",%progbits 8449 .align 1 8450 .global HAL_UART_Receive 8451 .syntax unified 8452 .thumb 8453 .thumb_func 8455 HAL_UART_Receive: 8456 .LVL745: 8457 .LFB138: 1166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint8_t *pdata8bits; 8458 .loc 1 1166 1 is_stmt 1 view -0 8459 .cfi_startproc 8460 @ args = 0, pretend = 0, frame = 0 8461 @ frame_needed = 0, uses_anonymous_args = 0 1166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint8_t *pdata8bits; 8462 .loc 1 1166 1 is_stmt 0 view .LVU2810 8463 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr} 8464 .cfi_def_cfa_offset 28 8465 .cfi_offset 4, -28 8466 .cfi_offset 5, -24 8467 .cfi_offset 6, -20 8468 .cfi_offset 7, -16 8469 .cfi_offset 8, -12 8470 .cfi_offset 9, -8 8471 .cfi_offset 14, -4 8472 0004 83B0 sub sp, sp, #12 8473 .cfi_def_cfa_offset 40 8474 0006 1E46 mov r6, r3 1167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t *pdata16bits; 8475 .loc 1 1167 3 is_stmt 1 view .LVU2811 1168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t uhMask; 8476 .loc 1 1168 3 view .LVU2812 1169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t tickstart; 8477 .loc 1 1169 3 view .LVU2813 1170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8478 .loc 1 1170 3 view .LVU2814 1173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8479 .loc 1 1173 3 view .LVU2815 1173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8480 .loc 1 1173 12 is_stmt 0 view .LVU2816 8481 0008 D0F88030 ldr r3, [r0, #128] 8482 .LVL746: 1173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 283 8483 .loc 1 1173 6 view .LVU2817 8484 000c 202B cmp r3, #32 8485 000e 70D1 bne .L420 8486 0010 0446 mov r4, r0 8487 0012 0D46 mov r5, r1 8488 0014 9046 mov r8, r2 1175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8489 .loc 1 1175 5 is_stmt 1 view .LVU2818 1175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8490 .loc 1 1175 8 is_stmt 0 view .LVU2819 8491 0016 0029 cmp r1, #0 8492 0018 6FD0 beq .L421 1175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8493 .loc 1 1175 25 discriminator 1 view .LVU2820 8494 001a 0AB9 cbnz r2, .L426 1177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8495 .loc 1 1177 15 view .LVU2821 8496 001c 0120 movs r0, #1 8497 .LVL747: 1177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8498 .loc 1 1177 15 view .LVU2822 8499 001e 69E0 b .L408 8500 .LVL748: 8501 .L426: 1180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 8502 .loc 1 1180 5 is_stmt 1 view .LVU2823 1180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 8503 .loc 1 1180 22 is_stmt 0 view .LVU2824 8504 0020 0023 movs r3, #0 8505 0022 C0F88430 str r3, [r0, #132] 1181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 8506 .loc 1 1181 5 is_stmt 1 view .LVU2825 1181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 8507 .loc 1 1181 20 is_stmt 0 view .LVU2826 8508 0026 2222 movs r2, #34 8509 .LVL749: 1181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 8510 .loc 1 1181 20 view .LVU2827 8511 0028 C0F88020 str r2, [r0, #128] 1182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8512 .loc 1 1182 5 is_stmt 1 view .LVU2828 1182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8513 .loc 1 1182 26 is_stmt 0 view .LVU2829 8514 002c 0366 str r3, [r0, #96] 1185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8515 .loc 1 1185 5 is_stmt 1 view .LVU2830 1185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8516 .loc 1 1185 17 is_stmt 0 view .LVU2831 8517 002e FFF7FEFF bl HAL_GetTick 8518 .LVL750: 1185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8519 .loc 1 1185 17 view .LVU2832 8520 0032 0746 mov r7, r0 8521 .LVL751: 1187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = Size; 8522 .loc 1 1187 5 is_stmt 1 view .LVU2833 1187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = Size; ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 284 8523 .loc 1 1187 24 is_stmt 0 view .LVU2834 8524 0034 A4F85880 strh r8, [r4, #88] @ movhi 1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8525 .loc 1 1188 5 is_stmt 1 view .LVU2835 1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8526 .loc 1 1188 24 is_stmt 0 view .LVU2836 8527 0038 A4F85A80 strh r8, [r4, #90] @ movhi 1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhMask = huart->Mask; 8528 .loc 1 1191 5 is_stmt 1 view .LVU2837 1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhMask = huart->Mask; 8529 .loc 1 1191 5 view .LVU2838 8530 003c A368 ldr r3, [r4, #8] 8531 003e B3F5805F cmp r3, #4096 8532 0042 06D0 beq .L427 1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhMask = huart->Mask; 8533 .loc 1 1191 5 discriminator 2 view .LVU2839 8534 0044 A3B9 cbnz r3, .L412 1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhMask = huart->Mask; 8535 .loc 1 1191 5 discriminator 5 view .LVU2840 8536 0046 2269 ldr r2, [r4, #16] 8537 0048 72B9 cbnz r2, .L413 1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhMask = huart->Mask; 8538 .loc 1 1191 5 discriminator 7 view .LVU2841 8539 004a FF22 movs r2, #255 8540 004c A4F85C20 strh r2, [r4, #92] @ movhi 8541 0050 11E0 b .L411 8542 .L427: 1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhMask = huart->Mask; 8543 .loc 1 1191 5 discriminator 1 view .LVU2842 8544 0052 2269 ldr r2, [r4, #16] 8545 0054 22B9 cbnz r2, .L410 1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhMask = huart->Mask; 8546 .loc 1 1191 5 discriminator 3 view .LVU2843 8547 0056 40F2FF12 movw r2, #511 8548 005a A4F85C20 strh r2, [r4, #92] @ movhi 8549 005e 0AE0 b .L411 8550 .L410: 1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhMask = huart->Mask; 8551 .loc 1 1191 5 discriminator 4 view .LVU2844 8552 0060 FF22 movs r2, #255 8553 0062 A4F85C20 strh r2, [r4, #92] @ movhi 8554 0066 06E0 b .L411 8555 .L413: 1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhMask = huart->Mask; 8556 .loc 1 1191 5 discriminator 8 view .LVU2845 8557 0068 7F22 movs r2, #127 8558 006a A4F85C20 strh r2, [r4, #92] @ movhi 8559 006e 02E0 b .L411 8560 .L412: 1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhMask = huart->Mask; 8561 .loc 1 1191 5 discriminator 6 view .LVU2846 8562 0070 0022 movs r2, #0 8563 0072 A4F85C20 strh r2, [r4, #92] @ movhi 8564 .L411: 1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhMask = huart->Mask; 8565 .loc 1 1191 5 discriminator 9 view .LVU2847 1192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 285 8566 .loc 1 1192 5 discriminator 9 view .LVU2848 1192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8567 .loc 1 1192 12 is_stmt 0 discriminator 9 view .LVU2849 8568 0076 B4F85C80 ldrh r8, [r4, #92] 8569 .LVL752: 1195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8570 .loc 1 1195 5 is_stmt 1 discriminator 9 view .LVU2850 1195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8571 .loc 1 1195 8 is_stmt 0 discriminator 9 view .LVU2851 8572 007a B3F5805F cmp r3, #4096 8573 007e 02D0 beq .L428 1203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8574 .loc 1 1203 19 view .LVU2852 8575 0080 4FF00009 mov r9, #0 8576 0084 19E0 b .L415 8577 .L428: 1195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8578 .loc 1 1195 71 discriminator 1 view .LVU2853 8579 0086 2369 ldr r3, [r4, #16] 1195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8580 .loc 1 1195 56 discriminator 1 view .LVU2854 8581 0088 13B1 cbz r3, .L424 1203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8582 .loc 1 1203 19 view .LVU2855 8583 008a 4FF00009 mov r9, #0 8584 008e 14E0 b .L415 8585 .L424: 1198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8586 .loc 1 1198 19 view .LVU2856 8587 0090 A946 mov r9, r5 1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 8588 .loc 1 1197 19 view .LVU2857 8589 0092 0025 movs r5, #0 8590 .LVL753: 1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 8591 .loc 1 1197 19 view .LVU2858 8592 0094 11E0 b .L415 8593 .LVL754: 8594 .L430: 1211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8595 .loc 1 1211 9 is_stmt 1 view .LVU2859 1211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8596 .loc 1 1211 24 is_stmt 0 view .LVU2860 8597 0096 2023 movs r3, #32 8598 0098 C4F88030 str r3, [r4, #128] 1213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8599 .loc 1 1213 9 is_stmt 1 view .LVU2861 1213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8600 .loc 1 1213 16 is_stmt 0 view .LVU2862 8601 009c 0320 movs r0, #3 8602 009e 29E0 b .L408 8603 .L431: 1217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits++; 8604 .loc 1 1217 9 is_stmt 1 view .LVU2863 1217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits++; 8605 .loc 1 1217 40 is_stmt 0 view .LVU2864 8606 00a0 2368 ldr r3, [r4] ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 286 1217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits++; 8607 .loc 1 1217 50 view .LVU2865 8608 00a2 9B8C ldrh r3, [r3, #36] 1217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits++; 8609 .loc 1 1217 24 view .LVU2866 8610 00a4 08EA0303 and r3, r8, r3 1217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits++; 8611 .loc 1 1217 22 view .LVU2867 8612 00a8 29F8023B strh r3, [r9], #2 @ movhi 8613 .LVL755: 1218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8614 .loc 1 1218 9 is_stmt 1 view .LVU2868 8615 .L418: 1225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8616 .loc 1 1225 7 view .LVU2869 1225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8617 .loc 1 1225 12 is_stmt 0 view .LVU2870 8618 00ac B4F85A20 ldrh r2, [r4, #90] 8619 00b0 92B2 uxth r2, r2 1225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8620 .loc 1 1225 25 view .LVU2871 8621 00b2 013A subs r2, r2, #1 8622 00b4 92B2 uxth r2, r2 8623 00b6 A4F85A20 strh r2, [r4, #90] @ movhi 8624 .LVL756: 8625 .L415: 1207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8626 .loc 1 1207 31 is_stmt 1 view .LVU2872 1207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8627 .loc 1 1207 17 is_stmt 0 view .LVU2873 8628 00ba B4F85A30 ldrh r3, [r4, #90] 8629 00be 9BB2 uxth r3, r3 1207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8630 .loc 1 1207 31 view .LVU2874 8631 00c0 93B1 cbz r3, .L429 1209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8632 .loc 1 1209 7 is_stmt 1 view .LVU2875 1209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8633 .loc 1 1209 11 is_stmt 0 view .LVU2876 8634 00c2 0096 str r6, [sp] 8635 00c4 3B46 mov r3, r7 8636 00c6 0022 movs r2, #0 8637 00c8 2021 movs r1, #32 8638 00ca 2046 mov r0, r4 8639 00cc FFF7FEFF bl UART_WaitOnFlagUntilTimeout 8640 .LVL757: 1209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8641 .loc 1 1209 10 view .LVU2877 8642 00d0 0028 cmp r0, #0 8643 00d2 E0D1 bne .L430 1215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8644 .loc 1 1215 7 is_stmt 1 view .LVU2878 1215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8645 .loc 1 1215 10 is_stmt 0 view .LVU2879 8646 00d4 002D cmp r5, #0 8647 00d6 E3D0 beq .L431 1222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits++; ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 287 8648 .loc 1 1222 9 is_stmt 1 view .LVU2880 1222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits++; 8649 .loc 1 1222 38 is_stmt 0 view .LVU2881 8650 00d8 2368 ldr r3, [r4] 1222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits++; 8651 .loc 1 1222 48 view .LVU2882 8652 00da 9A8C ldrh r2, [r3, #36] 1222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits++; 8653 .loc 1 1222 56 view .LVU2883 8654 00dc 5FFA88F3 uxtb r3, r8 1222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits++; 8655 .loc 1 1222 23 view .LVU2884 8656 00e0 1340 ands r3, r3, r2 1222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits++; 8657 .loc 1 1222 21 view .LVU2885 8658 00e2 05F8013B strb r3, [r5], #1 8659 .LVL758: 1223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8660 .loc 1 1223 9 is_stmt 1 view .LVU2886 1223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8661 .loc 1 1223 9 is_stmt 0 view .LVU2887 8662 00e6 E1E7 b .L418 8663 .L429: 1229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8664 .loc 1 1229 5 is_stmt 1 view .LVU2888 1229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8665 .loc 1 1229 20 is_stmt 0 view .LVU2889 8666 00e8 2023 movs r3, #32 8667 00ea C4F88030 str r3, [r4, #128] 1231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8668 .loc 1 1231 5 is_stmt 1 view .LVU2890 1231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8669 .loc 1 1231 12 is_stmt 0 view .LVU2891 8670 00ee 0020 movs r0, #0 8671 00f0 00E0 b .L408 8672 .LVL759: 8673 .L420: 1235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8674 .loc 1 1235 12 view .LVU2892 8675 00f2 0220 movs r0, #2 8676 .LVL760: 8677 .L408: 1237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8678 .loc 1 1237 1 view .LVU2893 8679 00f4 03B0 add sp, sp, #12 8680 .cfi_remember_state 8681 .cfi_def_cfa_offset 28 8682 @ sp needed 8683 00f6 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} 8684 .LVL761: 8685 .L421: 8686 .cfi_restore_state 1177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8687 .loc 1 1177 15 view .LVU2894 8688 00fa 0120 movs r0, #1 8689 .LVL762: 1177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 288 8690 .loc 1 1177 15 view .LVU2895 8691 00fc FAE7 b .L408 8692 .cfi_endproc 8693 .LFE138: 8695 .section .text.UART_CheckIdleState,"ax",%progbits 8696 .align 1 8697 .global UART_CheckIdleState 8698 .syntax unified 8699 .thumb 8700 .thumb_func 8702 UART_CheckIdleState: 8703 .LVL763: 8704 .LFB175: 3085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t tickstart; 8705 .loc 1 3085 1 is_stmt 1 view -0 8706 .cfi_startproc 8707 @ args = 0, pretend = 0, frame = 0 8708 @ frame_needed = 0, uses_anonymous_args = 0 3085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t tickstart; 8709 .loc 1 3085 1 is_stmt 0 view .LVU2897 8710 0000 30B5 push {r4, r5, lr} 8711 .cfi_def_cfa_offset 12 8712 .cfi_offset 4, -12 8713 .cfi_offset 5, -8 8714 .cfi_offset 14, -4 8715 0002 83B0 sub sp, sp, #12 8716 .cfi_def_cfa_offset 24 8717 0004 0446 mov r4, r0 3086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8718 .loc 1 3086 3 is_stmt 1 view .LVU2898 3089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8719 .loc 1 3089 3 view .LVU2899 3089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8720 .loc 1 3089 20 is_stmt 0 view .LVU2900 8721 0006 0023 movs r3, #0 8722 0008 C0F88430 str r3, [r0, #132] 3092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8723 .loc 1 3092 3 is_stmt 1 view .LVU2901 3092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8724 .loc 1 3092 15 is_stmt 0 view .LVU2902 8725 000c FFF7FEFF bl HAL_GetTick 8726 .LVL764: 3092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8727 .loc 1 3092 15 view .LVU2903 8728 0010 0546 mov r5, r0 8729 .LVL765: 3095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8730 .loc 1 3095 3 is_stmt 1 view .LVU2904 3095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8731 .loc 1 3095 13 is_stmt 0 view .LVU2905 8732 0012 2268 ldr r2, [r4] 3095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8733 .loc 1 3095 23 view .LVU2906 8734 0014 1268 ldr r2, [r2] 3095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8735 .loc 1 3095 6 view .LVU2907 8736 0016 12F0080F tst r2, #8 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 289 8737 001a 0FD1 bne .L440 8738 .LVL766: 8739 .L433: 3113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8740 .loc 1 3113 3 is_stmt 1 view .LVU2908 3113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8741 .loc 1 3113 13 is_stmt 0 view .LVU2909 8742 001c 2368 ldr r3, [r4] 3113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8743 .loc 1 3113 23 view .LVU2910 8744 001e 1B68 ldr r3, [r3] 3113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8745 .loc 1 3113 6 view .LVU2911 8746 0020 13F0040F tst r3, #4 8747 0024 26D1 bne .L441 8748 .L436: 3133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 8749 .loc 1 3133 3 is_stmt 1 view .LVU2912 3133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 8750 .loc 1 3133 17 is_stmt 0 view .LVU2913 8751 0026 2023 movs r3, #32 8752 0028 E367 str r3, [r4, #124] 3134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 8753 .loc 1 3134 3 is_stmt 1 view .LVU2914 3134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 8754 .loc 1 3134 18 is_stmt 0 view .LVU2915 8755 002a C4F88030 str r3, [r4, #128] 3135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 8756 .loc 1 3135 3 is_stmt 1 view .LVU2916 3135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 8757 .loc 1 3135 24 is_stmt 0 view .LVU2917 8758 002e 0020 movs r0, #0 8759 0030 2066 str r0, [r4, #96] 3136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8760 .loc 1 3136 3 is_stmt 1 view .LVU2918 3136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8761 .loc 1 3136 22 is_stmt 0 view .LVU2919 8762 0032 6066 str r0, [r4, #100] 3138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8763 .loc 1 3138 3 is_stmt 1 view .LVU2920 3138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8764 .loc 1 3138 3 view .LVU2921 8765 0034 84F87800 strb r0, [r4, #120] 3138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8766 .loc 1 3138 3 view .LVU2922 3140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8767 .loc 1 3140 3 view .LVU2923 8768 .L435: 3141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8769 .loc 1 3141 1 is_stmt 0 view .LVU2924 8770 0038 03B0 add sp, sp, #12 8771 .cfi_remember_state 8772 .cfi_def_cfa_offset 12 8773 @ sp needed 8774 003a 30BD pop {r4, r5, pc} 8775 .LVL767: 8776 .L440: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 290 8777 .cfi_restore_state 3098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8778 .loc 1 3098 5 is_stmt 1 view .LVU2925 3098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8779 .loc 1 3098 9 is_stmt 0 view .LVU2926 8780 003c 6FF07E43 mvn r3, #-33554432 8781 0040 0093 str r3, [sp] 8782 0042 0346 mov r3, r0 8783 0044 0022 movs r2, #0 8784 0046 4FF40011 mov r1, #2097152 8785 004a 2046 mov r0, r4 8786 .LVL768: 3098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8787 .loc 1 3098 9 view .LVU2927 8788 004c FFF7FEFF bl UART_WaitOnFlagUntilTimeout 8789 .LVL769: 3098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8790 .loc 1 3098 8 view .LVU2928 8791 0050 0028 cmp r0, #0 8792 0052 E3D0 beq .L433 8793 .L434: 3101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8794 .loc 1 3101 7 is_stmt 1 discriminator 1 view .LVU2929 8795 .LBB762: 3101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8796 .loc 1 3101 7 discriminator 1 view .LVU2930 3101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8797 .loc 1 3101 7 discriminator 1 view .LVU2931 3101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8798 .loc 1 3101 7 discriminator 1 view .LVU2932 8799 0054 2268 ldr r2, [r4] 8800 .LVL770: 8801 .LBB763: 8802 .LBI763: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8803 .loc 2 1068 31 discriminator 1 view .LVU2933 8804 .LBB764: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 8805 .loc 2 1070 5 discriminator 1 view .LVU2934 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8806 .loc 2 1072 4 discriminator 1 view .LVU2935 8807 .syntax unified 8808 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8809 0056 52E8003F ldrex r3, [r2] 8810 @ 0 "" 2 8811 .LVL771: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8812 .loc 2 1073 4 discriminator 1 view .LVU2936 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8813 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2937 8814 .thumb 8815 .syntax unified 8816 .LBE764: 8817 .LBE763: 3101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8818 .loc 1 3101 7 discriminator 1 view .LVU2938 8819 005a 23F08003 bic r3, r3, #128 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 291 8820 .LVL772: 3101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8821 .loc 1 3101 7 is_stmt 1 discriminator 1 view .LVU2939 8822 .LBB765: 8823 .LBI765: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8824 .loc 2 1119 31 discriminator 1 view .LVU2940 8825 .LBB766: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 8826 .loc 2 1121 4 discriminator 1 view .LVU2941 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8827 .loc 2 1123 4 discriminator 1 view .LVU2942 8828 .syntax unified 8829 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8830 005e 42E80031 strex r1, r3, [r2] 8831 @ 0 "" 2 8832 .LVL773: 8833 .loc 2 1124 4 discriminator 1 view .LVU2943 8834 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2944 8835 .thumb 8836 .syntax unified 8837 .LBE766: 8838 .LBE765: 3101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8839 .loc 1 3101 7 discriminator 1 view .LVU2945 8840 0062 0029 cmp r1, #0 8841 0064 F6D1 bne .L434 8842 .LBE762: 3101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8843 .loc 1 3101 7 is_stmt 1 discriminator 2 view .LVU2946 3103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8844 .loc 1 3103 7 discriminator 2 view .LVU2947 3103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8845 .loc 1 3103 21 is_stmt 0 discriminator 2 view .LVU2948 8846 0066 2023 movs r3, #32 8847 .LVL774: 3103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8848 .loc 1 3103 21 discriminator 2 view .LVU2949 8849 0068 E367 str r3, [r4, #124] 3105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8850 .loc 1 3105 7 is_stmt 1 discriminator 2 view .LVU2950 3105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8851 .loc 1 3105 7 discriminator 2 view .LVU2951 8852 006a 0023 movs r3, #0 8853 006c 84F87830 strb r3, [r4, #120] 3105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8854 .loc 1 3105 7 discriminator 2 view .LVU2952 3108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8855 .loc 1 3108 7 discriminator 2 view .LVU2953 3108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8856 .loc 1 3108 14 is_stmt 0 discriminator 2 view .LVU2954 8857 0070 0320 movs r0, #3 8858 0072 E1E7 b .L435 8859 .LVL775: 8860 .L441: 3116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8861 .loc 1 3116 5 is_stmt 1 view .LVU2955 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 292 3116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8862 .loc 1 3116 9 is_stmt 0 view .LVU2956 8863 0074 6FF07E43 mvn r3, #-33554432 8864 0078 0093 str r3, [sp] 8865 007a 2B46 mov r3, r5 8866 007c 0022 movs r2, #0 8867 007e 4FF48001 mov r1, #4194304 8868 0082 2046 mov r0, r4 8869 0084 FFF7FEFF bl UART_WaitOnFlagUntilTimeout 8870 .LVL776: 3116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8871 .loc 1 3116 8 view .LVU2957 8872 0088 0028 cmp r0, #0 8873 008a CCD0 beq .L436 8874 .L437: 3120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8875 .loc 1 3120 7 is_stmt 1 discriminator 1 view .LVU2958 8876 .LBB767: 3120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8877 .loc 1 3120 7 discriminator 1 view .LVU2959 3120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8878 .loc 1 3120 7 discriminator 1 view .LVU2960 3120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8879 .loc 1 3120 7 discriminator 1 view .LVU2961 8880 008c 2268 ldr r2, [r4] 8881 .LVL777: 8882 .LBB768: 8883 .LBI768: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8884 .loc 2 1068 31 discriminator 1 view .LVU2962 8885 .LBB769: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 8886 .loc 2 1070 5 discriminator 1 view .LVU2963 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8887 .loc 2 1072 4 discriminator 1 view .LVU2964 8888 .syntax unified 8889 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8890 008e 52E8003F ldrex r3, [r2] 8891 @ 0 "" 2 8892 .LVL778: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8893 .loc 2 1073 4 discriminator 1 view .LVU2965 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8894 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2966 8895 .thumb 8896 .syntax unified 8897 .LBE769: 8898 .LBE768: 3120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8899 .loc 1 3120 7 discriminator 1 view .LVU2967 8900 0092 23F49073 bic r3, r3, #288 8901 .LVL779: 3120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8902 .loc 1 3120 7 is_stmt 1 discriminator 1 view .LVU2968 8903 .LBB770: 8904 .LBI770: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 293 8905 .loc 2 1119 31 discriminator 1 view .LVU2969 8906 .LBB771: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 8907 .loc 2 1121 4 discriminator 1 view .LVU2970 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8908 .loc 2 1123 4 discriminator 1 view .LVU2971 8909 .syntax unified 8910 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8911 0096 42E80031 strex r1, r3, [r2] 8912 @ 0 "" 2 8913 .LVL780: 8914 .loc 2 1124 4 discriminator 1 view .LVU2972 8915 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2973 8916 .thumb 8917 .syntax unified 8918 .LBE771: 8919 .LBE770: 3120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8920 .loc 1 3120 7 discriminator 1 view .LVU2974 8921 009a 0029 cmp r1, #0 8922 009c F6D1 bne .L437 8923 .LVL781: 8924 .L438: 3120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8925 .loc 1 3120 7 discriminator 1 view .LVU2975 8926 .LBE767: 3120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8927 .loc 1 3120 7 is_stmt 1 discriminator 1 view .LVU2976 3121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8928 .loc 1 3121 7 discriminator 1 view .LVU2977 8929 .LBB772: 3121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8930 .loc 1 3121 7 discriminator 1 view .LVU2978 3121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8931 .loc 1 3121 7 discriminator 1 view .LVU2979 3121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8932 .loc 1 3121 7 discriminator 1 view .LVU2980 8933 009e 2268 ldr r2, [r4] 8934 .LVL782: 8935 .LBB773: 8936 .LBI773: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8937 .loc 2 1068 31 discriminator 1 view .LVU2981 8938 .LBB774: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 8939 .loc 2 1070 5 discriminator 1 view .LVU2982 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8940 .loc 2 1072 4 discriminator 1 view .LVU2983 8941 00a0 02F10803 add r3, r2, #8 8942 .LVL783: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8943 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU2984 8944 .syntax unified 8945 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8946 00a4 53E8003F ldrex r3, [r3] 8947 @ 0 "" 2 8948 .LVL784: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 294 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8949 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU2985 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8950 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2986 8951 .thumb 8952 .syntax unified 8953 .LBE774: 8954 .LBE773: 3121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8955 .loc 1 3121 7 discriminator 1 view .LVU2987 8956 00a8 23F00103 bic r3, r3, #1 8957 .LVL785: 3121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8958 .loc 1 3121 7 is_stmt 1 discriminator 1 view .LVU2988 8959 .LBB775: 8960 .LBI775: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8961 .loc 2 1119 31 discriminator 1 view .LVU2989 8962 .LBB776: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 8963 .loc 2 1121 4 discriminator 1 view .LVU2990 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8964 .loc 2 1123 4 discriminator 1 view .LVU2991 8965 00ac 0832 adds r2, r2, #8 8966 .LVL786: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8967 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU2992 8968 .syntax unified 8969 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8970 00ae 42E80031 strex r1, r3, [r2] 8971 @ 0 "" 2 8972 .LVL787: 8973 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU2993 8974 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2994 8975 .thumb 8976 .syntax unified 8977 .LBE776: 8978 .LBE775: 3121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8979 .loc 1 3121 7 discriminator 1 view .LVU2995 8980 00b2 0029 cmp r1, #0 8981 00b4 F3D1 bne .L438 8982 .LBE772: 3121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8983 .loc 1 3121 7 is_stmt 1 discriminator 2 view .LVU2996 3123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8984 .loc 1 3123 7 discriminator 2 view .LVU2997 3123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8985 .loc 1 3123 22 is_stmt 0 discriminator 2 view .LVU2998 8986 00b6 2023 movs r3, #32 8987 .LVL788: 3123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8988 .loc 1 3123 22 discriminator 2 view .LVU2999 8989 00b8 C4F88030 str r3, [r4, #128] 3125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8990 .loc 1 3125 7 is_stmt 1 discriminator 2 view .LVU3000 3125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 295 8991 .loc 1 3125 7 discriminator 2 view .LVU3001 8992 00bc 0023 movs r3, #0 8993 00be 84F87830 strb r3, [r4, #120] 3125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8994 .loc 1 3125 7 discriminator 2 view .LVU3002 3128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8995 .loc 1 3128 7 discriminator 2 view .LVU3003 3128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8996 .loc 1 3128 14 is_stmt 0 discriminator 2 view .LVU3004 8997 00c2 0320 movs r0, #3 8998 00c4 B8E7 b .L435 8999 .cfi_endproc 9000 .LFE175: 9002 .section .text.HAL_UART_Init,"ax",%progbits 9003 .align 1 9004 .global HAL_UART_Init 9005 .syntax unified 9006 .thumb 9007 .thumb_func 9009 HAL_UART_Init: 9010 .LVL789: 9011 .LFB130: 290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */ 9012 .loc 1 290 1 is_stmt 1 view -0 9013 .cfi_startproc 9014 @ args = 0, pretend = 0, frame = 0 9015 @ frame_needed = 0, uses_anonymous_args = 0 292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9016 .loc 1 292 3 view .LVU3006 292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9017 .loc 1 292 6 is_stmt 0 view .LVU3007 9018 0000 68B3 cbz r0, .L446 290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */ 9019 .loc 1 290 1 view .LVU3008 9020 0002 10B5 push {r4, lr} 9021 .cfi_def_cfa_offset 8 9022 .cfi_offset 4, -8 9023 .cfi_offset 14, -4 9024 0004 0446 mov r4, r0 297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9025 .loc 1 297 3 is_stmt 1 view .LVU3009 305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9026 .loc 1 305 5 view .LVU3010 308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9027 .loc 1 308 3 view .LVU3011 308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9028 .loc 1 308 12 is_stmt 0 view .LVU3012 9029 0006 C36F ldr r3, [r0, #124] 308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9030 .loc 1 308 6 view .LVU3013 9031 0008 03B3 cbz r3, .L451 9032 .LVL790: 9033 .L444: 329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9034 .loc 1 329 3 is_stmt 1 view .LVU3014 329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9035 .loc 1 329 17 is_stmt 0 view .LVU3015 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 296 9036 000a 2423 movs r3, #36 9037 000c E367 str r3, [r4, #124] 331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9038 .loc 1 331 3 is_stmt 1 view .LVU3016 9039 000e 2268 ldr r2, [r4] 9040 0010 1368 ldr r3, [r2] 9041 0012 23F00103 bic r3, r3, #1 9042 0016 1360 str r3, [r2] 334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9043 .loc 1 334 3 view .LVU3017 334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9044 .loc 1 334 7 is_stmt 0 view .LVU3018 9045 0018 2046 mov r0, r4 9046 001a FFF7FEFF bl UART_SetConfig 9047 .LVL791: 334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9048 .loc 1 334 6 view .LVU3019 9049 001e 0128 cmp r0, #1 9050 0020 13D0 beq .L443 339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9051 .loc 1 339 3 is_stmt 1 view .LVU3020 339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9052 .loc 1 339 26 is_stmt 0 view .LVU3021 9053 0022 636A ldr r3, [r4, #36] 339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9054 .loc 1 339 6 view .LVU3022 9055 0024 BBB9 cbnz r3, .L452 9056 .L445: 347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); 9057 .loc 1 347 3 is_stmt 1 view .LVU3023 9058 0026 2268 ldr r2, [r4] 9059 0028 5368 ldr r3, [r2, #4] 9060 002a 23F49043 bic r3, r3, #18432 9061 002e 5360 str r3, [r2, #4] 348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9062 .loc 1 348 3 view .LVU3024 9063 0030 2268 ldr r2, [r4] 9064 0032 9368 ldr r3, [r2, #8] 9065 0034 23F02A03 bic r3, r3, #42 9066 0038 9360 str r3, [r2, #8] 350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9067 .loc 1 350 3 view .LVU3025 9068 003a 2268 ldr r2, [r4] 9069 003c 1368 ldr r3, [r2] 9070 003e 43F00103 orr r3, r3, #1 9071 0042 1360 str r3, [r2] 353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9072 .loc 1 353 3 view .LVU3026 353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9073 .loc 1 353 11 is_stmt 0 view .LVU3027 9074 0044 2046 mov r0, r4 9075 0046 FFF7FEFF bl UART_CheckIdleState 9076 .LVL792: 9077 .L443: 354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9078 .loc 1 354 1 view .LVU3028 9079 004a 10BD pop {r4, pc} ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 297 9080 .LVL793: 9081 .L451: 311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9082 .loc 1 311 5 is_stmt 1 view .LVU3029 311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9083 .loc 1 311 17 is_stmt 0 view .LVU3030 9084 004c 80F87830 strb r3, [r0, #120] 325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 9085 .loc 1 325 5 is_stmt 1 view .LVU3031 9086 0050 FFF7FEFF bl HAL_UART_MspInit 9087 .LVL794: 325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 9088 .loc 1 325 5 is_stmt 0 view .LVU3032 9089 0054 D9E7 b .L444 9090 .L452: 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9091 .loc 1 341 5 is_stmt 1 view .LVU3033 9092 0056 2046 mov r0, r4 9093 0058 FFF7FEFF bl UART_AdvFeatureConfig 9094 .LVL795: 9095 005c E3E7 b .L445 9096 .LVL796: 9097 .L446: 9098 .cfi_def_cfa_offset 0 9099 .cfi_restore 4 9100 .cfi_restore 14 294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9101 .loc 1 294 12 is_stmt 0 view .LVU3034 9102 005e 0120 movs r0, #1 9103 .LVL797: 354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9104 .loc 1 354 1 view .LVU3035 9105 0060 7047 bx lr 9106 .cfi_endproc 9107 .LFE130: 9109 .section .text.HAL_HalfDuplex_Init,"ax",%progbits 9110 .align 1 9111 .global HAL_HalfDuplex_Init 9112 .syntax unified 9113 .thumb 9114 .thumb_func 9116 HAL_HalfDuplex_Init: 9117 .LVL798: 9118 .LFB131: 363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */ 9119 .loc 1 363 1 is_stmt 1 view -0 9120 .cfi_startproc 9121 @ args = 0, pretend = 0, frame = 0 9122 @ frame_needed = 0, uses_anonymous_args = 0 365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9123 .loc 1 365 3 view .LVU3037 365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9124 .loc 1 365 6 is_stmt 0 view .LVU3038 9125 0000 0028 cmp r0, #0 9126 0002 32D0 beq .L457 363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */ 9127 .loc 1 363 1 view .LVU3039 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 298 9128 0004 10B5 push {r4, lr} 9129 .cfi_def_cfa_offset 8 9130 .cfi_offset 4, -8 9131 .cfi_offset 14, -4 9132 0006 0446 mov r4, r0 371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9133 .loc 1 371 3 is_stmt 1 view .LVU3040 373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9134 .loc 1 373 3 view .LVU3041 373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9135 .loc 1 373 12 is_stmt 0 view .LVU3042 9136 0008 C36F ldr r3, [r0, #124] 373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9137 .loc 1 373 6 view .LVU3043 9138 000a 2BB3 cbz r3, .L462 9139 .LVL799: 9140 .L455: 394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9141 .loc 1 394 3 is_stmt 1 view .LVU3044 394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9142 .loc 1 394 17 is_stmt 0 view .LVU3045 9143 000c 2423 movs r3, #36 9144 000e E367 str r3, [r4, #124] 396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9145 .loc 1 396 3 is_stmt 1 view .LVU3046 9146 0010 2268 ldr r2, [r4] 9147 0012 1368 ldr r3, [r2] 9148 0014 23F00103 bic r3, r3, #1 9149 0018 1360 str r3, [r2] 399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9150 .loc 1 399 3 view .LVU3047 399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9151 .loc 1 399 7 is_stmt 0 view .LVU3048 9152 001a 2046 mov r0, r4 9153 001c FFF7FEFF bl UART_SetConfig 9154 .LVL800: 399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9155 .loc 1 399 6 view .LVU3049 9156 0020 0128 cmp r0, #1 9157 0022 18D0 beq .L454 404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9158 .loc 1 404 3 is_stmt 1 view .LVU3050 404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9159 .loc 1 404 26 is_stmt 0 view .LVU3051 9160 0024 636A ldr r3, [r4, #36] 404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9161 .loc 1 404 6 view .LVU3052 9162 0026 E3B9 cbnz r3, .L463 9163 .L456: 412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN)); 9164 .loc 1 412 3 is_stmt 1 view .LVU3053 9165 0028 2268 ldr r2, [r4] 9166 002a 5368 ldr r3, [r2, #4] 9167 002c 23F49043 bic r3, r3, #18432 9168 0030 5360 str r3, [r2, #4] 413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9169 .loc 1 413 3 view .LVU3054 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 299 9170 0032 2268 ldr r2, [r4] 9171 0034 9368 ldr r3, [r2, #8] 9172 0036 23F02203 bic r3, r3, #34 9173 003a 9360 str r3, [r2, #8] 416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9174 .loc 1 416 3 view .LVU3055 9175 003c 2268 ldr r2, [r4] 9176 003e 9368 ldr r3, [r2, #8] 9177 0040 43F00803 orr r3, r3, #8 9178 0044 9360 str r3, [r2, #8] 418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9179 .loc 1 418 3 view .LVU3056 9180 0046 2268 ldr r2, [r4] 9181 0048 1368 ldr r3, [r2] 9182 004a 43F00103 orr r3, r3, #1 9183 004e 1360 str r3, [r2] 421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9184 .loc 1 421 3 view .LVU3057 421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9185 .loc 1 421 11 is_stmt 0 view .LVU3058 9186 0050 2046 mov r0, r4 9187 0052 FFF7FEFF bl UART_CheckIdleState 9188 .LVL801: 9189 .L454: 422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9190 .loc 1 422 1 view .LVU3059 9191 0056 10BD pop {r4, pc} 9192 .LVL802: 9193 .L462: 376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9194 .loc 1 376 5 is_stmt 1 view .LVU3060 376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9195 .loc 1 376 17 is_stmt 0 view .LVU3061 9196 0058 80F87830 strb r3, [r0, #120] 390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 9197 .loc 1 390 5 is_stmt 1 view .LVU3062 9198 005c FFF7FEFF bl HAL_UART_MspInit 9199 .LVL803: 390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 9200 .loc 1 390 5 is_stmt 0 view .LVU3063 9201 0060 D4E7 b .L455 9202 .L463: 406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9203 .loc 1 406 5 is_stmt 1 view .LVU3064 9204 0062 2046 mov r0, r4 9205 0064 FFF7FEFF bl UART_AdvFeatureConfig 9206 .LVL804: 9207 0068 DEE7 b .L456 9208 .LVL805: 9209 .L457: 9210 .cfi_def_cfa_offset 0 9211 .cfi_restore 4 9212 .cfi_restore 14 367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9213 .loc 1 367 12 is_stmt 0 view .LVU3065 9214 006a 0120 movs r0, #1 9215 .LVL806: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 300 422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9216 .loc 1 422 1 view .LVU3066 9217 006c 7047 bx lr 9218 .cfi_endproc 9219 .LFE131: 9221 .section .text.HAL_LIN_Init,"ax",%progbits 9222 .align 1 9223 .global HAL_LIN_Init 9224 .syntax unified 9225 .thumb 9226 .thumb_func 9228 HAL_LIN_Init: 9229 .LVL807: 9230 .LFB132: 436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */ 9231 .loc 1 436 1 is_stmt 1 view -0 9232 .cfi_startproc 9233 @ args = 0, pretend = 0, frame = 0 9234 @ frame_needed = 0, uses_anonymous_args = 0 438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9235 .loc 1 438 3 view .LVU3068 438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9236 .loc 1 438 6 is_stmt 0 view .LVU3069 9237 0000 0028 cmp r0, #0 9238 0002 40D0 beq .L468 436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */ 9239 .loc 1 436 1 view .LVU3070 9240 0004 38B5 push {r3, r4, r5, lr} 9241 .cfi_def_cfa_offset 16 9242 .cfi_offset 3, -16 9243 .cfi_offset 4, -12 9244 .cfi_offset 5, -8 9245 .cfi_offset 14, -4 9246 0006 0D46 mov r5, r1 9247 0008 0446 mov r4, r0 444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the Break detection length parameter */ 9248 .loc 1 444 3 is_stmt 1 view .LVU3071 446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9249 .loc 1 446 3 view .LVU3072 449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9250 .loc 1 449 3 view .LVU3073 449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9251 .loc 1 449 18 is_stmt 0 view .LVU3074 9252 000a C369 ldr r3, [r0, #28] 449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9253 .loc 1 449 6 view .LVU3075 9254 000c B3F5004F cmp r3, #32768 9255 0010 3BD0 beq .L469 454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9256 .loc 1 454 3 is_stmt 1 view .LVU3076 454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9257 .loc 1 454 18 is_stmt 0 view .LVU3077 9258 0012 8368 ldr r3, [r0, #8] 454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9259 .loc 1 454 6 view .LVU3078 9260 0014 002B cmp r3, #0 9261 0016 3AD1 bne .L470 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 301 459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9262 .loc 1 459 3 is_stmt 1 view .LVU3079 459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9263 .loc 1 459 12 is_stmt 0 view .LVU3080 9264 0018 C36F ldr r3, [r0, #124] 459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9265 .loc 1 459 6 view .LVU3081 9266 001a 5BB3 cbz r3, .L475 9267 .LVL808: 9268 .L466: 480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9269 .loc 1 480 3 is_stmt 1 view .LVU3082 480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9270 .loc 1 480 17 is_stmt 0 view .LVU3083 9271 001c 2423 movs r3, #36 9272 001e E367 str r3, [r4, #124] 482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9273 .loc 1 482 3 is_stmt 1 view .LVU3084 9274 0020 2268 ldr r2, [r4] 9275 0022 1368 ldr r3, [r2] 9276 0024 23F00103 bic r3, r3, #1 9277 0028 1360 str r3, [r2] 485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9278 .loc 1 485 3 view .LVU3085 485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9279 .loc 1 485 7 is_stmt 0 view .LVU3086 9280 002a 2046 mov r0, r4 9281 002c FFF7FEFF bl UART_SetConfig 9282 .LVL809: 485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9283 .loc 1 485 6 view .LVU3087 9284 0030 0128 cmp r0, #1 9285 0032 1ED0 beq .L465 490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9286 .loc 1 490 3 is_stmt 1 view .LVU3088 490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9287 .loc 1 490 26 is_stmt 0 view .LVU3089 9288 0034 636A ldr r3, [r4, #36] 490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9289 .loc 1 490 6 view .LVU3090 9290 0036 13BB cbnz r3, .L476 9291 .L467: 498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN)); 9292 .loc 1 498 3 is_stmt 1 view .LVU3091 9293 0038 2268 ldr r2, [r4] 9294 003a 5368 ldr r3, [r2, #4] 9295 003c 23F40063 bic r3, r3, #2048 9296 0040 5360 str r3, [r2, #4] 499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9297 .loc 1 499 3 view .LVU3092 9298 0042 2268 ldr r2, [r4] 9299 0044 9368 ldr r3, [r2, #8] 9300 0046 23F02A03 bic r3, r3, #42 9301 004a 9360 str r3, [r2, #8] 502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9302 .loc 1 502 3 view .LVU3093 9303 004c 2268 ldr r2, [r4] ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 302 9304 004e 5368 ldr r3, [r2, #4] 9305 0050 43F48043 orr r3, r3, #16384 9306 0054 5360 str r3, [r2, #4] 505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9307 .loc 1 505 3 view .LVU3094 9308 0056 2268 ldr r2, [r4] 9309 0058 5368 ldr r3, [r2, #4] 9310 005a 23F02003 bic r3, r3, #32 9311 005e 2B43 orrs r3, r3, r5 9312 0060 5360 str r3, [r2, #4] 507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9313 .loc 1 507 3 view .LVU3095 9314 0062 2268 ldr r2, [r4] 9315 0064 1368 ldr r3, [r2] 9316 0066 43F00103 orr r3, r3, #1 9317 006a 1360 str r3, [r2] 510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9318 .loc 1 510 3 view .LVU3096 510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9319 .loc 1 510 11 is_stmt 0 view .LVU3097 9320 006c 2046 mov r0, r4 9321 006e FFF7FEFF bl UART_CheckIdleState 9322 .LVL810: 9323 .L465: 511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9324 .loc 1 511 1 view .LVU3098 9325 0072 38BD pop {r3, r4, r5, pc} 9326 .LVL811: 9327 .L475: 462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9328 .loc 1 462 5 is_stmt 1 view .LVU3099 462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9329 .loc 1 462 17 is_stmt 0 view .LVU3100 9330 0074 80F87830 strb r3, [r0, #120] 476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 9331 .loc 1 476 5 is_stmt 1 view .LVU3101 9332 0078 FFF7FEFF bl HAL_UART_MspInit 9333 .LVL812: 476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 9334 .loc 1 476 5 is_stmt 0 view .LVU3102 9335 007c CEE7 b .L466 9336 .L476: 492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9337 .loc 1 492 5 is_stmt 1 view .LVU3103 9338 007e 2046 mov r0, r4 9339 0080 FFF7FEFF bl UART_AdvFeatureConfig 9340 .LVL813: 9341 0084 D8E7 b .L467 9342 .LVL814: 9343 .L468: 9344 .cfi_def_cfa_offset 0 9345 .cfi_restore 3 9346 .cfi_restore 4 9347 .cfi_restore 5 9348 .cfi_restore 14 440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9349 .loc 1 440 12 is_stmt 0 view .LVU3104 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 303 9350 0086 0120 movs r0, #1 9351 .LVL815: 511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9352 .loc 1 511 1 view .LVU3105 9353 0088 7047 bx lr 9354 .LVL816: 9355 .L469: 9356 .cfi_def_cfa_offset 16 9357 .cfi_offset 3, -16 9358 .cfi_offset 4, -12 9359 .cfi_offset 5, -8 9360 .cfi_offset 14, -4 451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9361 .loc 1 451 12 view .LVU3106 9362 008a 0120 movs r0, #1 9363 .LVL817: 451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9364 .loc 1 451 12 view .LVU3107 9365 008c F1E7 b .L465 9366 .LVL818: 9367 .L470: 456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9368 .loc 1 456 12 view .LVU3108 9369 008e 0120 movs r0, #1 9370 .LVL819: 456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9371 .loc 1 456 12 view .LVU3109 9372 0090 EFE7 b .L465 9373 .cfi_endproc 9374 .LFE132: 9376 .section .text.HAL_MultiProcessor_Init,"ax",%progbits 9377 .align 1 9378 .global HAL_MultiProcessor_Init 9379 .syntax unified 9380 .thumb 9381 .thumb_func 9383 HAL_MultiProcessor_Init: 9384 .LVL820: 9385 .LFB133: 533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */ 9386 .loc 1 533 1 is_stmt 1 view -0 9387 .cfi_startproc 9388 @ args = 0, pretend = 0, frame = 0 9389 @ frame_needed = 0, uses_anonymous_args = 0 535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9390 .loc 1 535 3 view .LVU3111 535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9391 .loc 1 535 6 is_stmt 0 view .LVU3112 9392 0000 0028 cmp r0, #0 9393 0002 40D0 beq .L482 533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */ 9394 .loc 1 533 1 view .LVU3113 9395 0004 70B5 push {r4, r5, r6, lr} 9396 .cfi_def_cfa_offset 16 9397 .cfi_offset 4, -16 9398 .cfi_offset 5, -12 9399 .cfi_offset 6, -8 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 304 9400 .cfi_offset 14, -4 9401 0006 0E46 mov r6, r1 9402 0008 1546 mov r5, r2 9403 000a 0446 mov r4, r0 541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9404 .loc 1 541 3 is_stmt 1 view .LVU3114 543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9405 .loc 1 543 3 view .LVU3115 543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9406 .loc 1 543 12 is_stmt 0 view .LVU3116 9407 000c C36F ldr r3, [r0, #124] 543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9408 .loc 1 543 6 view .LVU3117 9409 000e 4BB3 cbz r3, .L487 9410 .LVL821: 9411 .L479: 564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9412 .loc 1 564 3 is_stmt 1 view .LVU3118 564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9413 .loc 1 564 17 is_stmt 0 view .LVU3119 9414 0010 2423 movs r3, #36 9415 0012 E367 str r3, [r4, #124] 566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9416 .loc 1 566 3 is_stmt 1 view .LVU3120 9417 0014 2268 ldr r2, [r4] 9418 0016 1368 ldr r3, [r2] 9419 0018 23F00103 bic r3, r3, #1 9420 001c 1360 str r3, [r2] 569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9421 .loc 1 569 3 view .LVU3121 569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9422 .loc 1 569 7 is_stmt 0 view .LVU3122 9423 001e 2046 mov r0, r4 9424 0020 FFF7FEFF bl UART_SetConfig 9425 .LVL822: 569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9426 .loc 1 569 6 view .LVU3123 9427 0024 0128 cmp r0, #1 9428 0026 1CD0 beq .L478 574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9429 .loc 1 574 3 is_stmt 1 view .LVU3124 574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9430 .loc 1 574 26 is_stmt 0 view .LVU3125 9431 0028 636A ldr r3, [r4, #36] 574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9432 .loc 1 574 6 view .LVU3126 9433 002a 03BB cbnz r3, .L488 9434 .L480: 582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); 9435 .loc 1 582 3 is_stmt 1 view .LVU3127 9436 002c 2268 ldr r2, [r4] 9437 002e 5368 ldr r3, [r2, #4] 9438 0030 23F49043 bic r3, r3, #18432 9439 0034 5360 str r3, [r2, #4] 583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9440 .loc 1 583 3 view .LVU3128 9441 0036 2268 ldr r2, [r4] ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 305 9442 0038 9368 ldr r3, [r2, #8] 9443 003a 23F02A03 bic r3, r3, #42 9444 003e 9360 str r3, [r2, #8] 585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9445 .loc 1 585 3 view .LVU3129 585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9446 .loc 1 585 6 is_stmt 0 view .LVU3130 9447 0040 B5F5006F cmp r5, #2048 9448 0044 17D0 beq .L489 9449 .L481: 592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9450 .loc 1 592 3 is_stmt 1 view .LVU3131 9451 0046 2268 ldr r2, [r4] 9452 0048 1368 ldr r3, [r2] 9453 004a 23F40063 bic r3, r3, #2048 9454 004e 2B43 orrs r3, r3, r5 9455 0050 1360 str r3, [r2] 594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9456 .loc 1 594 3 view .LVU3132 9457 0052 2268 ldr r2, [r4] 9458 0054 1368 ldr r3, [r2] 9459 0056 43F00103 orr r3, r3, #1 9460 005a 1360 str r3, [r2] 597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9461 .loc 1 597 3 view .LVU3133 597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9462 .loc 1 597 11 is_stmt 0 view .LVU3134 9463 005c 2046 mov r0, r4 9464 005e FFF7FEFF bl UART_CheckIdleState 9465 .LVL823: 9466 .L478: 598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9467 .loc 1 598 1 view .LVU3135 9468 0062 70BD pop {r4, r5, r6, pc} 9469 .LVL824: 9470 .L487: 546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9471 .loc 1 546 5 is_stmt 1 view .LVU3136 546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9472 .loc 1 546 17 is_stmt 0 view .LVU3137 9473 0064 80F87830 strb r3, [r0, #120] 560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 9474 .loc 1 560 5 is_stmt 1 view .LVU3138 9475 0068 FFF7FEFF bl HAL_UART_MspInit 9476 .LVL825: 560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 9477 .loc 1 560 5 is_stmt 0 view .LVU3139 9478 006c D0E7 b .L479 9479 .L488: 576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9480 .loc 1 576 5 is_stmt 1 view .LVU3140 9481 006e 2046 mov r0, r4 9482 0070 FFF7FEFF bl UART_AdvFeatureConfig 9483 .LVL826: 9484 0074 DAE7 b .L480 9485 .L489: 588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 306 9486 .loc 1 588 5 view .LVU3141 9487 0076 2268 ldr r2, [r4] 9488 0078 5368 ldr r3, [r2, #4] 9489 007a 23F07F43 bic r3, r3, #-16777216 9490 007e 43EA0663 orr r3, r3, r6, lsl #24 9491 0082 5360 str r3, [r2, #4] 9492 0084 DFE7 b .L481 9493 .LVL827: 9494 .L482: 9495 .cfi_def_cfa_offset 0 9496 .cfi_restore 4 9497 .cfi_restore 5 9498 .cfi_restore 6 9499 .cfi_restore 14 537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9500 .loc 1 537 12 is_stmt 0 view .LVU3142 9501 0086 0120 movs r0, #1 9502 .LVL828: 598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9503 .loc 1 598 1 view .LVU3143 9504 0088 7047 bx lr 9505 .cfi_endproc 9506 .LFE133: 9508 .section .text.HAL_MultiProcessor_EnableMuteMode,"ax",%progbits 9509 .align 1 9510 .global HAL_MultiProcessor_EnableMuteMode 9511 .syntax unified 9512 .thumb 9513 .thumb_func 9515 HAL_MultiProcessor_EnableMuteMode: 9516 .LVL829: 9517 .LFB165: 2665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart); 9518 .loc 1 2665 1 is_stmt 1 view -0 9519 .cfi_startproc 9520 @ args = 0, pretend = 0, frame = 0 9521 @ frame_needed = 0, uses_anonymous_args = 0 2665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart); 9522 .loc 1 2665 1 is_stmt 0 view .LVU3145 9523 0000 08B5 push {r3, lr} 9524 .cfi_def_cfa_offset 8 9525 .cfi_offset 3, -8 9526 .cfi_offset 14, -4 2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9527 .loc 1 2666 3 is_stmt 1 view .LVU3146 2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9528 .loc 1 2666 3 view .LVU3147 9529 0002 90F87830 ldrb r3, [r0, #120] @ zero_extendqisi2 9530 0006 012B cmp r3, #1 9531 0008 12D0 beq .L493 2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9532 .loc 1 2666 3 discriminator 2 view .LVU3148 9533 000a 0123 movs r3, #1 9534 000c 80F87830 strb r3, [r0, #120] 2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9535 .loc 1 2666 3 discriminator 2 view .LVU3149 2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 307 9536 .loc 1 2668 3 discriminator 2 view .LVU3150 2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9537 .loc 1 2668 17 is_stmt 0 discriminator 2 view .LVU3151 9538 0010 2423 movs r3, #36 9539 0012 C367 str r3, [r0, #124] 9540 .L492: 2671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9541 .loc 1 2671 3 is_stmt 1 discriminator 1 view .LVU3152 9542 .LBB777: 2671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9543 .loc 1 2671 3 discriminator 1 view .LVU3153 2671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9544 .loc 1 2671 3 discriminator 1 view .LVU3154 2671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9545 .loc 1 2671 3 discriminator 1 view .LVU3155 9546 0014 0268 ldr r2, [r0] 9547 .LVL830: 9548 .LBB778: 9549 .LBI778: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9550 .loc 2 1068 31 discriminator 1 view .LVU3156 9551 .LBB779: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 9552 .loc 2 1070 5 discriminator 1 view .LVU3157 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9553 .loc 2 1072 4 discriminator 1 view .LVU3158 9554 .syntax unified 9555 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9556 0016 52E8003F ldrex r3, [r2] 9557 @ 0 "" 2 9558 .LVL831: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9559 .loc 2 1073 4 discriminator 1 view .LVU3159 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9560 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU3160 9561 .thumb 9562 .syntax unified 9563 .LBE779: 9564 .LBE778: 2671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9565 .loc 1 2671 3 discriminator 1 view .LVU3161 9566 001a 43F40053 orr r3, r3, #8192 9567 .LVL832: 2671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9568 .loc 1 2671 3 is_stmt 1 discriminator 1 view .LVU3162 9569 .LBB780: 9570 .LBI780: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9571 .loc 2 1119 31 discriminator 1 view .LVU3163 9572 .LBB781: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 9573 .loc 2 1121 4 discriminator 1 view .LVU3164 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9574 .loc 2 1123 4 discriminator 1 view .LVU3165 9575 .syntax unified 9576 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9577 001e 42E80031 strex r1, r3, [r2] ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 308 9578 @ 0 "" 2 9579 .LVL833: 9580 .loc 2 1124 4 discriminator 1 view .LVU3166 9581 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU3167 9582 .thumb 9583 .syntax unified 9584 .LBE781: 9585 .LBE780: 2671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9586 .loc 1 2671 3 discriminator 1 view .LVU3168 9587 0022 0029 cmp r1, #0 9588 0024 F6D1 bne .L492 9589 .LBE777: 2671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9590 .loc 1 2671 3 is_stmt 1 discriminator 2 view .LVU3169 2673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9591 .loc 1 2673 3 discriminator 2 view .LVU3170 2673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9592 .loc 1 2673 17 is_stmt 0 discriminator 2 view .LVU3171 9593 0026 2023 movs r3, #32 9594 .LVL834: 2673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9595 .loc 1 2673 17 discriminator 2 view .LVU3172 9596 0028 C367 str r3, [r0, #124] 2675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9597 .loc 1 2675 3 is_stmt 1 discriminator 2 view .LVU3173 2675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9598 .loc 1 2675 11 is_stmt 0 discriminator 2 view .LVU3174 9599 002a FFF7FEFF bl UART_CheckIdleState 9600 .LVL835: 9601 .L491: 2676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9602 .loc 1 2676 1 view .LVU3175 9603 002e 08BD pop {r3, pc} 9604 .LVL836: 9605 .L493: 2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9606 .loc 1 2666 3 view .LVU3176 9607 0030 0220 movs r0, #2 9608 .LVL837: 2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9609 .loc 1 2666 3 view .LVU3177 9610 0032 FCE7 b .L491 9611 .cfi_endproc 9612 .LFE165: 9614 .section .text.HAL_MultiProcessor_DisableMuteMode,"ax",%progbits 9615 .align 1 9616 .global HAL_MultiProcessor_DisableMuteMode 9617 .syntax unified 9618 .thumb 9619 .thumb_func 9621 HAL_MultiProcessor_DisableMuteMode: 9622 .LVL838: 9623 .LFB166: 2685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart); 9624 .loc 1 2685 1 is_stmt 1 view -0 9625 .cfi_startproc ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 309 9626 @ args = 0, pretend = 0, frame = 0 9627 @ frame_needed = 0, uses_anonymous_args = 0 2685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart); 9628 .loc 1 2685 1 is_stmt 0 view .LVU3179 9629 0000 08B5 push {r3, lr} 9630 .cfi_def_cfa_offset 8 9631 .cfi_offset 3, -8 9632 .cfi_offset 14, -4 2686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9633 .loc 1 2686 3 is_stmt 1 view .LVU3180 2686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9634 .loc 1 2686 3 view .LVU3181 9635 0002 90F87830 ldrb r3, [r0, #120] @ zero_extendqisi2 9636 0006 012B cmp r3, #1 9637 0008 12D0 beq .L498 2686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9638 .loc 1 2686 3 discriminator 2 view .LVU3182 9639 000a 0123 movs r3, #1 9640 000c 80F87830 strb r3, [r0, #120] 2686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9641 .loc 1 2686 3 discriminator 2 view .LVU3183 2688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9642 .loc 1 2688 3 discriminator 2 view .LVU3184 2688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9643 .loc 1 2688 17 is_stmt 0 discriminator 2 view .LVU3185 9644 0010 2423 movs r3, #36 9645 0012 C367 str r3, [r0, #124] 9646 .L497: 2691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9647 .loc 1 2691 3 is_stmt 1 discriminator 1 view .LVU3186 9648 .LBB782: 2691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9649 .loc 1 2691 3 discriminator 1 view .LVU3187 2691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9650 .loc 1 2691 3 discriminator 1 view .LVU3188 2691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9651 .loc 1 2691 3 discriminator 1 view .LVU3189 9652 0014 0268 ldr r2, [r0] 9653 .LVL839: 9654 .LBB783: 9655 .LBI783: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9656 .loc 2 1068 31 discriminator 1 view .LVU3190 9657 .LBB784: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 9658 .loc 2 1070 5 discriminator 1 view .LVU3191 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9659 .loc 2 1072 4 discriminator 1 view .LVU3192 9660 .syntax unified 9661 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9662 0016 52E8003F ldrex r3, [r2] 9663 @ 0 "" 2 9664 .LVL840: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9665 .loc 2 1073 4 discriminator 1 view .LVU3193 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9666 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU3194 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 310 9667 .thumb 9668 .syntax unified 9669 .LBE784: 9670 .LBE783: 2691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9671 .loc 1 2691 3 discriminator 1 view .LVU3195 9672 001a 23F40053 bic r3, r3, #8192 9673 .LVL841: 2691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9674 .loc 1 2691 3 is_stmt 1 discriminator 1 view .LVU3196 9675 .LBB785: 9676 .LBI785: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9677 .loc 2 1119 31 discriminator 1 view .LVU3197 9678 .LBB786: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 9679 .loc 2 1121 4 discriminator 1 view .LVU3198 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9680 .loc 2 1123 4 discriminator 1 view .LVU3199 9681 .syntax unified 9682 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9683 001e 42E80031 strex r1, r3, [r2] 9684 @ 0 "" 2 9685 .LVL842: 9686 .loc 2 1124 4 discriminator 1 view .LVU3200 9687 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU3201 9688 .thumb 9689 .syntax unified 9690 .LBE786: 9691 .LBE785: 2691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9692 .loc 1 2691 3 discriminator 1 view .LVU3202 9693 0022 0029 cmp r1, #0 9694 0024 F6D1 bne .L497 9695 .LBE782: 2691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9696 .loc 1 2691 3 is_stmt 1 discriminator 2 view .LVU3203 2693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9697 .loc 1 2693 3 discriminator 2 view .LVU3204 2693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9698 .loc 1 2693 17 is_stmt 0 discriminator 2 view .LVU3205 9699 0026 2023 movs r3, #32 9700 .LVL843: 2693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9701 .loc 1 2693 17 discriminator 2 view .LVU3206 9702 0028 C367 str r3, [r0, #124] 2695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9703 .loc 1 2695 3 is_stmt 1 discriminator 2 view .LVU3207 2695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9704 .loc 1 2695 11 is_stmt 0 discriminator 2 view .LVU3208 9705 002a FFF7FEFF bl UART_CheckIdleState 9706 .LVL844: 9707 .L496: 2696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9708 .loc 1 2696 1 view .LVU3209 9709 002e 08BD pop {r3, pc} 9710 .LVL845: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 311 9711 .L498: 2686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9712 .loc 1 2686 3 view .LVU3210 9713 0030 0220 movs r0, #2 9714 .LVL846: 2686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9715 .loc 1 2686 3 view .LVU3211 9716 0032 FCE7 b .L496 9717 .cfi_endproc 9718 .LFE166: 9720 .section .text.UART_Start_Receive_IT,"ax",%progbits 9721 .align 1 9722 .global UART_Start_Receive_IT 9723 .syntax unified 9724 .thumb 9725 .thumb_func 9727 UART_Start_Receive_IT: 9728 .LVL847: 9729 .LFB177: 3222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr = pData; 9730 .loc 1 3222 1 is_stmt 1 view -0 9731 .cfi_startproc 9732 @ args = 0, pretend = 0, frame = 0 9733 @ frame_needed = 0, uses_anonymous_args = 0 9734 @ link register save eliminated. 3223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferSize = Size; 9735 .loc 1 3223 3 view .LVU3213 3223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferSize = Size; 9736 .loc 1 3223 22 is_stmt 0 view .LVU3214 9737 0000 4165 str r1, [r0, #84] 3224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = Size; 9738 .loc 1 3224 3 is_stmt 1 view .LVU3215 3224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = Size; 9739 .loc 1 3224 22 is_stmt 0 view .LVU3216 9740 0002 A0F85820 strh r2, [r0, #88] @ movhi 3225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = NULL; 9741 .loc 1 3225 3 is_stmt 1 view .LVU3217 3225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = NULL; 9742 .loc 1 3225 22 is_stmt 0 view .LVU3218 9743 0006 A0F85A20 strh r2, [r0, #90] @ movhi 3226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9744 .loc 1 3226 3 is_stmt 1 view .LVU3219 3226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9745 .loc 1 3226 22 is_stmt 0 view .LVU3220 9746 000a 0023 movs r3, #0 9747 000c 8366 str r3, [r0, #104] 3229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9748 .loc 1 3229 3 is_stmt 1 view .LVU3221 3229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9749 .loc 1 3229 3 view .LVU3222 9750 000e 8368 ldr r3, [r0, #8] 9751 0010 B3F5805F cmp r3, #4096 9752 0014 06D0 beq .L512 3229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9753 .loc 1 3229 3 discriminator 2 view .LVU3223 9754 0016 A3B9 cbnz r3, .L504 3229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 312 9755 .loc 1 3229 3 discriminator 5 view .LVU3224 9756 0018 0369 ldr r3, [r0, #16] 9757 001a 73B9 cbnz r3, .L505 3229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9758 .loc 1 3229 3 discriminator 7 view .LVU3225 9759 001c FF23 movs r3, #255 9760 001e A0F85C30 strh r3, [r0, #92] @ movhi 9761 0022 11E0 b .L503 9762 .L512: 3229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9763 .loc 1 3229 3 discriminator 1 view .LVU3226 9764 0024 0369 ldr r3, [r0, #16] 9765 0026 23B9 cbnz r3, .L502 3229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9766 .loc 1 3229 3 discriminator 3 view .LVU3227 9767 0028 40F2FF13 movw r3, #511 9768 002c A0F85C30 strh r3, [r0, #92] @ movhi 9769 0030 0AE0 b .L503 9770 .L502: 3229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9771 .loc 1 3229 3 discriminator 4 view .LVU3228 9772 0032 FF23 movs r3, #255 9773 0034 A0F85C30 strh r3, [r0, #92] @ movhi 9774 0038 06E0 b .L503 9775 .L505: 3229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9776 .loc 1 3229 3 discriminator 8 view .LVU3229 9777 003a 7F23 movs r3, #127 9778 003c A0F85C30 strh r3, [r0, #92] @ movhi 9779 0040 02E0 b .L503 9780 .L504: 3229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9781 .loc 1 3229 3 discriminator 6 view .LVU3230 9782 0042 0023 movs r3, #0 9783 0044 A0F85C30 strh r3, [r0, #92] @ movhi 9784 .L503: 3229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9785 .loc 1 3229 3 discriminator 9 view .LVU3231 3231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 9786 .loc 1 3231 3 discriminator 9 view .LVU3232 3231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 9787 .loc 1 3231 20 is_stmt 0 discriminator 9 view .LVU3233 9788 0048 0023 movs r3, #0 9789 004a C0F88430 str r3, [r0, #132] 3232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9790 .loc 1 3232 3 is_stmt 1 discriminator 9 view .LVU3234 3232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9791 .loc 1 3232 18 is_stmt 0 discriminator 9 view .LVU3235 9792 004e 2223 movs r3, #34 9793 0050 C0F88030 str r3, [r0, #128] 9794 .LVL848: 9795 .L506: 3235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9796 .loc 1 3235 3 is_stmt 1 discriminator 1 view .LVU3236 9797 .LBB787: 3235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9798 .loc 1 3235 3 discriminator 1 view .LVU3237 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 313 3235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9799 .loc 1 3235 3 discriminator 1 view .LVU3238 3235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9800 .loc 1 3235 3 discriminator 1 view .LVU3239 9801 0054 0268 ldr r2, [r0] 9802 .LVL849: 9803 .LBB788: 9804 .LBI788: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9805 .loc 2 1068 31 discriminator 1 view .LVU3240 9806 .LBB789: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 9807 .loc 2 1070 5 discriminator 1 view .LVU3241 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9808 .loc 2 1072 4 discriminator 1 view .LVU3242 9809 0056 02F10803 add r3, r2, #8 9810 .LVL850: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9811 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU3243 9812 .syntax unified 9813 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9814 005a 53E8003F ldrex r3, [r3] 9815 @ 0 "" 2 9816 .LVL851: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9817 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU3244 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9818 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU3245 9819 .thumb 9820 .syntax unified 9821 .LBE789: 9822 .LBE788: 3235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9823 .loc 1 3235 3 discriminator 1 view .LVU3246 9824 005e 43F00103 orr r3, r3, #1 9825 .LVL852: 3235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9826 .loc 1 3235 3 is_stmt 1 discriminator 1 view .LVU3247 9827 .LBB790: 9828 .LBI790: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9829 .loc 2 1119 31 discriminator 1 view .LVU3248 9830 .LBB791: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 9831 .loc 2 1121 4 discriminator 1 view .LVU3249 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9832 .loc 2 1123 4 discriminator 1 view .LVU3250 9833 0062 0832 adds r2, r2, #8 9834 .LVL853: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9835 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU3251 9836 .syntax unified 9837 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9838 0064 42E80031 strex r1, r3, [r2] 9839 @ 0 "" 2 9840 .LVL854: 9841 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU3252 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 314 9842 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU3253 9843 .thumb 9844 .syntax unified 9845 .LBE791: 9846 .LBE790: 3235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9847 .loc 1 3235 3 discriminator 1 view .LVU3254 9848 0068 0029 cmp r1, #0 9849 006a F3D1 bne .L506 9850 .LBE787: 3235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9851 .loc 1 3235 3 is_stmt 1 discriminator 2 view .LVU3255 3238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9852 .loc 1 3238 3 discriminator 2 view .LVU3256 3238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9853 .loc 1 3238 19 is_stmt 0 discriminator 2 view .LVU3257 9854 006c 8368 ldr r3, [r0, #8] 9855 .LVL855: 3238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9856 .loc 1 3238 6 discriminator 2 view .LVU3258 9857 006e B3F5805F cmp r3, #4096 9858 0072 0ED0 beq .L513 9859 .L507: 3244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9860 .loc 1 3244 5 is_stmt 1 view .LVU3259 3244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9861 .loc 1 3244 18 is_stmt 0 view .LVU3260 9862 0074 0F4B ldr r3, .L514 9863 0076 8366 str r3, [r0, #104] 9864 .L508: 3248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9865 .loc 1 3248 3 is_stmt 1 view .LVU3261 3248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9866 .loc 1 3248 18 is_stmt 0 view .LVU3262 9867 0078 0369 ldr r3, [r0, #16] 3248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9868 .loc 1 3248 6 view .LVU3263 9869 007a 83B1 cbz r3, .L509 9870 .L510: 3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9871 .loc 1 3250 5 is_stmt 1 discriminator 1 view .LVU3264 9872 .LBB792: 3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9873 .loc 1 3250 5 discriminator 1 view .LVU3265 3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9874 .loc 1 3250 5 discriminator 1 view .LVU3266 3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9875 .loc 1 3250 5 discriminator 1 view .LVU3267 9876 007c 0268 ldr r2, [r0] 9877 .LVL856: 9878 .LBB793: 9879 .LBI793: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9880 .loc 2 1068 31 discriminator 1 view .LVU3268 9881 .LBB794: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 9882 .loc 2 1070 5 discriminator 1 view .LVU3269 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 315 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9883 .loc 2 1072 4 discriminator 1 view .LVU3270 9884 .syntax unified 9885 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9886 007e 52E8003F ldrex r3, [r2] 9887 @ 0 "" 2 9888 .LVL857: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9889 .loc 2 1073 4 discriminator 1 view .LVU3271 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9890 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU3272 9891 .thumb 9892 .syntax unified 9893 .LBE794: 9894 .LBE793: 3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9895 .loc 1 3250 5 discriminator 1 view .LVU3273 9896 0082 43F49073 orr r3, r3, #288 9897 .LVL858: 3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9898 .loc 1 3250 5 is_stmt 1 discriminator 1 view .LVU3274 9899 .LBB795: 9900 .LBI795: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9901 .loc 2 1119 31 discriminator 1 view .LVU3275 9902 .LBB796: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 9903 .loc 2 1121 4 discriminator 1 view .LVU3276 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9904 .loc 2 1123 4 discriminator 1 view .LVU3277 9905 .syntax unified 9906 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9907 0086 42E80031 strex r1, r3, [r2] 9908 @ 0 "" 2 9909 .LVL859: 9910 .loc 2 1124 4 discriminator 1 view .LVU3278 9911 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU3279 9912 .thumb 9913 .syntax unified 9914 .LBE796: 9915 .LBE795: 3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9916 .loc 1 3250 5 discriminator 1 view .LVU3280 9917 008a 0029 cmp r1, #0 9918 008c F6D1 bne .L510 9919 .LVL860: 9920 .L511: 3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9921 .loc 1 3250 5 discriminator 1 view .LVU3281 9922 .LBE792: 3254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9923 .loc 1 3254 5 is_stmt 1 discriminator 2 view .LVU3282 3256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9924 .loc 1 3256 3 discriminator 2 view .LVU3283 3257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9925 .loc 1 3257 1 is_stmt 0 discriminator 2 view .LVU3284 9926 008e 0020 movs r0, #0 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 316 9927 .LVL861: 3257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9928 .loc 1 3257 1 discriminator 2 view .LVU3285 9929 0090 7047 bx lr 9930 .LVL862: 9931 .L513: 3238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9932 .loc 1 3238 69 discriminator 1 view .LVU3286 9933 0092 0369 ldr r3, [r0, #16] 3238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9934 .loc 1 3238 54 discriminator 1 view .LVU3287 9935 0094 002B cmp r3, #0 9936 0096 EDD1 bne .L507 3240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9937 .loc 1 3240 5 is_stmt 1 view .LVU3288 3240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9938 .loc 1 3240 18 is_stmt 0 view .LVU3289 9939 0098 074B ldr r3, .L514+4 9940 009a 8366 str r3, [r0, #104] 9941 009c ECE7 b .L508 9942 .L509: 3254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9943 .loc 1 3254 5 is_stmt 1 discriminator 1 view .LVU3290 9944 .LBB797: 3254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9945 .loc 1 3254 5 discriminator 1 view .LVU3291 3254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9946 .loc 1 3254 5 discriminator 1 view .LVU3292 3254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9947 .loc 1 3254 5 discriminator 1 view .LVU3293 9948 009e 0268 ldr r2, [r0] 9949 .LVL863: 9950 .LBB798: 9951 .LBI798: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9952 .loc 2 1068 31 discriminator 1 view .LVU3294 9953 .LBB799: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 9954 .loc 2 1070 5 discriminator 1 view .LVU3295 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9955 .loc 2 1072 4 discriminator 1 view .LVU3296 9956 .syntax unified 9957 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9958 00a0 52E8003F ldrex r3, [r2] 9959 @ 0 "" 2 9960 .LVL864: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9961 .loc 2 1073 4 discriminator 1 view .LVU3297 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9962 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU3298 9963 .thumb 9964 .syntax unified 9965 .LBE799: 9966 .LBE798: 3254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9967 .loc 1 3254 5 discriminator 1 view .LVU3299 9968 00a4 43F02003 orr r3, r3, #32 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 317 9969 .LVL865: 3254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9970 .loc 1 3254 5 is_stmt 1 discriminator 1 view .LVU3300 9971 .LBB800: 9972 .LBI800: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9973 .loc 2 1119 31 discriminator 1 view .LVU3301 9974 .LBB801: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 9975 .loc 2 1121 4 discriminator 1 view .LVU3302 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9976 .loc 2 1123 4 discriminator 1 view .LVU3303 9977 .syntax unified 9978 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9979 00a8 42E80031 strex r1, r3, [r2] 9980 @ 0 "" 2 9981 .LVL866: 9982 .loc 2 1124 4 discriminator 1 view .LVU3304 9983 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU3305 9984 .thumb 9985 .syntax unified 9986 .LBE801: 9987 .LBE800: 3254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9988 .loc 1 3254 5 discriminator 1 view .LVU3306 9989 00ac 0029 cmp r1, #0 9990 00ae F6D1 bne .L509 9991 00b0 EDE7 b .L511 9992 .L515: 9993 00b2 00BF .align 2 9994 .L514: 9995 00b4 00000000 .word UART_RxISR_8BIT 9996 00b8 00000000 .word UART_RxISR_16BIT 9997 .LBE797: 9998 .cfi_endproc 9999 .LFE177: 10001 .section .text.HAL_UART_Receive_IT,"ax",%progbits 10002 .align 1 10003 .global HAL_UART_Receive_IT 10004 .syntax unified 10005 .thumb 10006 .thumb_func 10008 HAL_UART_Receive_IT: 10009 .LVL867: 10010 .LFB140: 1299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 10011 .loc 1 1299 1 is_stmt 1 view -0 10012 .cfi_startproc 10013 @ args = 0, pretend = 0, frame = 0 10014 @ frame_needed = 0, uses_anonymous_args = 0 1299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 10015 .loc 1 1299 1 is_stmt 0 view .LVU3308 10016 0000 38B5 push {r3, r4, r5, lr} 10017 .cfi_def_cfa_offset 16 10018 .cfi_offset 3, -16 10019 .cfi_offset 4, -12 10020 .cfi_offset 5, -8 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 318 10021 .cfi_offset 14, -4 1301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10022 .loc 1 1301 3 is_stmt 1 view .LVU3309 1301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10023 .loc 1 1301 12 is_stmt 0 view .LVU3310 10024 0002 D0F88030 ldr r3, [r0, #128] 1301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10025 .loc 1 1301 6 view .LVU3311 10026 0006 202B cmp r3, #32 10027 0008 14D1 bne .L520 1303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10028 .loc 1 1303 5 is_stmt 1 view .LVU3312 1303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10029 .loc 1 1303 8 is_stmt 0 view .LVU3313 10030 000a A9B1 cbz r1, .L521 1303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10031 .loc 1 1303 25 discriminator 1 view .LVU3314 10032 000c B2B1 cbz r2, .L522 1309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10033 .loc 1 1309 5 is_stmt 1 view .LVU3315 1309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10034 .loc 1 1309 26 is_stmt 0 view .LVU3316 10035 000e 0023 movs r3, #0 10036 0010 0366 str r3, [r0, #96] 1312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10037 .loc 1 1312 5 is_stmt 1 view .LVU3317 1312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10038 .loc 1 1312 9 is_stmt 0 view .LVU3318 10039 0012 0368 ldr r3, [r0] 10040 0014 5B68 ldr r3, [r3, #4] 1312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10041 .loc 1 1312 8 view .LVU3319 10042 0016 13F4000F tst r3, #8388608 10043 001a 08D0 beq .L518 10044 .L519: 1315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10045 .loc 1 1315 7 is_stmt 1 discriminator 1 view .LVU3320 10046 .LBB802: 1315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10047 .loc 1 1315 7 discriminator 1 view .LVU3321 1315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10048 .loc 1 1315 7 discriminator 1 view .LVU3322 1315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10049 .loc 1 1315 7 discriminator 1 view .LVU3323 10050 001c 0468 ldr r4, [r0] 10051 .LVL868: 10052 .LBB803: 10053 .LBI803: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10054 .loc 2 1068 31 discriminator 1 view .LVU3324 10055 .LBB804: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 10056 .loc 2 1070 5 discriminator 1 view .LVU3325 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10057 .loc 2 1072 4 discriminator 1 view .LVU3326 10058 .syntax unified 10059 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 319 10060 001e 54E8003F ldrex r3, [r4] 10061 @ 0 "" 2 10062 .LVL869: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10063 .loc 2 1073 4 discriminator 1 view .LVU3327 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10064 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU3328 10065 .thumb 10066 .syntax unified 10067 .LBE804: 10068 .LBE803: 1315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10069 .loc 1 1315 7 discriminator 1 view .LVU3329 10070 0022 43F08063 orr r3, r3, #67108864 10071 .LVL870: 1315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10072 .loc 1 1315 7 is_stmt 1 discriminator 1 view .LVU3330 10073 .LBB805: 10074 .LBI805: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10075 .loc 2 1119 31 discriminator 1 view .LVU3331 10076 .LBB806: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 10077 .loc 2 1121 4 discriminator 1 view .LVU3332 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10078 .loc 2 1123 4 discriminator 1 view .LVU3333 10079 .syntax unified 10080 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10081 0026 44E80035 strex r5, r3, [r4] 10082 @ 0 "" 2 10083 .LVL871: 10084 .loc 2 1124 4 discriminator 1 view .LVU3334 10085 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU3335 10086 .thumb 10087 .syntax unified 10088 .LBE806: 10089 .LBE805: 1315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10090 .loc 1 1315 7 discriminator 1 view .LVU3336 10091 002a 002D cmp r5, #0 10092 002c F6D1 bne .L519 10093 .LVL872: 10094 .L518: 1315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10095 .loc 1 1315 7 discriminator 1 view .LVU3337 10096 .LBE802: 1315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10097 .loc 1 1315 7 is_stmt 1 discriminator 2 view .LVU3338 1318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10098 .loc 1 1318 5 discriminator 2 view .LVU3339 1318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10099 .loc 1 1318 13 is_stmt 0 discriminator 2 view .LVU3340 10100 002e FFF7FEFF bl UART_Start_Receive_IT 10101 .LVL873: 1318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10102 .loc 1 1318 13 discriminator 2 view .LVU3341 10103 0032 00E0 b .L517 ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 320 10104 .LVL874: 10105 .L520: 1322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10106 .loc 1 1322 12 view .LVU3342 10107 0034 0220 movs r0, #2 10108 .LVL875: 10109 .L517: 1324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10110 .loc 1 1324 1 view .LVU3343 10111 0036 38BD pop {r3, r4, r5, pc} 10112 .LVL876: 10113 .L521: 1305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10114 .loc 1 1305 14 view .LVU3344 10115 0038 0120 movs r0, #1 10116 .LVL877: 1305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10117 .loc 1 1305 14 view .LVU3345 10118 003a FCE7 b .L517 10119 .LVL878: 10120 .L522: 1305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10121 .loc 1 1305 14 view .LVU3346 10122 003c 0120 movs r0, #1 10123 .LVL879: 1305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10124 .loc 1 1305 14 view .LVU3347 10125 003e FAE7 b .L517 10126 .cfi_endproc 10127 .LFE140: 10129 .section .text.UART_Start_Receive_DMA,"ax",%progbits 10130 .align 1 10131 .global UART_Start_Receive_DMA 10132 .syntax unified 10133 .thumb 10134 .thumb_func 10136 UART_Start_Receive_DMA: 10137 .LVL880: 10138 .LFB178: 3271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr = pData; 10139 .loc 1 3271 1 is_stmt 1 view -0 10140 .cfi_startproc 10141 @ args = 0, pretend = 0, frame = 0 10142 @ frame_needed = 0, uses_anonymous_args = 0 3271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr = pData; 10143 .loc 1 3271 1 is_stmt 0 view .LVU3349 10144 0000 10B5 push {r4, lr} 10145 .cfi_def_cfa_offset 8 10146 .cfi_offset 4, -8 10147 .cfi_offset 14, -4 10148 0002 0446 mov r4, r0 10149 0004 1346 mov r3, r2 3272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferSize = Size; 10150 .loc 1 3272 3 is_stmt 1 view .LVU3350 3272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferSize = Size; 10151 .loc 1 3272 21 is_stmt 0 view .LVU3351 10152 0006 4165 str r1, [r0, #84] ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 321 3273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10153 .loc 1 3273 3 is_stmt 1 view .LVU3352 3273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10154 .loc 1 3273 21 is_stmt 0 view .LVU3353 10155 0008 A0F85820 strh r2, [r0, #88] @ movhi 3275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 10156 .loc 1 3275 3 is_stmt 1 view .LVU3354 3275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 10157 .loc 1 3275 20 is_stmt 0 view .LVU3355 10158 000c 0022 movs r2, #0 10159 .LVL881: 3275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 10160 .loc 1 3275 20 view .LVU3356 10161 000e C0F88420 str r2, [r0, #132] 3276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10162 .loc 1 3276 3 is_stmt 1 view .LVU3357 3276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10163 .loc 1 3276 18 is_stmt 0 view .LVU3358 10164 0012 2222 movs r2, #34 10165 0014 C0F88020 str r2, [r0, #128] 3278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10166 .loc 1 3278 3 is_stmt 1 view .LVU3359 3278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10167 .loc 1 3278 12 is_stmt 0 view .LVU3360 10168 0018 426F ldr r2, [r0, #116] 3278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10169 .loc 1 3278 6 view .LVU3361 10170 001a 8AB1 cbz r2, .L525 3281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10171 .loc 1 3281 5 is_stmt 1 view .LVU3362 3281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10172 .loc 1 3281 37 is_stmt 0 view .LVU3363 10173 001c 1F49 ldr r1, .L533 10174 .LVL882: 3281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10175 .loc 1 3281 37 view .LVU3364 10176 001e 9162 str r1, [r2, #40] 10177 .LVL883: 3284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10178 .loc 1 3284 5 is_stmt 1 view .LVU3365 3284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10179 .loc 1 3284 10 is_stmt 0 view .LVU3366 10180 0020 426F ldr r2, [r0, #116] 3284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10181 .loc 1 3284 41 view .LVU3367 10182 0022 1F49 ldr r1, .L533+4 10183 0024 D162 str r1, [r2, #44] 3287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10184 .loc 1 3287 5 is_stmt 1 view .LVU3368 3287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10185 .loc 1 3287 10 is_stmt 0 view .LVU3369 10186 0026 426F ldr r2, [r0, #116] 3287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10187 .loc 1 3287 38 view .LVU3370 10188 0028 1E49 ldr r1, .L533+8 10189 002a 1163 str r1, [r2, #48] 3290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 322 10190 .loc 1 3290 5 is_stmt 1 view .LVU3371 3290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10191 .loc 1 3290 10 is_stmt 0 view .LVU3372 10192 002c 426F ldr r2, [r0, #116] 3290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10193 .loc 1 3290 38 view .LVU3373 10194 002e 0021 movs r1, #0 10195 0030 5163 str r1, [r2, #52] 3293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10196 .loc 1 3293 5 is_stmt 1 view .LVU3374 3293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10197 .loc 1 3293 57 is_stmt 0 view .LVU3375 10198 0032 0168 ldr r1, [r0] 3293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10199 .loc 1 3293 9 view .LVU3376 10200 0034 426D ldr r2, [r0, #84] 10201 0036 2431 adds r1, r1, #36 10202 0038 406F ldr r0, [r0, #116] 10203 .LVL884: 3293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10204 .loc 1 3293 9 view .LVU3377 10205 003a FFF7FEFF bl HAL_DMA_Start_IT 10206 .LVL885: 3293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10207 .loc 1 3293 8 view .LVU3378 10208 003e 20BB cbnz r0, .L532 10209 .L525: 3306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10210 .loc 1 3306 3 is_stmt 1 view .LVU3379 3306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10211 .loc 1 3306 18 is_stmt 0 view .LVU3380 10212 0040 2369 ldr r3, [r4, #16] 3306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10213 .loc 1 3306 6 view .LVU3381 10214 0042 43B1 cbz r3, .L529 10215 .L528: 3308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10216 .loc 1 3308 5 is_stmt 1 discriminator 1 view .LVU3382 10217 .LBB807: 3308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10218 .loc 1 3308 5 discriminator 1 view .LVU3383 3308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10219 .loc 1 3308 5 discriminator 1 view .LVU3384 3308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10220 .loc 1 3308 5 discriminator 1 view .LVU3385 10221 0044 2268 ldr r2, [r4] 10222 .LVL886: 10223 .LBB808: 10224 .LBI808: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10225 .loc 2 1068 31 discriminator 1 view .LVU3386 10226 .LBB809: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 10227 .loc 2 1070 5 discriminator 1 view .LVU3387 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10228 .loc 2 1072 4 discriminator 1 view .LVU3388 10229 .syntax unified ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 323 10230 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10231 0046 52E8003F ldrex r3, [r2] 10232 @ 0 "" 2 10233 .LVL887: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10234 .loc 2 1073 4 discriminator 1 view .LVU3389 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10235 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU3390 10236 .thumb 10237 .syntax unified 10238 .LBE809: 10239 .LBE808: 3308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10240 .loc 1 3308 5 discriminator 1 view .LVU3391 10241 004a 43F48073 orr r3, r3, #256 10242 .LVL888: 3308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10243 .loc 1 3308 5 is_stmt 1 discriminator 1 view .LVU3392 10244 .LBB810: 10245 .LBI810: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10246 .loc 2 1119 31 discriminator 1 view .LVU3393 10247 .LBB811: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 10248 .loc 2 1121 4 discriminator 1 view .LVU3394 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10249 .loc 2 1123 4 discriminator 1 view .LVU3395 10250 .syntax unified 10251 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10252 004e 42E80031 strex r1, r3, [r2] 10253 @ 0 "" 2 10254 .LVL889: 10255 .loc 2 1124 4 discriminator 1 view .LVU3396 10256 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU3397 10257 .thumb 10258 .syntax unified 10259 .LBE811: 10260 .LBE810: 3308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10261 .loc 1 3308 5 discriminator 1 view .LVU3398 10262 0052 0029 cmp r1, #0 10263 0054 F6D1 bne .L528 10264 .LVL890: 10265 .L529: 3308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10266 .loc 1 3308 5 discriminator 1 view .LVU3399 10267 .LBE807: 3308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10268 .loc 1 3308 5 is_stmt 1 discriminator 1 view .LVU3400 3312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10269 .loc 1 3312 3 discriminator 1 view .LVU3401 10270 .LBB812: 3312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10271 .loc 1 3312 3 discriminator 1 view .LVU3402 3312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10272 .loc 1 3312 3 discriminator 1 view .LVU3403 3312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 324 10273 .loc 1 3312 3 discriminator 1 view .LVU3404 10274 0056 2268 ldr r2, [r4] 10275 .LVL891: 10276 .LBB813: 10277 .LBI813: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10278 .loc 2 1068 31 discriminator 1 view .LVU3405 10279 .LBB814: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 10280 .loc 2 1070 5 discriminator 1 view .LVU3406 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10281 .loc 2 1072 4 discriminator 1 view .LVU3407 10282 0058 02F10803 add r3, r2, #8 10283 .LVL892: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10284 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU3408 10285 .syntax unified 10286 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10287 005c 53E8003F ldrex r3, [r3] 10288 @ 0 "" 2 10289 .LVL893: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10290 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU3409 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10291 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU3410 10292 .thumb 10293 .syntax unified 10294 .LBE814: 10295 .LBE813: 3312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10296 .loc 1 3312 3 discriminator 1 view .LVU3411 10297 0060 43F00103 orr r3, r3, #1 10298 .LVL894: 3312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10299 .loc 1 3312 3 is_stmt 1 discriminator 1 view .LVU3412 10300 .LBB815: 10301 .LBI815: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10302 .loc 2 1119 31 discriminator 1 view .LVU3413 10303 .LBB816: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 10304 .loc 2 1121 4 discriminator 1 view .LVU3414 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10305 .loc 2 1123 4 discriminator 1 view .LVU3415 10306 0064 0832 adds r2, r2, #8 10307 .LVL895: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10308 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU3416 10309 .syntax unified 10310 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10311 0066 42E80031 strex r1, r3, [r2] 10312 @ 0 "" 2 10313 .LVL896: 10314 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU3417 10315 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU3418 10316 .thumb 10317 .syntax unified ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 325 10318 .LBE816: 10319 .LBE815: 3312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10320 .loc 1 3312 3 discriminator 1 view .LVU3419 10321 006a 0029 cmp r1, #0 10322 006c F3D1 bne .L529 10323 .LVL897: 10324 .L530: 3312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10325 .loc 1 3312 3 discriminator 1 view .LVU3420 10326 .LBE812: 3312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10327 .loc 1 3312 3 is_stmt 1 discriminator 1 view .LVU3421 3316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10328 .loc 1 3316 3 discriminator 1 view .LVU3422 10329 .LBB817: 3316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10330 .loc 1 3316 3 discriminator 1 view .LVU3423 3316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10331 .loc 1 3316 3 discriminator 1 view .LVU3424 3316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10332 .loc 1 3316 3 discriminator 1 view .LVU3425 10333 006e 2268 ldr r2, [r4] 10334 .LVL898: 10335 .LBB818: 10336 .LBI818: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10337 .loc 2 1068 31 discriminator 1 view .LVU3426 10338 .LBB819: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 10339 .loc 2 1070 5 discriminator 1 view .LVU3427 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10340 .loc 2 1072 4 discriminator 1 view .LVU3428 10341 0070 02F10803 add r3, r2, #8 10342 .LVL899: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10343 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU3429 10344 .syntax unified 10345 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10346 0074 53E8003F ldrex r3, [r3] 10347 @ 0 "" 2 10348 .LVL900: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10349 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU3430 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10350 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU3431 10351 .thumb 10352 .syntax unified 10353 .LBE819: 10354 .LBE818: 3316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10355 .loc 1 3316 3 discriminator 1 view .LVU3432 10356 0078 43F04003 orr r3, r3, #64 10357 .LVL901: 3316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10358 .loc 1 3316 3 is_stmt 1 discriminator 1 view .LVU3433 10359 .LBB820: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 326 10360 .LBI820: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10361 .loc 2 1119 31 discriminator 1 view .LVU3434 10362 .LBB821: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 10363 .loc 2 1121 4 discriminator 1 view .LVU3435 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10364 .loc 2 1123 4 discriminator 1 view .LVU3436 10365 007c 0832 adds r2, r2, #8 10366 .LVL902: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10367 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU3437 10368 .syntax unified 10369 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10370 007e 42E80031 strex r1, r3, [r2] 10371 @ 0 "" 2 10372 .LVL903: 10373 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU3438 10374 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU3439 10375 .thumb 10376 .syntax unified 10377 .LBE821: 10378 .LBE820: 3316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10379 .loc 1 3316 3 discriminator 1 view .LVU3440 10380 0082 0029 cmp r1, #0 10381 0084 F3D1 bne .L530 10382 .LBE817: 3318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10383 .loc 1 3318 10 view .LVU3441 10384 0086 0020 movs r0, #0 10385 .LVL904: 10386 .L526: 3319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10387 .loc 1 3319 1 view .LVU3442 10388 0088 10BD pop {r4, pc} 10389 .LVL905: 10390 .L532: 3296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10391 .loc 1 3296 7 is_stmt 1 view .LVU3443 3296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10392 .loc 1 3296 24 is_stmt 0 view .LVU3444 10393 008a 1023 movs r3, #16 10394 008c C4F88430 str r3, [r4, #132] 3299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10395 .loc 1 3299 7 is_stmt 1 view .LVU3445 3299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10396 .loc 1 3299 22 is_stmt 0 view .LVU3446 10397 0090 2023 movs r3, #32 10398 0092 C4F88030 str r3, [r4, #128] 3301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10399 .loc 1 3301 7 is_stmt 1 view .LVU3447 3301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10400 .loc 1 3301 14 is_stmt 0 view .LVU3448 10401 0096 0120 movs r0, #1 10402 0098 F6E7 b .L526 10403 .L534: ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 327 10404 009a 00BF .align 2 10405 .L533: 10406 009c 00000000 .word UART_DMAReceiveCplt 10407 00a0 00000000 .word UART_DMARxHalfCplt 10408 00a4 00000000 .word UART_DMAError 10409 .cfi_endproc 10410 .LFE178: 10412 .section .text.HAL_UART_Receive_DMA,"ax",%progbits 10413 .align 1 10414 .global HAL_UART_Receive_DMA 10415 .syntax unified 10416 .thumb 10417 .thumb_func 10419 HAL_UART_Receive_DMA: 10420 .LVL906: 10421 .LFB142: 1407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 10422 .loc 1 1407 1 is_stmt 1 view -0 10423 .cfi_startproc 10424 @ args = 0, pretend = 0, frame = 0 10425 @ frame_needed = 0, uses_anonymous_args = 0 1407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 10426 .loc 1 1407 1 is_stmt 0 view .LVU3450 10427 0000 38B5 push {r3, r4, r5, lr} 10428 .cfi_def_cfa_offset 16 10429 .cfi_offset 3, -16 10430 .cfi_offset 4, -12 10431 .cfi_offset 5, -8 10432 .cfi_offset 14, -4 1409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10433 .loc 1 1409 3 is_stmt 1 view .LVU3451 1409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10434 .loc 1 1409 12 is_stmt 0 view .LVU3452 10435 0002 D0F88030 ldr r3, [r0, #128] 1409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10436 .loc 1 1409 6 view .LVU3453 10437 0006 202B cmp r3, #32 10438 0008 14D1 bne .L539 1411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10439 .loc 1 1411 5 is_stmt 1 view .LVU3454 1411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10440 .loc 1 1411 8 is_stmt 0 view .LVU3455 10441 000a A9B1 cbz r1, .L540 1411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10442 .loc 1 1411 25 discriminator 1 view .LVU3456 10443 000c B2B1 cbz r2, .L541 1417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10444 .loc 1 1417 5 is_stmt 1 view .LVU3457 1417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10445 .loc 1 1417 26 is_stmt 0 view .LVU3458 10446 000e 0023 movs r3, #0 10447 0010 0366 str r3, [r0, #96] 1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10448 .loc 1 1420 5 is_stmt 1 view .LVU3459 1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10449 .loc 1 1420 9 is_stmt 0 view .LVU3460 10450 0012 0368 ldr r3, [r0] ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 328 10451 0014 5B68 ldr r3, [r3, #4] 1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10452 .loc 1 1420 8 view .LVU3461 10453 0016 13F4000F tst r3, #8388608 10454 001a 08D0 beq .L537 10455 .L538: 1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10456 .loc 1 1423 7 is_stmt 1 discriminator 1 view .LVU3462 10457 .LBB822: 1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10458 .loc 1 1423 7 discriminator 1 view .LVU3463 1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10459 .loc 1 1423 7 discriminator 1 view .LVU3464 1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10460 .loc 1 1423 7 discriminator 1 view .LVU3465 10461 001c 0468 ldr r4, [r0] 10462 .LVL907: 10463 .LBB823: 10464 .LBI823: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10465 .loc 2 1068 31 discriminator 1 view .LVU3466 10466 .LBB824: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 10467 .loc 2 1070 5 discriminator 1 view .LVU3467 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10468 .loc 2 1072 4 discriminator 1 view .LVU3468 10469 .syntax unified 10470 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10471 001e 54E8003F ldrex r3, [r4] 10472 @ 0 "" 2 10473 .LVL908: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10474 .loc 2 1073 4 discriminator 1 view .LVU3469 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10475 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU3470 10476 .thumb 10477 .syntax unified 10478 .LBE824: 10479 .LBE823: 1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10480 .loc 1 1423 7 discriminator 1 view .LVU3471 10481 0022 43F08063 orr r3, r3, #67108864 10482 .LVL909: 1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10483 .loc 1 1423 7 is_stmt 1 discriminator 1 view .LVU3472 10484 .LBB825: 10485 .LBI825: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10486 .loc 2 1119 31 discriminator 1 view .LVU3473 10487 .LBB826: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 10488 .loc 2 1121 4 discriminator 1 view .LVU3474 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10489 .loc 2 1123 4 discriminator 1 view .LVU3475 10490 .syntax unified 10491 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10492 0026 44E80035 strex r5, r3, [r4] ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 329 10493 @ 0 "" 2 10494 .LVL910: 10495 .loc 2 1124 4 discriminator 1 view .LVU3476 10496 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU3477 10497 .thumb 10498 .syntax unified 10499 .LBE826: 10500 .LBE825: 1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10501 .loc 1 1423 7 discriminator 1 view .LVU3478 10502 002a 002D cmp r5, #0 10503 002c F6D1 bne .L538 10504 .LVL911: 10505 .L537: 1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10506 .loc 1 1423 7 discriminator 1 view .LVU3479 10507 .LBE822: 1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10508 .loc 1 1423 7 is_stmt 1 discriminator 2 view .LVU3480 1426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10509 .loc 1 1426 5 discriminator 2 view .LVU3481 1426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10510 .loc 1 1426 13 is_stmt 0 discriminator 2 view .LVU3482 10511 002e FFF7FEFF bl UART_Start_Receive_DMA 10512 .LVL912: 1426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10513 .loc 1 1426 13 discriminator 2 view .LVU3483 10514 0032 00E0 b .L536 10515 .LVL913: 10516 .L539: 1430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10517 .loc 1 1430 12 view .LVU3484 10518 0034 0220 movs r0, #2 10519 .LVL914: 10520 .L536: 1432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10521 .loc 1 1432 1 view .LVU3485 10522 0036 38BD pop {r3, r4, r5, pc} 10523 .LVL915: 10524 .L540: 1413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10525 .loc 1 1413 14 view .LVU3486 10526 0038 0120 movs r0, #1 10527 .LVL916: 1413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10528 .loc 1 1413 14 view .LVU3487 10529 003a FCE7 b .L536 10530 .LVL917: 10531 .L541: 1413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10532 .loc 1 1413 14 view .LVU3488 10533 003c 0120 movs r0, #1 10534 .LVL918: 1413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10535 .loc 1 1413 14 view .LVU3489 10536 003e FAE7 b .L536 10537 .cfi_endproc ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 330 10538 .LFE142: 10540 .text 10541 .Letext0: 10542 .file 3 "c:\\users\\nived\\appdata\\roaming\\code\\user\\globalstorage\\bmd.stm32-for-vscode\\@xpa 10543 .file 4 "c:\\users\\nived\\appdata\\roaming\\code\\user\\globalstorage\\bmd.stm32-for-vscode\\@xpa 10544 .file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h" 10545 .file 6 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f3xx.h" 10546 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h" 10547 .file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_dma.h" 10548 .file 9 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_uart.h" 10549 .file 10 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_rcc.h" 10550 .file 11 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal.h" 10551 .file 12 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_uart_ex.h" ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 331 DEFINED SYMBOLS *ABS*:00000000 stm32f3xx_hal_uart.c C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:21 .text.UART_EndTxTransfer:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:26 .text.UART_EndTxTransfer:00000000 UART_EndTxTransfer C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:98 .text.UART_EndRxTransfer:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:103 .text.UART_EndRxTransfer:00000000 UART_EndRxTransfer C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:298 .text.UART_TxISR_8BIT:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:303 .text.UART_TxISR_8BIT:00000000 UART_TxISR_8BIT C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:463 .text.UART_TxISR_16BIT:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:468 .text.UART_TxISR_16BIT:00000000 UART_TxISR_16BIT C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:635 .text.HAL_UART_MspInit:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:641 .text.HAL_UART_MspInit:00000000 HAL_UART_MspInit C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:656 .text.HAL_UART_MspDeInit:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:662 .text.HAL_UART_MspDeInit:00000000 HAL_UART_MspDeInit C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:677 .text.HAL_UART_DeInit:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:683 .text.HAL_UART_DeInit:00000000 HAL_UART_DeInit C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:770 .text.HAL_UART_Transmit_IT:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:776 .text.HAL_UART_Transmit_IT:00000000 HAL_UART_Transmit_IT C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:920 .text.HAL_UART_Transmit_IT:0000005c $d C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:926 .text.HAL_UART_Transmit_DMA:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:932 .text.HAL_UART_Transmit_DMA:00000000 HAL_UART_Transmit_DMA C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:1130 .text.HAL_UART_Transmit_DMA:0000008c $d C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:2938 .text.UART_DMATransmitCplt:00000000 UART_DMATransmitCplt C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:3206 .text.UART_DMATxHalfCplt:00000000 UART_DMATxHalfCplt C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:3300 .text.UART_DMAError:00000000 UART_DMAError C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:1137 .text.HAL_UART_DMAPause:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:1143 .text.HAL_UART_DMAPause:00000000 HAL_UART_DMAPause C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:1434 .text.HAL_UART_DMAResume:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:1440 .text.HAL_UART_DMAResume:00000000 HAL_UART_DMAResume C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:1713 .text.HAL_UART_DMAStop:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:1719 .text.HAL_UART_DMAStop:00000000 HAL_UART_DMAStop C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:1966 .text.HAL_UART_Abort:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:1972 .text.HAL_UART_Abort:00000000 HAL_UART_Abort C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:2399 .text.HAL_UART_AbortTransmit:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:2405 .text.HAL_UART_AbortTransmit:00000000 HAL_UART_AbortTransmit C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:2590 .text.HAL_UART_AbortReceive:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:2596 .text.HAL_UART_AbortReceive:00000000 HAL_UART_AbortReceive C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:2912 .text.HAL_UART_TxCpltCallback:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:2918 .text.HAL_UART_TxCpltCallback:00000000 HAL_UART_TxCpltCallback C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:2933 .text.UART_DMATransmitCplt:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:3093 .text.UART_EndTransmit_IT:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:3098 .text.UART_EndTransmit_IT:00000000 UART_EndTransmit_IT C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:3180 .text.HAL_UART_TxHalfCpltCallback:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:3186 .text.HAL_UART_TxHalfCpltCallback:00000000 HAL_UART_TxHalfCpltCallback C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:3201 .text.UART_DMATxHalfCplt:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:3232 .text.HAL_UART_RxCpltCallback:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:3238 .text.HAL_UART_RxCpltCallback:00000000 HAL_UART_RxCpltCallback C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:3253 .text.HAL_UART_RxHalfCpltCallback:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:3259 .text.HAL_UART_RxHalfCpltCallback:00000000 HAL_UART_RxHalfCpltCallback C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:3274 .text.HAL_UART_ErrorCallback:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:3280 .text.HAL_UART_ErrorCallback:00000000 HAL_UART_ErrorCallback C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:3295 .text.UART_DMAError:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:3389 .text.UART_DMAAbortOnError:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:3394 .text.UART_DMAAbortOnError:00000000 UART_DMAAbortOnError C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:3426 .text.HAL_UART_AbortCpltCallback:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:3432 .text.HAL_UART_AbortCpltCallback:00000000 HAL_UART_AbortCpltCallback C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:3447 .text.HAL_UART_Abort_IT:00000000 $t ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 332 C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:3453 .text.HAL_UART_Abort_IT:00000000 HAL_UART_Abort_IT C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:3928 .text.HAL_UART_Abort_IT:00000128 $d C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:4016 .text.UART_DMATxAbortCallback:00000000 UART_DMATxAbortCallback C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:3939 .text.UART_DMARxAbortCallback:00000000 UART_DMARxAbortCallback C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:3934 .text.UART_DMARxAbortCallback:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:4011 .text.UART_DMATxAbortCallback:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:4083 .text.HAL_UART_AbortTransmitCpltCallback:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:4089 .text.HAL_UART_AbortTransmitCpltCallback:00000000 HAL_UART_AbortTransmitCpltCallback C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:4104 .text.HAL_UART_AbortTransmit_IT:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:4110 .text.HAL_UART_AbortTransmit_IT:00000000 HAL_UART_AbortTransmit_IT C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:4317 .text.HAL_UART_AbortTransmit_IT:0000007c $d C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:4327 .text.UART_DMATxOnlyAbortCallback:00000000 UART_DMATxOnlyAbortCallback C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:4322 .text.UART_DMATxOnlyAbortCallback:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:4360 .text.HAL_UART_AbortReceiveCpltCallback:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:4366 .text.HAL_UART_AbortReceiveCpltCallback:00000000 HAL_UART_AbortReceiveCpltCallback C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:4381 .text.HAL_UART_AbortReceive_IT:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:4387 .text.HAL_UART_AbortReceive_IT:00000000 HAL_UART_AbortReceive_IT C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:4731 .text.HAL_UART_AbortReceive_IT:000000c8 $d C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:4741 .text.UART_DMARxOnlyAbortCallback:00000000 UART_DMARxOnlyAbortCallback C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:4736 .text.UART_DMARxOnlyAbortCallback:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:4786 .text.HAL_UARTEx_RxEventCallback:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:4792 .text.HAL_UARTEx_RxEventCallback:00000000 HAL_UARTEx_RxEventCallback C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:4808 .text.HAL_UART_IRQHandler:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:4814 .text.HAL_UART_IRQHandler:00000000 HAL_UART_IRQHandler C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:5735 .text.HAL_UART_IRQHandler:000002e0 $d C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:5741 .text.UART_RxISR_8BIT:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:5746 .text.UART_RxISR_8BIT:00000000 UART_RxISR_8BIT C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:6096 .text.UART_RxISR_16BIT:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:6101 .text.UART_RxISR_16BIT:00000000 UART_RxISR_16BIT C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:6452 .text.UART_DMARxHalfCplt:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:6457 .text.UART_DMARxHalfCplt:00000000 UART_DMARxHalfCplt C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:6504 .text.UART_DMAReceiveCplt:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:6509 .text.UART_DMAReceiveCplt:00000000 UART_DMAReceiveCplt C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:6802 .text.HAL_UART_ReceiverTimeout_Config:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:6808 .text.HAL_UART_ReceiverTimeout_Config:00000000 HAL_UART_ReceiverTimeout_Config C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:6829 .text.HAL_UART_EnableReceiverTimeout:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:6835 .text.HAL_UART_EnableReceiverTimeout:00000000 HAL_UART_EnableReceiverTimeout C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:6900 .text.HAL_UART_DisableReceiverTimeout:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:6906 .text.HAL_UART_DisableReceiverTimeout:00000000 HAL_UART_DisableReceiverTimeout C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:6971 .text.HAL_MultiProcessor_EnterMuteMode:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:6977 .text.HAL_MultiProcessor_EnterMuteMode:00000000 HAL_MultiProcessor_EnterMuteMode C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:6996 .text.HAL_HalfDuplex_EnableTransmitter:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:7002 .text.HAL_HalfDuplex_EnableTransmitter:00000000 HAL_HalfDuplex_EnableTransmitter C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:7155 .text.HAL_HalfDuplex_EnableReceiver:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:7161 .text.HAL_HalfDuplex_EnableReceiver:00000000 HAL_HalfDuplex_EnableReceiver C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:7314 .text.HAL_LIN_SendBreak:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:7320 .text.HAL_LIN_SendBreak:00000000 HAL_LIN_SendBreak C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:7373 .text.HAL_UART_GetState:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:7379 .text.HAL_UART_GetState:00000000 HAL_UART_GetState C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:7407 .text.HAL_UART_GetError:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:7413 .text.HAL_UART_GetError:00000000 HAL_UART_GetError C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:7431 .text.UART_SetConfig:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:7437 .text.UART_SetConfig:00000000 UART_SetConfig C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:7549 .text.UART_SetConfig:00000076 $d C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:7553 .text.UART_SetConfig:0000007a $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:7606 .text.UART_SetConfig:000000b8 $d C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:7738 .text.UART_SetConfig:0000018a $d ARM GAS C:\Users\nived\AppData\Local\Temp\ccN39WgE.s page 333 C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:7926 .text.UART_SetConfig:00000234 $d C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:7937 .text.UART_AdvFeatureConfig:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:7943 .text.UART_AdvFeatureConfig:00000000 UART_AdvFeatureConfig C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:8095 .text.UART_WaitOnFlagUntilTimeout:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:8101 .text.UART_WaitOnFlagUntilTimeout:00000000 UART_WaitOnFlagUntilTimeout C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:8232 .text.HAL_UART_Transmit:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:8238 .text.HAL_UART_Transmit:00000000 HAL_UART_Transmit C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:8449 .text.HAL_UART_Receive:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:8455 .text.HAL_UART_Receive:00000000 HAL_UART_Receive C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:8696 .text.UART_CheckIdleState:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:8702 .text.UART_CheckIdleState:00000000 UART_CheckIdleState C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:9003 .text.HAL_UART_Init:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:9009 .text.HAL_UART_Init:00000000 HAL_UART_Init C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:9110 .text.HAL_HalfDuplex_Init:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:9116 .text.HAL_HalfDuplex_Init:00000000 HAL_HalfDuplex_Init C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:9222 .text.HAL_LIN_Init:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:9228 .text.HAL_LIN_Init:00000000 HAL_LIN_Init C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:9377 .text.HAL_MultiProcessor_Init:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:9383 .text.HAL_MultiProcessor_Init:00000000 HAL_MultiProcessor_Init C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:9509 .text.HAL_MultiProcessor_EnableMuteMode:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:9515 .text.HAL_MultiProcessor_EnableMuteMode:00000000 HAL_MultiProcessor_EnableMuteMode C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:9615 .text.HAL_MultiProcessor_DisableMuteMode:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:9621 .text.HAL_MultiProcessor_DisableMuteMode:00000000 HAL_MultiProcessor_DisableMuteMode C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:9721 .text.UART_Start_Receive_IT:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:9727 .text.UART_Start_Receive_IT:00000000 UART_Start_Receive_IT C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:9995 .text.UART_Start_Receive_IT:000000b4 $d C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:10002 .text.HAL_UART_Receive_IT:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:10008 .text.HAL_UART_Receive_IT:00000000 HAL_UART_Receive_IT C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:10130 .text.UART_Start_Receive_DMA:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:10136 .text.UART_Start_Receive_DMA:00000000 UART_Start_Receive_DMA C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:10406 .text.UART_Start_Receive_DMA:0000009c $d C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:10413 .text.HAL_UART_Receive_DMA:00000000 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:10419 .text.HAL_UART_Receive_DMA:00000000 HAL_UART_Receive_DMA C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:7616 .text.UART_SetConfig:000000c1 $d C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:7616 .text.UART_SetConfig:000000c2 $t C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:7747 .text.UART_SetConfig:00000193 $d C:\Users\nived\AppData\Local\Temp\ccN39WgE.s:7747 .text.UART_SetConfig:00000194 $t UNDEFINED SYMBOLS HAL_DMA_Start_IT HAL_DMA_Abort HAL_DMA_GetError HAL_DMA_Abort_IT HAL_UARTEx_WakeupCallback HAL_RCC_GetPCLK1Freq HAL_RCC_GetPCLK2Freq HAL_RCC_GetSysClockFreq HAL_GetTick